我正在尝试filter
setup
为特定的模块进行模块fact
,但在使用playbook
. 它适用于adhoc command
!
示例剧本:
---
- name: facts test
hosts: localhost
connection: local
gather_facts: false
tasks:
- ansible.builtin.setup:
filter:
- "ansible_all_ipv4_addresses"
- debug: var=ansible_all_ipv4_addresses
...
输出:
TASK [debug var=ansible_all_ipv4_addresses] ****************************************************************
ok: [localhost] => {
"ansible_all_ipv4_addresses": "VARIABLE IS NOT DEFINED!"
}
预期输出:
TASK [debug var=ansible_all_ipv4_addresses] ****************************************************************
ok: [localhost] => {
"ansible_all_ipv4_addresses": [
"192.168.1.1"
]
}
Adhoc 命令ansible localhost -m setup -a "filter=ansible_all_ipv4_addresses"
产生正确的输出。
知道这里有什么问题吗?
我测试过的 Ansible 版本:
$ ansible --version
ansible 2.9.6
谢谢,
这几乎肯定是你的 ansible 版本的问题。该filter
参数采用了list
since ansible-core
version 2.11
,您可能使用的是较旧的版本。
你有两种可能:
filter: "ansible_all_ipv4_addresses"
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句