From 0b90132294003ab4a80273d65182f5a13943d5ad Mon Sep 17 00:00:00 2001 From: Kevin Morris <kevr@0cost.org> Date: Fri, 18 Feb 2022 15:19:33 -0800 Subject: [PATCH] aurweb: down services before updating Without this, we update while services are still running, and those services depend on the AUR directory state. This commit installs services much earlier, downs all of them, deploys out updates, then starts them all again at the end. Signed-off-by: Kevin Morris <kevr@0cost.org> --- roles/aurweb/tasks/main.yml | 68 +++++++++++++++++++++++++------------ 1 file changed, 47 insertions(+), 21 deletions(-) diff --git a/roles/aurweb/tasks/main.yml b/roles/aurweb/tasks/main.yml index 5691b605f..7001619b8 100644 --- a/roles/aurweb/tasks/main.yml +++ b/roles/aurweb/tasks/main.yml @@ -40,7 +40,7 @@ register: gpg changed_when: "gpg.rc == 0" -- name: clone aurweb repo +- name: aurweb git repo check git: > repo={{ aurweb_repository }} dest="{{ aurweb_dir }}" @@ -50,6 +50,51 @@ become: true become_user: "{{ aurweb_user }}" register: release + check_mode: true + +- name: install AUR systemd service and timers + template: src={{ item }}.j2 dest=/etc/systemd/system/{{ item }} owner=root group=root mode=0644 + with_items: + - aurweb-git.service + - aurweb-git.timer + - aurweb-aurblup.service + - aurweb-aurblup.timer + - aurweb-mkpkglists.service + - aurweb-mkpkglists.timer + - aurweb-pkgmaint.service + - aurweb-pkgmaint.timer + - aurweb-popupdate.service + - aurweb-popupdate.timer + - aurweb-tuvotereminder.service + - aurweb-tuvotereminder.timer + - aurweb-usermaint.service + - aurweb-usermaint.timer + - aurweb.service + when: release.changed + +- name: stop AUR systemd services and timers + service: name={{ item }} enabled=yes state=stopped + with_items: + - aurweb-git.timer + - aurweb-aurblup.timer + - aurweb-mkpkglists.timer + - aurweb-pkgmaint.timer + - aurweb-popupdate.timer + - aurweb-tuvotereminder.timer + - aurweb-usermaint.timer + - aurweb.service + when: release.changed + +- name: clone aurweb repo + git: > + repo={{ aurweb_repository }} + dest="{{ aurweb_dir }}" + version={{ aurweb_version }} + verify_commit: true + gpg_whitelist: '{{ aurweb_pgp_keys }}' + become: true + become_user: "{{ aurweb_user }}" + when: release.changed - name: create necessary directories file: path={{ aurweb_dir }}/{{ item }} state=directory owner={{ aurweb_user }} group={{ aurweb_user }} mode=0755 @@ -239,32 +284,13 @@ tags: - skip_ansible_lint -- name: install AUR systemd service and timers - template: src={{ item }}.j2 dest=/etc/systemd/system/{{ item }} owner=root group=root mode=0644 - with_items: - - aurweb-git.service - - aurweb-git.timer - - aurweb-aurblup.service - - aurweb-aurblup.timer - - aurweb-mkpkglists.service - - aurweb-mkpkglists.timer - - aurweb-pkgmaint.service - - aurweb-pkgmaint.timer - - aurweb-popupdate.service - - aurweb-popupdate.timer - - aurweb-tuvotereminder.service - - aurweb-tuvotereminder.timer - - aurweb-usermaint.service - - aurweb-usermaint.timer - - aurweb.service - - name: configure sshd template: src=aurweb_config.j2 dest={{ sshd_includes_dir }}/aurweb_config owner=root group=root mode=0600 validate='/usr/sbin/sshd -t -f %s' notify: - restart sshd - name: start and enable AUR systemd services and timers - service: name={{ item }} enabled=yes state=restarted daemon_reload=yes + service: name={{ item }} enabled=yes state=started daemon_reload=yes with_items: - aurweb-git.timer - aurweb-aurblup.timer -- GitLab