这就是我所拥有的
- name: disable os firewall - firewalld
systemd:
name: firewalld
state: stopped
enabled: no
Run Code Online (Sandbox Code Playgroud)
此任务在firewalld安装了软件包的主机上运行良好,但在未安装软件包的主机上失败。
确保它可以处理未firewalld安装的主机的最佳简单方法是什么?我不想使用任何 CMDB,因为它是一个额外的设置。另外,我希望任务是幂等的;使用像dpkg或rpm查询是否firewalld安装的 shell 命令使 ansible playbook 摘要报告更改,这是我不想要的。
这是一个使用failed_when:. 虽然它每次都运行,但如果没有安装包,它会忽略失败:
- name: Stop and disable chrony service
service:
name: chronyd
enabled: no
state: stopped
register: chronyd_service_result
failed_when: "chronyd_service_result is failed and 'Could not find the requested service' not in chronyd_service_result.msg"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4638 次 |
| 最近记录: |