1
0
Fork 0
mirror of https://github.com/iiab/iiab.git synced 2025-02-13 11:42:08 +00:00

Merge pull request #2514 from holta/lokole_sync

Lokole sync, building on PRs #2507 & #2513
This commit is contained in:
A Holt 2020-09-10 03:33:57 -04:00 committed by GitHub
commit 8ab73eaf2e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 69 additions and 8 deletions

View file

@ -72,14 +72,16 @@
- "{{ lokole_venv }}/lib/python${python_version}/site-packages/opwen_email_client/webapp"
- name: mkdir {{ lokole_run_directory }}
file:
file:
state: directory
path: "{{ lokole_run_directory }}"
#mode: a+x # Not nec, given above 'state: directory'
- name: Install {{ lokole_run_directory }}/webapp_secrets.sh from template, to configure Lokole
template:
src: webapp_secrets.sh.j2
dest: "{{ lokole_run_directory }}/webapp_secrets.sh"
mode: a+x
- name: Install {{ lokole_run_directory }}/webapp.sh from template, to configure Gunicorn
template:
@ -96,12 +98,19 @@
template:
src: lokole.conf.j2
dest: "/etc/{{ apache_conf_dir }}/lokole.conf"
mode: 0644
when: apache_install | bool
- name: Install /etc/systemd/system/lokole.service unit file from template
- name: Install unit files {lokole.service, celery.service, celerybeat.service, lokole_restarter.service} into /etc/systemd/system, from template
template:
src: lokole.service.j2
dest: /etc/systemd/system/lokole.service
src: "{{ item.src }}"
dest: "{{ item.dest}}"
mode: 0644
with_items:
- { src: 'lokole.service.j2', dest: '/etc/systemd/system/lokole.service' }
- { src: 'celery.service.j2', dest: '/etc/systemd/system/celery.service' }
- { src: 'celerybeat.service.j2', dest: '/etc/systemd/system/celerybeat.service' }
- { src: 'lokole_restarter.service.j2', dest: '/etc/systemd/system/lokole_restarter.service' }
# RECORD Lokole AS INSTALLED

View file

@ -24,20 +24,34 @@
when: lokole_installed is undefined
- name: Enable & Restart 'lokole' systemd service, if lokole_enabled
- name: Do a 'systemctl daemon-reload' if lokole_enabled
systemd:
name: lokole
daemon_reload: yes
when: lokole_enabled | bool
- name: Enable & Restart {lokole, celery, celerybeat, lokole_restarter} systemd services, if lokole_enabled
systemd:
name: "{{ item }}"
enabled: yes
state: restarted
when: lokole_enabled | bool
with_items:
- lokole
- celery
- celerybeat
- lokole_restarter
- name: Disable & Stop 'lokole' systemd service, if not lokole_enabled
- name: Disable & Stop all 4 (above) systemd services, if not lokole_enabled
systemd:
name: lokole
name: "{{ item }}"
enabled: no
state: stopped
when: not lokole_enabled
with_items: # @jvonau prefers reverse starting order, if stopping these 4
- lokole_restarter
- celerybeat
- celery
- lokole
#- name: Enable/Disable/Restart Apache if primary
- name: SHIM FOR NOW SO ALWAYS DO THE...Enable/Disable/Restart Apache

View file

@ -0,0 +1,14 @@
[Unit]
Description=Celery service
After=network.target
After=lokole.service
Before=celerybeat.service
[Service]
Type=simple
ExecStart={{ lokole_venv }}/bin/celery --app=opwen_email_client.webapp.tasks worker --loglevel=info --concurrency=2
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill TERM $MAINPID
[Install]
WantedBy=multi-user.target

View file

@ -0,0 +1,12 @@
[Unit]
Description=Celery beat timed service
After=network.target
After=celery.service
Before=lokole_restarter.service
[Service]
Type=simple
ExecStart={{ lokole_venv }}/bin/celery --app=opwen_email_client.webapp.tasks beat --loglevel=info
[Install]
WantedBy=multi-user.target

View file

@ -0,0 +1,12 @@
[Unit]
Description=Lokole webapp restarter
After=network.target
After=celerybeat.service
[Service]
Type=simple
WorkingDirectory={{ lokole_run_directory }}
ExecStart={{ lokole_venv }}/bin/manage.py restarter --directory={{ lokole_run_directory }}
[Install]
WantedBy=multi-user.target