Make it possible to remove legacy workers

This commit is contained in:
uumas
2023-04-25 21:35:38 +03:00
parent 46dc53580e
commit 0033ffc405
4 changed files with 52 additions and 15 deletions

View File

@@ -14,6 +14,13 @@
enabled: true enabled: true
state: restarted state: restarted
- name: Disable worker services
ansible.builtin.systemd:
name: "matrix-synapse-worker@{{ item }}.service"
state: stopped
enabled: false
loop: "{{ synapse_disable_worker_services }}"
- name: Config worker services - name: Config worker services
ansible.builtin.systemd: ansible.builtin.systemd:
daemon_reload: true daemon_reload: true

View File

@@ -4,20 +4,44 @@
ansible.builtin.set_fact: ansible.builtin.set_fact:
worker: "{{ worker_type }}-{{ worker_index | default('0') }}" worker: "{{ worker_type }}-{{ worker_index | default('0') }}"
- name: Ensure config in place for {{ worker }} - name: Enable worker {{ worker }}
when: worker_state == 'present'
block:
- name: Ensure config in place for {{ worker }}
ansible.builtin.template: ansible.builtin.template:
src: worker.yaml.j2 src: worker.yaml.j2
dest: /etc/matrix-synapse/workers/{{ worker }}.yaml dest: /etc/matrix-synapse/workers/{{ worker }}.yaml
mode: 0644 mode: 0644
notify: Config worker services notify: Config worker services
- name: Ensure logging config in place for {{ worker }} - name: Ensure logging config in place for {{ worker }}
ansible.builtin.template: ansible.builtin.template:
src: log.yaml.j2 src: log.yaml.j2
dest: /etc/matrix-synapse/worker-logs/{{ worker }}-log.yaml dest: /etc/matrix-synapse/worker-logs/{{ worker }}-log.yaml
mode: 0644 mode: 0644
notify: Config worker services notify: Config worker services
- name: Add worker to synapse_worker_services variable - name: Add worker to synapse_worker_services variable
ansible.builtin.set_fact: ansible.builtin.set_fact:
synapse_worker_services: "{{ synapse_worker_services + [worker] }}" synapse_worker_services: "{{ synapse_worker_services + [worker] }}"
- name: Disable worker {{ worker }}
when: worker_state == 'absent'
block:
- name: Notify the user
ansible.builtin.debug:
msg: "Disabling worker {{ worker }}! Make sure to remove it from your synapse_workers."
- name: Ensure worker config files not present
ansible.builtin.file:
path: /etc/matrix-synapse/{{ item }}.yaml
state: absent
notify: Disable worker services
loop:
- workers/{{ worker }}
- worker-logs/{{ worker }}-log
- name: Add worker to synapse_disable_worker_services
ansible.builtin.set_fact:
synapse_disable_worker_services: "{{ synapse_worker_services + [worker] }}"

View File

@@ -14,6 +14,11 @@
- "{{ worker_type }}.yml" - "{{ worker_type }}.yml"
skip: true skip: true
- name: Warn of legacy workers
ansible.builtin.debug:
msg: "You have a deprecated worker type {{ worker_type }} defined. You should remove it from synapse_workers."
when: worker_state == 'absent'
- name: Reset worker_ports variable - name: Reset worker_ports variable
ansible.builtin.set_fact: ansible.builtin.set_fact:
worker_ports: [] worker_ports: []

View File

@@ -1,5 +1,6 @@
--- ---
worker_state: present
worker_app: generic_worker worker_app: generic_worker
worker_listeners: worker_listeners:
- client - client