2016-02-19 45 views
2

我正在嘗試編寫一個簡單易行的劇本來處理在服務器上執行yum更新(如果更新可用),然後在執行更新時重新引導。我無法真正弄清楚如何檢查軟件包更新是否可用,而不用使用shell級別命令做一些瘋狂的事情。也許有人可以給我一些指點。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

你需要什麼?只要有'state = latest'的yum任務。如果有更新可用,則不需要僅執行該任務。 – udondan

+0

是的,我發現,我做了一些關於yum模塊對state = latest的行爲的測試。文件的行爲不太清楚。 – Eroji

回答

1

得到它的工作。 yum模塊按我希望的方式工作。

- 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 
相關問題