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

0 ответов

Другие вопросы по тегам