2016-02-19 3 views
2

Я пытаюсь написать простую загружаемую книгу для работы с выполнением обновления yum на серверах, если обновление доступно, а затем перезагрузиться, если было выполнено обновление. Я не могу понять, как проверить, доступно ли обновление пакета, не делая ничего сумасшедшего с помощью команды уровня оболочки. Может быть, кто-то может дать мне несколько указателей.Ansible yum обновляет пакет, когда он действительно доступен

- name: Update glibc package 
    hosts: all 
    user: root 

    vars: 
    pkg_name: glibc 

    tasks: 
    - name: Flag for update if available 
    ?? 
    register: update_available 

    - name: Run yum update 
    yum: name={{ pkg_name }} state=latest 
    when: update_available.changed 
    register: run_reboot 

    - include: reboot_server.yml 
    when: run_reboot.changed 
+0

Для чего это необходимо? Просто задайте yum с 'state = latest'. Нет необходимости выполнять эту задачу только в том случае, если доступно обновление. – udondan

+0

Да, я обнаружил, что после того, как я провел некоторое тестирование того, как работает yum-модуль для состояния = последний. Документация была не совсем понятна по своему поведению. – Eroji

ответ

1

Получил его работу. Ямский модуль работал так, как я надеялся.

- name: Update a yum package 
    hosts: all 
    user: root 

    vars: 
    pkg_name: glibc 

    tasks: 

    - name: Run yum update 
    yum: name={{ pkg_name }} state=latest 
    register: run_reboot 

    - include: reboot_server.yml 
    when: run_reboot.changed 

 Смежные вопросы

  • Нет связанных вопросов^_^