关闭 `ansible-playbook` 中的 `PLAY` 标头,使其更加简洁

关闭 `ansible-playbook` 中的 `PLAY` 标头,使其更加简洁

我正在使用 ansible(Ubuntu Linux 18.04 上的 v2.9.9)来管理执行许多不同任务的许多不同服务器,并且我想减少运行时打印的输出量。我有许多剧本和剧本(40 多个剧本)

我已经stdout_callback = actionableansible.cfg(在[defaults]部分中)所以在运行时不变的任务不会打印到控制台ansible-playbook然而ansiblePLAY [$GROUP]在开始播放时仍会打印行(& 换行符),如果没有匹配的主机,它将打印skipping: no hosts matched。例如:

PLAY [all] *************************

PLAY [all] *************************

PLAY [webservers] ******************

PLAY [apache_webservers] ***********

PLAY [https_webservers] ************
skipping: no hosts matched

PLAY [databases] *******************

我可以关闭它吗?我可以让 ansible 变得非常非常安静吗?如果剧中的任务发生变化(因此需要打印),则打印该PLAY [$GROUP] ***行,但除此之外,我不希望打印该标题?理想情况下,我希望它像传统的 unix CLI 工具一样。如果没有任何变化,则不打印任何内容。

答案1

如果插件的选项不能满足您的需求,请选择其他插件或编写您自己的插件。

Ansible 发布的回调可能无法满足仅改变任务的要求。统一稠密不是那么详细的选项,但打印播放开始和播放摘要。

另一个极端是无效的,但是它不打印任何内容。

另外:actionable 实际上是默认的display_skipped_hosts = no。actionabledisplay_ok_hosts = no最终将被删除。

相关内容