From fe1f037e169c3dbe3f597752b386ca3da02ecdb6 Mon Sep 17 00:00:00 2001 From: Vagrant Default User Date: Wed, 2 Sep 2020 07:51:57 +0000 Subject: [PATCH 01/25] add celery service --- roles/lokole/tasks/install.yml | 26 ++++++++++++++++++-- roles/lokole/tasks/main.yml | 14 +++++++++++ roles/lokole/templates/celery.service.j2 | 12 +++++++++ roles/lokole/templates/celerybeat.service.j2 | 10 ++++++++ roles/lokole/templates/celerybeat.sh.j2 | 6 +++++ roles/lokole/templates/run-celery.sh.j2 | 7 ++++++ 6 files changed, 73 insertions(+), 2 deletions(-) create mode 100644 roles/lokole/templates/celery.service.j2 create mode 100644 roles/lokole/templates/celerybeat.service.j2 create mode 100644 roles/lokole/templates/celerybeat.sh.j2 create mode 100644 roles/lokole/templates/run-celery.sh.j2 diff --git a/roles/lokole/tasks/install.yml b/roles/lokole/tasks/install.yml index dcb4c1106..05ae02fa8 100644 --- a/roles/lokole/tasks/install.yml +++ b/roles/lokole/tasks/install.yml @@ -72,7 +72,7 @@ - "{{ 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 }}" @@ -87,6 +87,28 @@ dest: "{{ lokole_run_directory }}/webapp.sh" mode: a+x +- name: Install {{ lokole_run_directory }}/run-celery.sh from template + template: + src: run-celery.sh.j2 + dest: "{{ lokole_run_directory }}/run-celery.sh" + mode: a+x + +- name: Install {{ lokole_run_directory }}/celerybeat.sh from template + template: + src: celerybeat.sh.j2 + dest: "{{ lokole_run_directory }}/celerybeat.sh" + mode: a+x + +- name: Install /etc/systemd/system/celery.service unit file from template + template: + src: celery.service.j2 + dest: /etc/systemd/system/celery.service + +- name: Install /etc/systemd/system/celerybeat.service unit file from template + template: + src: celerybeat.service.j2 + dest: /etc/systemd/system/celerybeat.service + - name: Create admin user with password, for http://box{{ lokole_url }} # http://box/lokole shell: | . {{ lokole_run_directory }}/webapp_secrets.sh @@ -110,7 +132,7 @@ set_fact: lokole_installed: True -- name: "Add 'lokole_installed: True' to {{ iiab_state_file }}" +- name: "Add 'lokole_insta lled: True' to {{ iiab_state_file }}" lineinfile: path: "{{ iiab_state_file }}" # /etc/iiab/iiab_state.yml regexp: '^lokole_installed' diff --git a/roles/lokole/tasks/main.yml b/roles/lokole/tasks/main.yml index 603982713..3ad999873 100644 --- a/roles/lokole/tasks/main.yml +++ b/roles/lokole/tasks/main.yml @@ -32,6 +32,20 @@ state: restarted when: lokole_enabled | bool +- name: Enable and start celery systemd service + systemd: + name: celery + enabled: yes + state: restarted + when: lokole_enabled | bool + +- name: Enable celery beat service + systemd: + name: celerybeat + enabled: yes + state: started + when: lokole_enabled | bool + - name: Disable & Stop 'lokole' systemd service, if not lokole_enabled systemd: name: lokole diff --git a/roles/lokole/templates/celery.service.j2 b/roles/lokole/templates/celery.service.j2 new file mode 100644 index 000000000..5d542c696 --- /dev/null +++ b/roles/lokole/templates/celery.service.j2 @@ -0,0 +1,12 @@ +[Unit] +Description=Celery service +After=network.target + +[Service] +Type=simple +ExecStart=/bin/bash {{ lokole_run_directory }}/run-celery.sh +ExecReload=/bin/kill -s HUP $MAINPID +ExecStop=/bin/kill TERM $MAINPID + +[Install] +WantedBy=multi-user.target diff --git a/roles/lokole/templates/celerybeat.service.j2 b/roles/lokole/templates/celerybeat.service.j2 new file mode 100644 index 000000000..d54007144 --- /dev/null +++ b/roles/lokole/templates/celerybeat.service.j2 @@ -0,0 +1,10 @@ +[Unit] +Description=Celery beat timed service +After=network.target + +[Service] +Type=simple +ExecStart=/bin/bash {{ lokole_run_directory }}/celerybeat.sh + +[Install] +WantedBy=multi-user.target diff --git a/roles/lokole/templates/celerybeat.sh.j2 b/roles/lokole/templates/celerybeat.sh.j2 new file mode 100644 index 000000000..f391cd4fd --- /dev/null +++ b/roles/lokole/templates/celerybeat.sh.j2 @@ -0,0 +1,6 @@ +#!/usr/bin/env sh + +'{{lokole_venv}}/bin/celery' \ + '--app=opwen_email_client.webapp.tasks' \ + 'beat' \ + '--loglevel=info' diff --git a/roles/lokole/templates/run-celery.sh.j2 b/roles/lokole/templates/run-celery.sh.j2 new file mode 100644 index 000000000..c401756f9 --- /dev/null +++ b/roles/lokole/templates/run-celery.sh.j2 @@ -0,0 +1,7 @@ +#!/usr/bin/env sh + +'{{lokole_venv}}/bin/celery' \ + '--app=opwen_email_client.webapp.tasks' \ + 'worker' \ + '--loglevel=info' \ + '--concurrency=2' From 88779966a1c2ba23af97fe32e1ddf04ee0709908 Mon Sep 17 00:00:00 2001 From: Adam Sclafani Date: Sun, 6 Sep 2020 13:00:54 -1000 Subject: [PATCH 02/25] add webapp restarter daemon --- roles/lokole/tasks/install.yml | 11 +++++++++++ roles/lokole/tasks/main.yml | 7 +++++++ roles/lokole/templates/restarter.service.j2 | 10 ++++++++++ roles/lokole/templates/webapp-restart.sh.j2 | 5 +++++ 4 files changed, 33 insertions(+) create mode 100644 roles/lokole/templates/restarter.service.j2 create mode 100644 roles/lokole/templates/webapp-restart.sh.j2 diff --git a/roles/lokole/tasks/install.yml b/roles/lokole/tasks/install.yml index 05ae02fa8..c436ea6d0 100644 --- a/roles/lokole/tasks/install.yml +++ b/roles/lokole/tasks/install.yml @@ -93,6 +93,12 @@ dest: "{{ lokole_run_directory }}/run-celery.sh" mode: a+x +- name: Install {{ lokole_run_directory }}/webapp-restart.sh from template + template: + src: webapp-restart.sh.j2 + dest: "{{ lokole_run_directory }}/webapp-restart.sh" + mode: a+x + - name: Install {{ lokole_run_directory }}/celerybeat.sh from template template: src: celerybeat.sh.j2 @@ -109,6 +115,11 @@ src: celerybeat.service.j2 dest: /etc/systemd/system/celerybeat.service +- name: Install /etc/systemd/system/restarter.service unit file from template + template: + src: restarter.service.j2 + dest: /etc/systemd/system/restarter.service + - name: Create admin user with password, for http://box{{ lokole_url }} # http://box/lokole shell: | . {{ lokole_run_directory }}/webapp_secrets.sh diff --git a/roles/lokole/tasks/main.yml b/roles/lokole/tasks/main.yml index 3ad999873..d7fd5a372 100644 --- a/roles/lokole/tasks/main.yml +++ b/roles/lokole/tasks/main.yml @@ -46,6 +46,13 @@ state: started when: lokole_enabled | bool +- name: Enable restarter service + systemd: + name: restarter + enabled: yes + state: started + when: lokole_enabled | bool + - name: Disable & Stop 'lokole' systemd service, if not lokole_enabled systemd: name: lokole diff --git a/roles/lokole/templates/restarter.service.j2 b/roles/lokole/templates/restarter.service.j2 new file mode 100644 index 000000000..1469e6f92 --- /dev/null +++ b/roles/lokole/templates/restarter.service.j2 @@ -0,0 +1,10 @@ +[Unit] +Description=Lokole webapp restarter +After=network.target + +[Service] +Type=simple +ExecStart=/bin/bash {{ lokole_run_directory }}/webapp-restart.sh + +[Install] +WantedBy=multi-user.target diff --git a/roles/lokole/templates/webapp-restart.sh.j2 b/roles/lokole/templates/webapp-restart.sh.j2 new file mode 100644 index 000000000..7b0fdce6b --- /dev/null +++ b/roles/lokole/templates/webapp-restart.sh.j2 @@ -0,0 +1,5 @@ +#!/usr/bin/env sh + +'{{lokole_venv}}/bin/manage.py' \ + 'restarter' \ + '--directory={{lokole_run_directory}}' From de7d0ee4662677738c1e823aa63aed945ce10948 Mon Sep 17 00:00:00 2001 From: Adam Sclafani Date: Sun, 6 Sep 2020 13:19:04 -1000 Subject: [PATCH 03/25] fix typo --- roles/lokole/tasks/install.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/lokole/tasks/install.yml b/roles/lokole/tasks/install.yml index c436ea6d0..2f00bbf0a 100644 --- a/roles/lokole/tasks/install.yml +++ b/roles/lokole/tasks/install.yml @@ -143,7 +143,7 @@ set_fact: lokole_installed: True -- name: "Add 'lokole_insta lled: True' to {{ iiab_state_file }}" +- name: "Add 'lokole_installed: True' to {{ iiab_state_file }}" lineinfile: path: "{{ iiab_state_file }}" # /etc/iiab/iiab_state.yml regexp: '^lokole_installed' From 968d2892d95066083ad1a20f00faa56566ff0741 Mon Sep 17 00:00:00 2001 From: Jerry Vonau Date: Wed, 9 Sep 2020 14:06:50 +0100 Subject: [PATCH 04/25] try cmdline in service file without helper scripts --- roles/lokole/tasks/install.yml | 48 +++++--------------- roles/lokole/tasks/main.yml | 11 +++-- roles/lokole/templates/celery.service.j2 | 2 +- roles/lokole/templates/celerybeat.service.j2 | 2 +- roles/lokole/templates/restarter.service.j2 | 3 +- 5 files changed, 24 insertions(+), 42 deletions(-) diff --git a/roles/lokole/tasks/install.yml b/roles/lokole/tasks/install.yml index 2f00bbf0a..6c9f7b7bb 100644 --- a/roles/lokole/tasks/install.yml +++ b/roles/lokole/tasks/install.yml @@ -75,11 +75,13 @@ file: state: directory path: "{{ lokole_run_directory }}" + mode: a+x - 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: @@ -87,39 +89,6 @@ dest: "{{ lokole_run_directory }}/webapp.sh" mode: a+x -- name: Install {{ lokole_run_directory }}/run-celery.sh from template - template: - src: run-celery.sh.j2 - dest: "{{ lokole_run_directory }}/run-celery.sh" - mode: a+x - -- name: Install {{ lokole_run_directory }}/webapp-restart.sh from template - template: - src: webapp-restart.sh.j2 - dest: "{{ lokole_run_directory }}/webapp-restart.sh" - mode: a+x - -- name: Install {{ lokole_run_directory }}/celerybeat.sh from template - template: - src: celerybeat.sh.j2 - dest: "{{ lokole_run_directory }}/celerybeat.sh" - mode: a+x - -- name: Install /etc/systemd/system/celery.service unit file from template - template: - src: celery.service.j2 - dest: /etc/systemd/system/celery.service - -- name: Install /etc/systemd/system/celerybeat.service unit file from template - template: - src: celerybeat.service.j2 - dest: /etc/systemd/system/celerybeat.service - -- name: Install /etc/systemd/system/restarter.service unit file from template - template: - src: restarter.service.j2 - dest: /etc/systemd/system/restarter.service - - name: Create admin user with password, for http://box{{ lokole_url }} # http://box/lokole shell: | . {{ lokole_run_directory }}/webapp_secrets.sh @@ -129,12 +98,19 @@ template: src: lokole.conf.j2 dest: "/etc/{{ apache_conf_dir }}/lokole.conf" + mode: 0666 when: apache_install | bool -- name: Install /etc/systemd/system/lokole.service unit file from template +- name: Install lokole's unit service files template: - src: lokole.service.j2 - dest: /etc/systemd/system/lokole.service + src: "{{ item.src }}" + dest: "{{ item.dest}}" + mode: 0666 + 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: 'restarter.service.j2', dest: '/etc/systemd/system/lokole_restarter.service' } # RECORD Lokole AS INSTALLED diff --git a/roles/lokole/tasks/main.yml b/roles/lokole/tasks/main.yml index d7fd5a372..fd9490f83 100644 --- a/roles/lokole/tasks/main.yml +++ b/roles/lokole/tasks/main.yml @@ -36,7 +36,7 @@ systemd: name: celery enabled: yes - state: restarted + state: started when: lokole_enabled | bool - name: Enable celery beat service @@ -48,17 +48,22 @@ - name: Enable restarter service systemd: - name: restarter + name: lokole_restarter enabled: yes state: started when: lokole_enabled | bool - name: Disable & Stop 'lokole' systemd service, if not lokole_enabled systemd: - name: lokole + name: "{{ item }}" enabled: no state: stopped when: not lokole_enabled + with_items: + - lokole_restarter + - celerybeat + - celery + - lokole #- name: Enable/Disable/Restart Apache if primary - name: SHIM FOR NOW SO ALWAYS DO THE...Enable/Disable/Restart Apache diff --git a/roles/lokole/templates/celery.service.j2 b/roles/lokole/templates/celery.service.j2 index 5d542c696..7bef752fe 100644 --- a/roles/lokole/templates/celery.service.j2 +++ b/roles/lokole/templates/celery.service.j2 @@ -4,7 +4,7 @@ After=network.target [Service] Type=simple -ExecStart=/bin/bash {{ lokole_run_directory }}/run-celery.sh +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 diff --git a/roles/lokole/templates/celerybeat.service.j2 b/roles/lokole/templates/celerybeat.service.j2 index d54007144..ae2328443 100644 --- a/roles/lokole/templates/celerybeat.service.j2 +++ b/roles/lokole/templates/celerybeat.service.j2 @@ -4,7 +4,7 @@ After=network.target [Service] Type=simple -ExecStart=/bin/bash {{ lokole_run_directory }}/celerybeat.sh +ExecStart={{lokole_venv}}/bin/celery --app=opwen_email_client.webapp.tasks beat --loglevel=info [Install] WantedBy=multi-user.target diff --git a/roles/lokole/templates/restarter.service.j2 b/roles/lokole/templates/restarter.service.j2 index 1469e6f92..abad9780f 100644 --- a/roles/lokole/templates/restarter.service.j2 +++ b/roles/lokole/templates/restarter.service.j2 @@ -4,7 +4,8 @@ After=network.target [Service] Type=simple -ExecStart=/bin/bash {{ lokole_run_directory }}/webapp-restart.sh +WorkingDirectory={{lokole_run_directory}} +ExecStart={{lokole_venv}}/bin/manage.py restarter --directory={{lokole_run_directory}} [Install] WantedBy=multi-user.target From 2775c7600a88fddaf87056373cc6ca84dbb760d0 Mon Sep 17 00:00:00 2001 From: Jerry Vonau Date: Wed, 9 Sep 2020 14:49:45 +0100 Subject: [PATCH 05/25] remove .sh files --- roles/lokole/templates/celerybeat.sh.j2 | 6 ------ roles/lokole/templates/run-celery.sh.j2 | 7 ------- roles/lokole/templates/webapp-restart.sh.j2 | 5 ----- 3 files changed, 18 deletions(-) delete mode 100644 roles/lokole/templates/celerybeat.sh.j2 delete mode 100644 roles/lokole/templates/run-celery.sh.j2 delete mode 100644 roles/lokole/templates/webapp-restart.sh.j2 diff --git a/roles/lokole/templates/celerybeat.sh.j2 b/roles/lokole/templates/celerybeat.sh.j2 deleted file mode 100644 index f391cd4fd..000000000 --- a/roles/lokole/templates/celerybeat.sh.j2 +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env sh - -'{{lokole_venv}}/bin/celery' \ - '--app=opwen_email_client.webapp.tasks' \ - 'beat' \ - '--loglevel=info' diff --git a/roles/lokole/templates/run-celery.sh.j2 b/roles/lokole/templates/run-celery.sh.j2 deleted file mode 100644 index c401756f9..000000000 --- a/roles/lokole/templates/run-celery.sh.j2 +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env sh - -'{{lokole_venv}}/bin/celery' \ - '--app=opwen_email_client.webapp.tasks' \ - 'worker' \ - '--loglevel=info' \ - '--concurrency=2' diff --git a/roles/lokole/templates/webapp-restart.sh.j2 b/roles/lokole/templates/webapp-restart.sh.j2 deleted file mode 100644 index 7b0fdce6b..000000000 --- a/roles/lokole/templates/webapp-restart.sh.j2 +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env sh - -'{{lokole_venv}}/bin/manage.py' \ - 'restarter' \ - '--directory={{lokole_run_directory}}' From 764039df059d26750212c489b365e8c62fe2795d Mon Sep 17 00:00:00 2001 From: Jerry Vonau Date: Wed, 9 Sep 2020 15:02:24 +0100 Subject: [PATCH 06/25] Before= After= based on order of appearence in main.yml --- roles/lokole/templates/celery.service.j2 | 2 ++ roles/lokole/templates/celerybeat.service.j2 | 2 ++ roles/lokole/templates/restarter.service.j2 | 1 + 3 files changed, 5 insertions(+) diff --git a/roles/lokole/templates/celery.service.j2 b/roles/lokole/templates/celery.service.j2 index 7bef752fe..267cd4f37 100644 --- a/roles/lokole/templates/celery.service.j2 +++ b/roles/lokole/templates/celery.service.j2 @@ -1,6 +1,8 @@ [Unit] Description=Celery service After=network.target +After=lokole.service +Before=celerybeat.service [Service] Type=simple diff --git a/roles/lokole/templates/celerybeat.service.j2 b/roles/lokole/templates/celerybeat.service.j2 index ae2328443..e40e50cff 100644 --- a/roles/lokole/templates/celerybeat.service.j2 +++ b/roles/lokole/templates/celerybeat.service.j2 @@ -1,6 +1,8 @@ [Unit] Description=Celery beat timed service After=network.target +After=celery.service +Before=lokole_restarter.service [Service] Type=simple diff --git a/roles/lokole/templates/restarter.service.j2 b/roles/lokole/templates/restarter.service.j2 index abad9780f..25faa6145 100644 --- a/roles/lokole/templates/restarter.service.j2 +++ b/roles/lokole/templates/restarter.service.j2 @@ -1,6 +1,7 @@ [Unit] Description=Lokole webapp restarter After=network.target +After=celerybeat.service [Service] Type=simple From bf9016b39f528f7e8e32faa3ddeceb243a794f3c Mon Sep 17 00:00:00 2001 From: Jerry Vonau Date: Wed, 9 Sep 2020 15:26:31 +0100 Subject: [PATCH 07/25] Before the editing starts.... --- roles/lokole/tasks/install.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/lokole/tasks/install.yml b/roles/lokole/tasks/install.yml index 6c9f7b7bb..59ef6e09b 100644 --- a/roles/lokole/tasks/install.yml +++ b/roles/lokole/tasks/install.yml @@ -101,7 +101,7 @@ mode: 0666 when: apache_install | bool -- name: Install lokole's unit service files +- name: Install Lokole's unit service files template: src: "{{ item.src }}" dest: "{{ item.dest}}" From d2f9dd9705e29af5944dd78d193a6776bc5205e5 Mon Sep 17 00:00:00 2001 From: Jerry Vonau Date: Wed, 9 Sep 2020 12:20:53 -0500 Subject: [PATCH 08/25] heard the whining.. 0644 it is --- roles/lokole/tasks/install.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/lokole/tasks/install.yml b/roles/lokole/tasks/install.yml index 59ef6e09b..70f0dad3d 100644 --- a/roles/lokole/tasks/install.yml +++ b/roles/lokole/tasks/install.yml @@ -98,14 +98,14 @@ template: src: lokole.conf.j2 dest: "/etc/{{ apache_conf_dir }}/lokole.conf" - mode: 0666 + mode: 0644 when: apache_install | bool - name: Install Lokole's unit service files template: src: "{{ item.src }}" dest: "{{ item.dest}}" - mode: 0666 + mode: 0644 with_items: - { src: 'lokole.service.j2', dest: '/etc/systemd/system/lokole.service' } - { src: 'celery.service.j2', dest: '/etc/systemd/system/celery.service' } From 3635b8fbb17c31d73b93a1d6091cfea4f2c78edf Mon Sep 17 00:00:00 2001 From: A Holt Date: Wed, 9 Sep 2020 20:13:53 -0400 Subject: [PATCH 09/25] Clarify lokole/tasks/install.yml --- roles/lokole/tasks/install.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/lokole/tasks/install.yml b/roles/lokole/tasks/install.yml index 70f0dad3d..21a40b601 100644 --- a/roles/lokole/tasks/install.yml +++ b/roles/lokole/tasks/install.yml @@ -101,7 +101,7 @@ mode: 0644 when: apache_install | bool -- name: Install Lokole's unit service files +- name: Install unit files {lokole.service, celery.service, celerybeat.service, lokole_restarter.service} into /etc/systemd/system, from template template: src: "{{ item.src }}" dest: "{{ item.dest}}" From 65d0399d57985e8d13ca0fde05e36803a88c2f09 Mon Sep 17 00:00:00 2001 From: A Holt Date: Wed, 9 Sep 2020 20:17:53 -0400 Subject: [PATCH 10/25] Clarify lokole/tasks/main.yml --- roles/lokole/tasks/main.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/roles/lokole/tasks/main.yml b/roles/lokole/tasks/main.yml index fd9490f83..08565760b 100644 --- a/roles/lokole/tasks/main.yml +++ b/roles/lokole/tasks/main.yml @@ -32,28 +32,28 @@ state: restarted when: lokole_enabled | bool -- name: Enable and start celery systemd service +- name: Enable & Start celery systemd service, if lokole_enabled systemd: name: celery enabled: yes state: started when: lokole_enabled | bool -- name: Enable celery beat service +- name: Enable & Start celerybeat systemd service, if lokole_enabled systemd: name: celerybeat enabled: yes state: started when: lokole_enabled | bool -- name: Enable restarter service +- name: Enable & Start lokole_restarter systemd service, if lokole_enabled systemd: name: lokole_restarter enabled: yes state: started when: lokole_enabled | bool -- name: Disable & Stop 'lokole' systemd service, if not lokole_enabled +- name: Disable & Stop all 4 (above) systemd services, if not lokole_enabled systemd: name: "{{ item }}" enabled: no From 7e9c31d5db223b50550362f0df137e63a584812b Mon Sep 17 00:00:00 2001 From: A Holt Date: Wed, 9 Sep 2020 20:22:59 -0400 Subject: [PATCH 11/25] Cleaner lokole/tasks/main.yml --- roles/lokole/tasks/main.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/roles/lokole/tasks/main.yml b/roles/lokole/tasks/main.yml index 08565760b..f947b2284 100644 --- a/roles/lokole/tasks/main.yml +++ b/roles/lokole/tasks/main.yml @@ -60,10 +60,10 @@ state: stopped when: not lokole_enabled with_items: - - lokole_restarter - - celerybeat - - celery - lokole + - celery + - celerybeat + - lokole_restarter #- name: Enable/Disable/Restart Apache if primary - name: SHIM FOR NOW SO ALWAYS DO THE...Enable/Disable/Restart Apache From fbcbc82050438ee217a20f464dd5c2de8f1b3644 Mon Sep 17 00:00:00 2001 From: A Holt Date: Wed, 9 Sep 2020 20:25:09 -0400 Subject: [PATCH 12/25] Ansible norm in lokole/templates/celery.service.j2 --- roles/lokole/templates/celery.service.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/lokole/templates/celery.service.j2 b/roles/lokole/templates/celery.service.j2 index 267cd4f37..e1393892b 100644 --- a/roles/lokole/templates/celery.service.j2 +++ b/roles/lokole/templates/celery.service.j2 @@ -6,7 +6,7 @@ Before=celerybeat.service [Service] Type=simple -ExecStart={{lokole_venv}}/bin/celery --app=opwen_email_client.webapp.tasks worker --loglevel=info --concurrency=2 +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 From 41a91beccd2ef1305845862e1af05d8473779754 Mon Sep 17 00:00:00 2001 From: A Holt Date: Wed, 9 Sep 2020 20:26:21 -0400 Subject: [PATCH 13/25] Ansible norm in lokole/templates/celerybeat.service.j2 --- roles/lokole/templates/celerybeat.service.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/lokole/templates/celerybeat.service.j2 b/roles/lokole/templates/celerybeat.service.j2 index e40e50cff..07d570590 100644 --- a/roles/lokole/templates/celerybeat.service.j2 +++ b/roles/lokole/templates/celerybeat.service.j2 @@ -6,7 +6,7 @@ Before=lokole_restarter.service [Service] Type=simple -ExecStart={{lokole_venv}}/bin/celery --app=opwen_email_client.webapp.tasks beat --loglevel=info +ExecStart={{ lokole_venv }}/bin/celery --app=opwen_email_client.webapp.tasks beat --loglevel=info [Install] WantedBy=multi-user.target From 54b6219b22cc3f5caccc8f1bdb14ca0f60ab886a Mon Sep 17 00:00:00 2001 From: A Holt Date: Wed, 9 Sep 2020 20:27:53 -0400 Subject: [PATCH 14/25] Rename restarter.service.j2 to lokole_restarter.service.j2 & use Ansible norm --- .../{restarter.service.j2 => lokole_restarter.service.j2} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename roles/lokole/templates/{restarter.service.j2 => lokole_restarter.service.j2} (52%) diff --git a/roles/lokole/templates/restarter.service.j2 b/roles/lokole/templates/lokole_restarter.service.j2 similarity index 52% rename from roles/lokole/templates/restarter.service.j2 rename to roles/lokole/templates/lokole_restarter.service.j2 index 25faa6145..12aa52471 100644 --- a/roles/lokole/templates/restarter.service.j2 +++ b/roles/lokole/templates/lokole_restarter.service.j2 @@ -5,8 +5,8 @@ After=celerybeat.service [Service] Type=simple -WorkingDirectory={{lokole_run_directory}} -ExecStart={{lokole_venv}}/bin/manage.py restarter --directory={{lokole_run_directory}} +WorkingDirectory={{ lokole_run_directory }} +ExecStart={{ lokole_venv }}/bin/manage.py restarter --directory={{ lokole_run_directory }} [Install] WantedBy=multi-user.target From ef7b4a387253f094037bb1a9dd59d51b2584baa6 Mon Sep 17 00:00:00 2001 From: A Holt Date: Wed, 9 Sep 2020 20:34:53 -0400 Subject: [PATCH 15/25] restarter.service.j2 -> lokole_restarter.service.j2 in lokole/tasks/install.yml --- roles/lokole/tasks/install.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/lokole/tasks/install.yml b/roles/lokole/tasks/install.yml index 21a40b601..82bbd449e 100644 --- a/roles/lokole/tasks/install.yml +++ b/roles/lokole/tasks/install.yml @@ -110,7 +110,7 @@ - { 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: 'restarter.service.j2', dest: '/etc/systemd/system/lokole_restarter.service' } + - { src: 'lokole_restarter.service.j2', dest: '/etc/systemd/system/lokole_restarter.service' } # RECORD Lokole AS INSTALLED From e9a57b94adbf3df1597daa0882bc0298afb4c032 Mon Sep 17 00:00:00 2001 From: A Holt Date: Wed, 9 Sep 2020 20:38:10 -0400 Subject: [PATCH 16/25] Clarify lokole/tasks/main.yml --- roles/lokole/tasks/main.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/roles/lokole/tasks/main.yml b/roles/lokole/tasks/main.yml index f947b2284..834bcdf6f 100644 --- a/roles/lokole/tasks/main.yml +++ b/roles/lokole/tasks/main.yml @@ -32,21 +32,21 @@ state: restarted when: lokole_enabled | bool -- name: Enable & Start celery systemd service, if lokole_enabled +- name: Enable & Start 'celery' systemd service, if lokole_enabled systemd: name: celery enabled: yes state: started when: lokole_enabled | bool -- name: Enable & Start celerybeat systemd service, if lokole_enabled +- name: Enable & Start 'celerybeat' systemd service, if lokole_enabled systemd: name: celerybeat enabled: yes state: started when: lokole_enabled | bool -- name: Enable & Start lokole_restarter systemd service, if lokole_enabled +- name: Enable & Start 'lokole_restarter' systemd service, if lokole_enabled systemd: name: lokole_restarter enabled: yes From f0a1ca2b0ab06dcf60cb8f4f9f4239a09a47ebea Mon Sep 17 00:00:00 2001 From: A Holt Date: Wed, 9 Sep 2020 20:46:37 -0400 Subject: [PATCH 17/25] Force restart of {celery, celerybeat, lokole_restarter} in case of reinstall etc --- roles/lokole/tasks/main.yml | 24 +++++++----------------- 1 file changed, 7 insertions(+), 17 deletions(-) diff --git a/roles/lokole/tasks/main.yml b/roles/lokole/tasks/main.yml index 834bcdf6f..2ff00770b 100644 --- a/roles/lokole/tasks/main.yml +++ b/roles/lokole/tasks/main.yml @@ -32,26 +32,16 @@ state: restarted when: lokole_enabled | bool -- name: Enable & Start 'celery' systemd service, if lokole_enabled +- name: Enable & Restart {celery, celerybeat, lokole_restarter} systemd services, if lokole_enabled systemd: - name: celery + name: "{{ item }}" enabled: yes - state: started - when: lokole_enabled | bool - -- name: Enable & Start 'celerybeat' systemd service, if lokole_enabled - systemd: - name: celerybeat - enabled: yes - state: started - when: lokole_enabled | bool - -- name: Enable & Start 'lokole_restarter' systemd service, if lokole_enabled - systemd: - name: lokole_restarter - enabled: yes - state: started + state: restarted when: lokole_enabled | bool + with_items: + - celery + - celerybeat + - lokole_restarter - name: Disable & Stop all 4 (above) systemd services, if not lokole_enabled systemd: From 02bb8da9ed1468eddd2925e916cbdd45dd59f0e1 Mon Sep 17 00:00:00 2001 From: A Holt Date: Wed, 9 Sep 2020 20:54:35 -0400 Subject: [PATCH 18/25] Update install.yml --- roles/lokole/tasks/install.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/lokole/tasks/install.yml b/roles/lokole/tasks/install.yml index 82bbd449e..247224f4f 100644 --- a/roles/lokole/tasks/install.yml +++ b/roles/lokole/tasks/install.yml @@ -75,7 +75,7 @@ file: state: directory path: "{{ lokole_run_directory }}" - mode: a+x + #mode: a+x # Not nec, given above 'state: directory' - name: Install {{ lokole_run_directory }}/webapp_secrets.sh from template, to configure Lokole template: From 8917e0f1564aa261edfb4a854e77e2f16ec3bdfc Mon Sep 17 00:00:00 2001 From: A Holt Date: Thu, 10 Sep 2020 02:52:24 -0400 Subject: [PATCH 19/25] @jvonau's personal preferences in lokole/tasks/main.yml --- roles/lokole/tasks/main.yml | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/roles/lokole/tasks/main.yml b/roles/lokole/tasks/main.yml index 2ff00770b..103848e6d 100644 --- a/roles/lokole/tasks/main.yml +++ b/roles/lokole/tasks/main.yml @@ -24,21 +24,19 @@ 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 - enabled: yes - state: restarted when: lokole_enabled | bool -- name: Enable & Restart {celery, celerybeat, lokole_restarter} systemd services, if lokole_enabled +- 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 @@ -49,11 +47,11 @@ enabled: no state: stopped when: not lokole_enabled - with_items: - - lokole - - celery - - celerybeat + 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 From 05600f3b7af7415c566ba167c4fd288dcfd71726 Mon Sep 17 00:00:00 2001 From: Jerry Vonau Date: Sat, 12 Sep 2020 02:33:31 +0100 Subject: [PATCH 20/25] detect secondary gateway on wifi interface for no_net_restart --- roles/network/tasks/detected_network.yml | 9 +++++++++ roles/network/tasks/main.yml | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/roles/network/tasks/detected_network.yml b/roles/network/tasks/detected_network.yml index c6d73192f..5b1691ceb 100644 --- a/roles/network/tasks/detected_network.yml +++ b/roles/network/tasks/detected_network.yml @@ -145,6 +145,15 @@ with_items: - "{{ lan_list_result.stdout_lines }}" +- name: Detect wifi gateway active + shell: ip r | grep default | grep {{ discovered_wireless_iface }} | wc -l + when: discovered_wireless_iface != "none" + register: wifi_gateway_found + +- name: Set has_wifi_gateway for {{ discovered_wireless_iface }} if gateway is detected + set_fact: + has_wifi_gateway: True + when: wifi_gateway_found is defined and (wifi_gateway_found.stdout|int > 0) - name: Set iiab_wireless_lan_iface to {{ discovered_wireless_iface }} if not none set_fact: diff --git a/roles/network/tasks/main.yml b/roles/network/tasks/main.yml index 35bd3c66d..356cb2e6a 100644 --- a/roles/network/tasks/main.yml +++ b/roles/network/tasks/main.yml @@ -12,7 +12,7 @@ # 0-init/defaults/main.yml, network/tasks/main.yml, debian.yml, # detected_network.yml, down-debian.yml, NM-debian.yml, restart.yml, # sysd-netd-debian.yml, computed_services.yml, rpi_debian.yml - when: discovered_wireless_iface == iiab_wan_iface + when: has_wifi_gateway is defined - name: computed_network include_tasks: computed_network.yml From 09dda50783e62a307c9fc4c6c5c56fdd74b3f8d0 Mon Sep 17 00:00:00 2001 From: A Holt Date: Sat, 12 Sep 2020 08:28:06 -0400 Subject: [PATCH 21/25] Update README.md --- roles/nginx/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/nginx/README.md b/roles/nginx/README.md index 27e17dcc9..381397476 100644 --- a/roles/nginx/README.md +++ b/roles/nginx/README.md @@ -10,7 +10,7 @@ 2. Without PHP available via FastCGI, any function at all for PHP-based applications validates NGINX. -3. Current state of IIAB App/Service migrations as of 2020-08-24: +3. Current state of IIAB App/Service migrations as of 2020-09-12: 1. These support "Native" NGINX but ***NOT*** Apache * Admin Console @@ -49,4 +49,4 @@ * phpmyadmin [*, requires Apache for now, as in Section iii.] * transmission [*] -[*] The 6 above starred roles could use improvement, as of 2020-08-24. +[*] The 6 above starred roles could use improvement, as of 2020-09-12. From 9d63fa40fb85543b2c9c468cb0302fce814c49a7 Mon Sep 17 00:00:00 2001 From: A Holt Date: Sat, 12 Sep 2020 20:40:30 -0400 Subject: [PATCH 22/25] network/tasks/main.yml: 2 comments about no_net_restart --- roles/network/tasks/main.yml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/roles/network/tasks/main.yml b/roles/network/tasks/main.yml index 356cb2e6a..02cac5d31 100644 --- a/roles/network/tasks/main.yml +++ b/roles/network/tasks/main.yml @@ -6,12 +6,13 @@ - name: detected_network include_tasks: detected_network.yml -- name: "Set 'no_net_restart: True' if discovered_wireless_iface == iiab_wan_iface" +#- name: "Set 'no_net_restart: True' if discovered_wireless_iface == iiab_wan_iface" +- name: "Set 'no_net_restart: True' if has_wifi_gateway is defined" set_fact: - no_net_restart: True # 2020-05-09: Var is currently used in 10 files: - # 0-init/defaults/main.yml, network/tasks/main.yml, debian.yml, - # detected_network.yml, down-debian.yml, NM-debian.yml, restart.yml, - # sysd-netd-debian.yml, computed_services.yml, rpi_debian.yml + no_net_restart: True # 2020-09-12: Var is currently used in 11 files... + # 0-init/defaults/main.yml, network/tasks/main.yml, computed_services.yml, + # debian.yml, detected_network.yml, down-debian.yml, netplan.yml, + # NM-debian.yml, restart.yml, rpi_debian.yml, sysd-netd-debian.yml when: has_wifi_gateway is defined - name: computed_network From 0c8104abfff319d5ebfc6f7d1a75c2c438a4faca Mon Sep 17 00:00:00 2001 From: Jerry Vonau Date: Sat, 12 Sep 2020 19:58:10 -0500 Subject: [PATCH 23/25] better usage explaination of no_net_restart --- roles/network/tasks/main.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/roles/network/tasks/main.yml b/roles/network/tasks/main.yml index 02cac5d31..4fb0e6abc 100644 --- a/roles/network/tasks/main.yml +++ b/roles/network/tasks/main.yml @@ -9,8 +9,11 @@ #- name: "Set 'no_net_restart: True' if discovered_wireless_iface == iiab_wan_iface" - name: "Set 'no_net_restart: True' if has_wifi_gateway is defined" set_fact: - no_net_restart: True # 2020-09-12: Var is currently used in 11 files... - # 0-init/defaults/main.yml, network/tasks/main.yml, computed_services.yml, + no_net_restart: True # 2020-09-12: + # 0-init/defaults/main.yml - default boolean value of False + # network/tasks/main.yml - changes flag base on conditional present + # Var is currently used in 9 subsequant files, to suppress restarting of + # hostapd, dnsmasq and/or other networking service in computed_services.yml, # debian.yml, detected_network.yml, down-debian.yml, netplan.yml, # NM-debian.yml, restart.yml, rpi_debian.yml, sysd-netd-debian.yml when: has_wifi_gateway is defined From 3ad8b4e47e8016856492824cd7c08f6a6f36e9a1 Mon Sep 17 00:00:00 2001 From: A Holt Date: Sat, 12 Sep 2020 21:07:26 -0400 Subject: [PATCH 24/25] network/tasks/main.yml: subsequant -> subsequent --- roles/network/tasks/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/network/tasks/main.yml b/roles/network/tasks/main.yml index 4fb0e6abc..f0764b158 100644 --- a/roles/network/tasks/main.yml +++ b/roles/network/tasks/main.yml @@ -12,7 +12,7 @@ no_net_restart: True # 2020-09-12: # 0-init/defaults/main.yml - default boolean value of False # network/tasks/main.yml - changes flag base on conditional present - # Var is currently used in 9 subsequant files, to suppress restarting of + # Var is currently used in 9 subsequent files, to suppress restarting of # hostapd, dnsmasq and/or other networking service in computed_services.yml, # debian.yml, detected_network.yml, down-debian.yml, netplan.yml, # NM-debian.yml, restart.yml, rpi_debian.yml, sysd-netd-debian.yml From 01d418e3747b6ddb4c143bb85334085ea0d75cd4 Mon Sep 17 00:00:00 2001 From: A Holt Date: Sat, 12 Sep 2020 21:11:36 -0400 Subject: [PATCH 25/25] network/tasks/main.yml: typo in comment --- roles/network/tasks/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/network/tasks/main.yml b/roles/network/tasks/main.yml index f0764b158..fdcb2944d 100644 --- a/roles/network/tasks/main.yml +++ b/roles/network/tasks/main.yml @@ -11,7 +11,7 @@ set_fact: no_net_restart: True # 2020-09-12: # 0-init/defaults/main.yml - default boolean value of False - # network/tasks/main.yml - changes flag base on conditional present + # network/tasks/main.yml - changes flag based on conditional present # Var is currently used in 9 subsequent files, to suppress restarting of # hostapd, dnsmasq and/or other networking service in computed_services.yml, # debian.yml, detected_network.yml, down-debian.yml, netplan.yml,