| @@ -28,42 +28,37 @@ | |||
| delegate_to: 127.0.0.1 | |||
| become: false | |||
| - name: Populate service facts | |||
| service_facts: | |||
| when: ansible_distribution != 'Archlinux' | |||
| - block: | |||
| - 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'" | |||
| - ansible_distribution != 'Archlinux' | |||
| - 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'" | |||
| when: " 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' | |||
| - block: | |||
| # 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 }}" | |||
| - 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'" | |||
| - 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 }}" | |||
| when: "item.status['ActiveState'] != 'active'" | |||
| when: "ansible_distribution == 'Archlinux'" | |||