Wie prüft man den Status eines (Systemd) Dienstes? Wie sorgt man dafür, dass Ansible-Kommandos nur ausgeführt werden, wenn ein Dienst installiert ist? Ohne dass changed
gemeldet wird, auch wenn sich nichts geändert hat?
Das Beispiel setzt systemd
voraus, ist also beispielsweise auf CentOS, RHEL und Fedora ausgelegt.
- name: "Check for httpd"
command: "systemctl status httpd"
register: status_httpd
failed_when: >
status_httpd.rc != 0 and ("could not be found" not in status_httpd.stderr)
changed_when: false
- name: "Do something when httpd is installed"
# the command
when: "status_httpd.rc == 0"