Matrix Docker Ansible eploy
No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.
 
 

66 líneas
2.7 KiB

  1. # SPDX-FileCopyrightText: 2024 MDAD Team and contributors
  2. #
  3. # SPDX-License-Identifier: AGPL-3.0-or-later
  4. ---
  5. - name: Determine current worker configs
  6. ansible.builtin.find:
  7. path: "{{ matrix_synapse_config_dir_path }}"
  8. patterns: "worker.*.yaml"
  9. use_regex: true
  10. register: matrix_synapse_workers_current_config_files
  11. - ansible.builtin.set_fact:
  12. matrix_synapse_enabled_worker_names: "{{ matrix_synapse_workers_enabled_list | map(attribute='name') }}"
  13. # This also deletes some things which we need. They will be recreated below.
  14. - name: Ensure unnecessary worker configs are cleaned
  15. ansible.builtin.file:
  16. path: "{{ item.path }}"
  17. state: absent
  18. with_items: "{{ matrix_synapse_workers_current_config_files.files }}"
  19. when: "not ansible_check_mode and (item.path | basename | replace ('worker.', '') | replace('.yaml', '')) not in matrix_synapse_enabled_worker_names"
  20. - name: Determine current worker systemd services
  21. ansible.builtin.find:
  22. path: "{{ devture_systemd_docker_base_systemd_path }}"
  23. patterns: "matrix-synapse-worker.*.service"
  24. use_regex: true
  25. register: matrix_synapse_workers_current_systemd_services
  26. - name: Ensure unnecessary worker systemd services are stopped and disabled
  27. ansible.builtin.service:
  28. name: "{{ item.path | basename }}"
  29. state: stopped
  30. enabled: false
  31. with_items: "{{ matrix_synapse_workers_current_systemd_services.files }}"
  32. when: "not ansible_check_mode and (item.path | basename | replace('.service', '')) not in matrix_synapse_enabled_worker_names"
  33. - name: Ensure unnecessary worker systemd services are cleaned
  34. ansible.builtin.file:
  35. path: "{{ item.path }}"
  36. state: absent
  37. with_items: "{{ matrix_synapse_workers_current_systemd_services.files }}"
  38. when: "not ansible_check_mode and (item.path | basename | replace('.service', '')) not in matrix_synapse_enabled_worker_names"
  39. - name: Determine current worker label files
  40. ansible.builtin.find:
  41. path: "{{ matrix_synapse_base_path }}"
  42. patterns: "worker.*.labels"
  43. use_regex: true
  44. register: matrix_synapse_workers_current_label_files
  45. - name: Ensure unnecessary worker labels are cleaned
  46. ansible.builtin.file:
  47. path: "{{ item.path }}"
  48. state: absent
  49. with_items: "{{ matrix_synapse_workers_current_label_files.files }}"
  50. when: "not ansible_check_mode and (item.path | basename | replace ('worker.', '') | replace('.labels', '')) not in matrix_synapse_enabled_worker_names"
  51. - name: Ensure creation of worker systemd service files and configuration files
  52. ansible.builtin.include_tasks: "{{ role_path }}/tasks/synapse/workers/util/setup_files_for_worker.yml"
  53. with_items: "{{ matrix_synapse_workers_enabled_list }}"
  54. loop_control:
  55. loop_var: matrix_synapse_worker_details