Fix corner-cases found through testing (aka ansible is nuts)

This commit is contained in:
Marcel Partap 2020-04-19 10:16:01 +02:00
parent a14b9c09ad
commit cf452fdf0a
3 changed files with 11 additions and 5 deletions

View file

@ -1,4 +1,5 @@
---
# a negative when condition will not actually prevent ansible from executing loops in imported tasks!
- import_tasks: "{{ role_path }}/tasks/workers/setup_install.yml"
when: "matrix_synapse_enabled|bool and matrix_synapse_workers_enabled|bool"

View file

@ -12,8 +12,9 @@
path: "{{ item.root + '/' + item.path }}"
state: absent
when:
- matrix_synapse_workers_enabled|bool
- item.state == 'link'
- item.path is match('matrix-synapse-worker@*.service')
- item.path is match('matrix-synapse-worker@.*\\.service')
with_filetree:
- "{{ matrix_systemd_path }}/matrix-synapse.service.wants"

View file

@ -1,10 +1,13 @@
---
- name: Ensure individual worker services are stopped
- name: Populate service facts
service_facts:
- name: Ensure any worker services are stopped
service:
name: "matrix-synapse-worker@{{ item.worker }}:{{ item.port }}.service"
name: "{{ item.key }}"
state: stopped
with_items: "{{ matrix_synapse_workers_enabled_list }}"
with_dict: "{{ ansible_facts.services|default({})|dict2items|selectattr('key', 'match', 'matrix-synapse-worker@.+\\.service')|list|items2dict }}"
# As we cannot know the ports of workers removed from the enabled_list..
# => .. just kill them all (FIXME?)
@ -13,8 +16,9 @@
path: "{{ item.root + '/' + item.path }}"
state: absent
when:
- not matrix_synapse_workers_enabled|bool
- item.state == 'link'
- item.path is match('matrix-synapse-worker@*.service')
- item.path is match('matrix-synapse-worker@.*\\.service')
with_filetree:
- "{{ matrix_systemd_path }}/matrix-synapse.service.wants"