如何抑制;“不支持的参数”;Ansible中的错误?
对于输出过于冗长的任务,我在中使用了如何抑制;“不支持的参数”;Ansible中的错误?,ansible,backwards-compatibility,Ansible,Backwards Compatibility,对于输出过于冗长的任务,我在中使用了quiet参数。Ansible 2.8中引入了quiet参数,但不幸的是,我的代码有时需要在Debian Buster上运行,而Debian Buster仍然附带Ansible 2.7 在这种情况下,Ansible将失败,并出现致命错误“不支持(断言)模块的参数:quiet”。由于这只是一个表面参数,我希望Ansible 2.7忽略此参数并继续 有没有办法在我的任务中添加这个参数,这样Ansible 2.8就很好而且安静了,但是任务仍然在Ansible 2.7
quiet
参数。Ansible 2.8中引入了quiet
参数,但不幸的是,我的代码有时需要在Debian Buster上运行,而Debian Buster仍然附带Ansible 2.7
在这种情况下,Ansible将失败,并出现致命错误“不支持(断言)模块的参数:quiet”。由于这只是一个表面参数,我希望Ansible 2.7忽略此参数并继续
有没有办法在我的任务中添加这个参数,这样Ansible 2.8就很好而且安静了,但是任务仍然在Ansible 2.7中运行
- name: Silent assert
assert:
that:
- true
quiet: yes
如果某些参数不适用,有一种方法可以帮助绕过它们。为此,我们可以为Ansible 2.8版或更高版本定义一个变量,该变量将设置为true
。然后,此变量可以与omit
一起传递到assert
模块的quiet
参数
例如:
-设置事实:
你断言:正确
当:ansible_version.full是版本('2.8','>=')时
-断言:
即:
-真的
安静:{{quiet_assert}默认(省略)}”
谢谢,我没有想到要省略。非常感谢。对于那些喜欢(不可读的)单行程序的人来说,这也行,没有一个单独的set\u事实
:quiet:“{{ansible\u version.full是version('2.8','>='))|三元(true,省略)}”