1
0
mirror of https://github.com/spantaleev/matrix-docker-ansible-deploy.git synced 2024-12-12 08:43:55 +02:00
matrix-docker-ansible-deploy/roles/matrix-common-after/tasks/start.yml

42 lines
1.4 KiB
YAML

---
- name: Ensure systemd reloaded
service:
daemon_reload: yes
- name: Ensure Matrix services stopped
service:
name: "{{ item }}"
state: stopped
with_items: "{{ matrix_systemd_services_list }}"
- name: Ensure Matrix services started
service:
name: "{{ item }}"
enabled: yes
state: started
with_items: "{{ matrix_systemd_services_list }}"
# If we check service state immediately, we may succeed,
# because it takes some time for the service to attempt to start and actually fail.
#
# Waiting too long (30s) may not work for a similar reason,
# as we may run into systemd's automatic restart logic retrying the service.
- name: Wait a bit, so that services can start (or fail)
wait_for:
timeout: 5
delegate_to: 127.0.0.1
become: false
- name: Populate service facts
service_facts:
- name: Fail if service isn't detected to be running
fail:
msg: >-
{{ item }} was not detected to be running.
It's possible that there's a configuration problem or another service on your server interferes with it (uses the same ports, etc.).
Try running `systemctl status {{ item }}` and `journalctl -fu {{ item }}` on the server to investigate.
with_items: "{{ matrix_systemd_services_list }}"
when: "ansible_facts.services[item + '.service']|default(none) is none or ansible_facts.services[item + '.service'].state != 'running'"