如何抑制 Ansible 中的 "Unsupported parameters" 错误?
How to suppress "Unsupported parameters" error in Ansible?
我在 assert
module 中使用 quiet
参数来处理输出过于冗长的任务。 quiet
参数是在 Ansible 2.8 中引入的,但不幸的是,我的代码有时需要在 Debian Buster 上 运行,它仍然带有 Ansible 2.7。
在这种情况下,Ansible 会失败并出现致命错误“(断言)模块不支持的参数:安静”。由于这只是一个修饰参数,我希望 Ansible 2.7 忽略此参数并继续。
有没有办法在我的任务中添加此参数,以便 Ansible 2.8 既好又安静,但任务在 Ansible 2.7 中仍然 运行s?
- name: Silent assert
assert:
that:
- true
quiet: yes
有一个 omit
filter 可以帮助绕过一些不适用的参数。为此,我们可以定义一个变量,对于 Ansible 2.8 或更高版本,该变量将设置为 true
。那么这个变量可以结合omit
.
传递给assert
模块的quiet
参数
示例:
- set_fact:
quiet_assert: true
when: ansible_version.full is version('2.8', '>=')
- assert:
that:
- true
quiet: "{{ quiet_assert|default(omit) }}"
我在 assert
module 中使用 quiet
参数来处理输出过于冗长的任务。 quiet
参数是在 Ansible 2.8 中引入的,但不幸的是,我的代码有时需要在 Debian Buster 上 运行,它仍然带有 Ansible 2.7。
在这种情况下,Ansible 会失败并出现致命错误“(断言)模块不支持的参数:安静”。由于这只是一个修饰参数,我希望 Ansible 2.7 忽略此参数并继续。
有没有办法在我的任务中添加此参数,以便 Ansible 2.8 既好又安静,但任务在 Ansible 2.7 中仍然 运行s?
- name: Silent assert
assert:
that:
- true
quiet: yes
有一个 omit
filter 可以帮助绕过一些不适用的参数。为此,我们可以定义一个变量,对于 Ansible 2.8 或更高版本,该变量将设置为 true
。那么这个变量可以结合omit
.
assert
模块的quiet
参数
示例:
- set_fact:
quiet_assert: true
when: ansible_version.full is version('2.8', '>=')
- assert:
that:
- true
quiet: "{{ quiet_assert|default(omit) }}"