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