Ansible yum更新并重新启动

Ansible yum更新并重新启动,ansible,centos7,redhat,Ansible,Centos7,Redhat,我刚开始使用Ansible,我的目标是更新多个linux发行版,并在更改后重新启动。此时,当我尝试检查2个不同的linux发行版时,系统将不会重新启动。当我试图只检查一个发行版(so 1 register:task_result)时,系统将重新启动并正常工作。以下是剧本代码: --- - hosts: servers become: true tasks: - name: Upgrade all installed packages for RedHat yum:

我刚开始使用Ansible,我的目标是更新多个linux发行版,并在更改后重新启动。此时,当我尝试检查2个不同的linux发行版时,系统将不会重新启动。当我试图只检查一个发行版(so 1 register:task_result)时,系统将重新启动并正常工作。以下是剧本代码:

---
- hosts: servers
  become: true
  tasks:
  - name: Upgrade all installed packages for RedHat
    yum:
      name: '*'
      state: latest
    when: ansible_distribution == 'Red Hat Enterprise Linux' or ansible_distribution == 'RedHat'
    register: task_result

  - name: Upgrade all installed packages for CentOS
    yum:
      name: '*'
      state: latest
    when: ansible_distribution == 'CentOS'
    register: task_result

  - name: Reboot when there is a change
    shell: "sleep 5 && reboot"
    async: 1
    poll: 0
    when: task_result is changed

...
剧本的结果:


正如您所看到的,系统在重新启动时被跳过。有什么建议吗?

我在您编写的时候测试了它,它在Centos 7的2.9版上运行正常。 您可以添加如下调试语句:

  • 名称:打印任务结果 调试: var:task_结果

欢迎使用SO,请选择代码而不是图像: