| @@ -30,6 +30,7 @@ | |||||
| - name: Populate service facts | - name: Populate service facts | ||||
| service_facts: | service_facts: | ||||
| when: ansible_distribution != 'Archlinux' | |||||
| - name: Fail if service isn't detected to be running | - name: Fail if service isn't detected to be running | ||||
| fail: | fail: | ||||
| @@ -38,4 +39,31 @@ | |||||
| It's possible that there's a configuration problem or another service on your server interferes with it (uses the same ports, etc.). | 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. | Try running `systemctl status {{ item }}` and `journalctl -fu {{ item }}` on the server to investigate. | ||||
| with_items: "{{ matrix_systemd_services_list }}" | with_items: "{{ matrix_systemd_services_list }}" | ||||
| when: "ansible_facts.services[item + '.service']|default(none) is none or ansible_facts.services[item + '.service'].state != 'running'" | |||||
| when: | |||||
| - "ansible_facts.services[item + '.service']|default(none) is none or ansible_facts.services[item + '.service'].state != 'running'" | |||||
| - ansible_distribution != 'Archlinux' | |||||
| # Currently there is a bug in ansible that renders is incompatible with systemd. | |||||
| # service_facts is not collecting the data successfully. | |||||
| # Therefore iterating here manually | |||||
| - name: Fetch systemd information | |||||
| systemd: | |||||
| name: "{{ item }}" | |||||
| register: systemdstatus | |||||
| with_items: "{{ matrix_systemd_services_list }}" | |||||
| when: | |||||
| - ansible_distribution == 'Archlinux' | |||||
| - name: Fail if service isn't detected to be running | |||||
| fail: | |||||
| msg: >- | |||||
| {{ item.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.item }}` and `journalctl -fu {{ item.item }}` on the server to investigate. | |||||
| with_items: "{{ systemdstatus.results }}" | |||||
| loop_control: | |||||
| label: "{{ item.name }}" | |||||
| when: | |||||
| #- "ansible_facts.services[item + '.service']|default(none) is none or ansible_facts.services[item + '.service'].state != 'running'" | |||||
| - "item.status['ActiveState'] != 'active'" | |||||
| - "ansible_distribution == 'Archlinux'" | |||||