|
|
|
@@ -15,4 +15,27 @@ |
|
|
|
name: "{{ item }}" |
|
|
|
enabled: yes |
|
|
|
state: started |
|
|
|
with_items: "{{ matrix_systemd_services_list }}" |
|
|
|
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 `systemctl -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'" |