ansible/playbooks/restart_when_failed.yml

31 lines
892 B
YAML

# This playbook lets you safely display systemd logs for failed services
# and then restart it
- hosts: mirrorlist_proxies
gather_facts: false
tasks:
- name: listing failed units
shell: systemctl list-units --state failed --no-legend | awk '{ print $1 }'
register: listing_failed
- name: check log with journalctl
shell: journalctl -lru {{ item }} -n 50
register: display_log
with_items: "{{ listing_failed.stdout_lines[0:] }}"
- debug: var=listing_failed.stdout_lines[0:]
- name: display log
debug: var=display_log.stdout_lines
ignore_errors: true
when: display_log is defined
- name: restart failed service
systemd:
name: "{{ item }}"
state: restarted
with_items: "{{ listing_failed.stdout_lines[0:] }}"
register: restart_service
- debug: var=restart_service.stdout_lines