ansible playbook для перезагрузки серверов при необходимости
Я попытался создать playbook для обновления серверов и перезагрузки при необходимости. Я не могу заставить его работать. Мне удалось разделить его на 2 книги для Amazon Linux
а также Ubuntu
, Однако, когда я пытаюсь объединить их, это терпит неудачу. Я новичок в Ansible, любая помощь будет отличной. Вот сломанная пьеса;
--- # Upgrade and Reboot if required
- hosts: frankfurt
become: yes
tasks:
- name: Update all packages on Ubuntu
when: ansible_distribution == "Ubuntu"
apt:
update_cache: yes
upgrade: dist
autoclean: yes
autoremove: yes
- name: Reboot box if kernel/libs updated and requested by the system
register: reboot_apt
shell: sleep 5 && reboot
args:
removes: /var/run/reboot-required
async: 1
poll: 0
when: reboot_apt is changed
- name: Wait for the reboot to complete if there was a change.
wait_for_connection:
connect_timeout: 20
sleep: 5
delay: 5
timeout: 300
when: reboot_apt is changed
- name: Install System Updates for Amazon Linux
when: ansible_distribution == "Amazon"
yum:
name: '*'
state: latest
- name: Check for reboot hint.
shell: LAST_KERNEL=$(rpm -q --last kernel | awk 'NR==1{sub(/kernel-/,""); print $1}'); CURRENT_KERNEL=$(uname -r); if [ $LAST_KERNEL != $CURRENT_KERNEL ]; then echo 'reboot'; else echo 'no'; fi
register: reboot_yum
shell: sleep 5 && reboot
async: 1
poll: 0
when: reboot_yum is changed
- name: Wait for the reboot to complete if there was a change.
wait_for_connection:
connect_timeout: 20
sleep: 5
delay: 5
timeout: 300
when: reboot_yum is changed