如果任务警告,则 Ansible 重启服务器

Ansible reboot server if task warns

我执行一项任务,在执行安装之前禁用托管主机上的 selinux。

然而 ansible 返回一个警告,通知需要重启才能使设置生效:

TASK [Gathering Facts] ********************************************************************************************
Thursday 16 December 2021  09:07:08 -0800 (0:00:00.110)       0:00:00.110 *****
ok: [vng.cs.east.com]

TASK [disable seLinux] ********************************************************************************************
Thursday 16 December 2021  09:07:35 -0800 (0:00:27.138)       0:00:27.249 *****
[WARNING]: SELinux state change will take effect next reboot
changed: [vng.cs.east.com]

PLAY RECAP ********************************************************************************************************
vng.cs.east.com  : ok=2    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

我想在我的游戏中包含一个重启任务,以便在发出此警告时有条件地重启服务器。我不确定如何捕获警告以用于重启任务的条件语句。

这可能吗?

如果您通过 selinux_module

禁用了 SELinux(...根本不推荐,无论如何都应该避免)
- name: Disable SELinux
  ansible.posix.selinux:
    state: disabled

您可以检查 Return Values 并执行进一步的任务,例如

- name: Reboot if required
  reboot:
    reboot_timeout: 300
  when: reboot_required