Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade Lokole's Python dependencies #3276

Merged
merged 8 commits into from
Sep 27, 2022
1 change: 1 addition & 0 deletions roles/lokole/defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
# https://pypi.org/project/opwen-email-client/ ...OR... HARDCODE EITHER HERE:
#lokole_commit: # OPTIONAL: a 40-char git hash, from https://github.com/ascoderu/lokole/commits/master
#lokole_version: # OPTIONAL: e.g. master or 0.5.10 or a version number from https://pypi.org/project/opwen-email-client/#history
lokole_repo: https://github.com/ascoderu/lokole.git # the lokole git repo location to pull from if lokole_commit is defined

lokole_admin_user: admin # lowercase is nec here (even though uppercase Admin/changeme is IIAB's OOB recommendation: BOTH WORK to log in to http://box/lokole)
lokole_admin_password: changeme
Expand Down
15 changes: 2 additions & 13 deletions roles/lokole/tasks/install.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,27 +23,16 @@
- wvdial
state: present

- name: "workarounds for older flask version used"
pip:
name: "{{ item.name }}"
version: "{{ item.version }}"
virtualenv: "{{ lokole_venv }}"
virtualenv_command: python3 -m venv "{{ lokole_venv }}"
extra_args: --no-cache-dir # To avoid caching issues e.g. soon after new releases hit https://pypi.org/project/opwen-email-client/
with_items:
- { name: 'itsdangerous', version: '2.0.1' }
- { name: 'Jinja2', version: '3.0.3' }


# For development purposes -- To install Lokole from a given commit, add the
# following line to roles/lokole/defaults/main.yml:
# lokole_commit: <git_commit_id>
- name: "OPTIONAL: pip install opwen_email_client (Lokole, git commit {{ lokole_commit }}) from GitHub to {{ lokole_venv }}, if lokole_commit is defined"
pip:
name: "git+https://github.com/ascoderu/lokole.git@{{ lokole_commit }}#egg=opwen_email_client"
name: "git+{{ lokole_repo }}@{{ lokole_commit }}#egg=opwen_email_client"
virtualenv: "{{ lokole_venv }}"
virtualenv_command: python3 -m venv "{{ lokole_venv }}"
extra_args: --no-cache-dir # To avoid caching issues e.g. soon after new releases hit https://pypi.org/project/opwen-email-client/
extra_args: --no-cache-dir --force-reinstall # To avoid caching issues e.g. soon after new releases hit https://pypi.org/project/opwen-email-client/
when: lokole_commit is defined

# For development purposes -- To install a given pip version of Lokole, add
Expand Down
5 changes: 4 additions & 1 deletion roles/lokole/tasks/setup.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,10 @@
- name: Create Lokole admin user with password, for http://box{{ lokole_url }} # http://box/lokole
shell: |
while read envvar; do export "$envvar"; done < {{ lokole_run_dir }}/settings.env
{{ lokole_venv }}/bin/manage.py createadmin --name='{{ lokole_admin_user }}' --password='{{ lokole_admin_password }}'
python_version=$(python3 -c 'from sys import version_info; print("%s.%s" % (version_info.major, version_info.minor));';)
cd {{ lokole_venv }}/lib/python${python_version}/site-packages/
export FLASK_APP="opwen_email_client.webapp:app"
{{ lokole_venv }}/bin/flask manage createadmin --name='{{ lokole_admin_user }}' --password='{{ lokole_admin_password }}'

- name: Change owner of dbfiles
file:
Expand Down
4 changes: 2 additions & 2 deletions roles/lokole/templates/lokole_restarter.conf
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
[program:lokole_restarter]
command={{ lokole_venv }}/bin/manage.py restarter --directory={{ lokole_run_dir }}/lokole_restarter
command={{ lokole_venv }}/bin/flask manage restarter --directory={{ lokole_run_dir }}/lokole_restarter
autostart=true
autorestart=true
startretries=3
stopasgroup=true
stderr_logfile={{ lokole_log_dir }}/lokole_restarter.stderr.log
stdout_logfile={{ lokole_log_dir }}/lokole_restarter.stdout.log
user=root
environment=OPWEN_SETTINGS={{ lokole_settings }}
environment=FLASK_APP="opwen_email_client.webapp",OPWEN_SETTINGS={{ lokole_settings }}