diff options
author | Milo Casagrande <milo.casagrande@linaro.org> | 2015-01-29 14:17:57 +0100 |
---|---|---|
committer | Milo Casagrande <milo.casagrande@linaro.org> | 2015-01-29 14:17:57 +0100 |
commit | f293f9316f3dcdaf736aea86fecccffc2f155276 (patch) | |
tree | 098faa413eb372bb3a1a4f5b9d6125158731bdfa /ansible/roles | |
parent | 8c8af22b4cea5929a32cf650be6e3f26282cb70a (diff) |
Add new celery config and init scripts.
Change-Id: I647ae1ba6e55fbec85fdc7df9037de95878159f6
Diffstat (limited to 'ansible/roles')
4 files changed, 91 insertions, 2 deletions
diff --git a/ansible/roles/init-conf/tasks/main.yml b/ansible/roles/init-conf/tasks/main.yml index 1997f57..4908ff1 100644 --- a/ansible/roles/init-conf/tasks/main.yml +++ b/ansible/roles/init-conf/tasks/main.yml @@ -1,5 +1,13 @@ --- +- name: Make sure celery run directory exists + file: path=/var/run/celery + state=directory + owner={{ app_user }} + group={{ app_user }} + tags: + - init + - name: Install Upstart conf template: src=kernel-ci-backend.conf dest=/etc/init/{{ init_service }}.conf @@ -54,6 +62,28 @@ - init - systemd +- name: Install celery beat upstart configuration + template: src=kernelci-celery-beat.conf + dest=/etc/init/kernelci-celery-beat.conf + owner=root + group=root + mode=0644 + when: ansible_lsb.id == "Ubuntu" + tags: + - init + - upstart + +- name: Install celery beat systemd service + template: src=kernelci-celery-beat.service + dest=/etc/systemd/system/kernelci-celery-beat.service + owner=root + group=root + mode=0644 + when: ansible_lsb.id == "Debian" + tags: + - init + - systemd + - name: Enable celery systemd service command: /bin/systemctl enable kernelci-celery.service creates=/etc/systemd/system/multi-user.target.wants/kernelci-celery.service @@ -64,3 +94,13 @@ - init - systemd +- name: Enable celery beat systemd service + command: /bin/systemctl enable kernelci-celery-beat.service + creates=/etc/systemd/system/multi-user.target.wants/kernelci-celery-beat.service + when: ansible_lsb.id == "Debian" + notify: + - reload-systemd + tags: + - init + - systemd + diff --git a/ansible/roles/init-conf/templates/celery.conf b/ansible/roles/init-conf/templates/celery.conf index 688b239..3742ee7 100644 --- a/ansible/roles/init-conf/templates/celery.conf +++ b/ansible/roles/init-conf/templates/celery.conf @@ -2,8 +2,8 @@ author "Milo Casagrande <milo.casagrande@linaro.org>" description "Configuration to run celery at startup." -start on started redis-server -stop on stopping redis-server +start on started kernelci-backend +stop on stopping kernelci-backend respawn respawn limit 10 5 diff --git a/ansible/roles/init-conf/templates/kernelci-celery-beat.conf b/ansible/roles/init-conf/templates/kernelci-celery-beat.conf new file mode 100644 index 0000000..e104f2b --- /dev/null +++ b/ansible/roles/init-conf/templates/kernelci-celery-beat.conf @@ -0,0 +1,26 @@ +# Managed by ansible, do not edit. +author "Milo Casagrande <milo.casagrande@linaro.org>" +description "Configuration to run celery at startup." + +start on started kernelci-celery +stop on stopping kernelci-celery + +respawn +respawn limit 10 5 + +kill timeout 6 + +limit nofile 4096 65536 + +setuid {{ app_user }} +setgid {{ app_user }} + +chdir {{ install_base }}/{{ hostname }}/app + +script + if [ -d {{ install_base }}/.venv/{{ hostname }} ]; then + {{ install_base }}/.venv/{{ hostname }}/bin/celery beat --loglevel=INFO --schedule /var/run/celery/kernelci-beat.db --app=taskqueue + else + exec celery beat --loglevel=INFO --schedule /var/run/celery/kernelci-beat.db --app=taskqueue + fi +end script diff --git a/ansible/roles/init-conf/templates/kernelci-celery-beat.service b/ansible/roles/init-conf/templates/kernelci-celery-beat.service new file mode 100644 index 0000000..a0d5add --- /dev/null +++ b/ansible/roles/init-conf/templates/kernelci-celery-beat.service @@ -0,0 +1,23 @@ +[Unit] +Description=Kernel CI Backend Celery Beat + +[Service] +Type=simple +User={{ app_user }} +Group={{ app_user }} +ProtectHome=true +NoNewPrivileges=true +PrivateTmp=true +SyslogIdentifier=kernelci-celery-beat +LimitNOFILE=65536 +RestartSec=5 +Restart=always +PIDFile=/tmp/kernelci-celery-beat.pid +WorkingDirectory={{ install_base }}/{{ hostname }}/app +ExecStart={{ install_base }}/.venv/{{ hostname }}/bin/python -OO -R \ + {{ install_base }}/.venv/{{ hostname }}/bin/celery beat \ + --loglevel=INFO --schedule=/var/run/celery/kernelci-beat.db + --app=taskqueue + +[Install] +WantedBy=multi-user.target |