我正在尝试获取localhost的ipv4地址, 在我使用它作为变量之前尝试测试是我的j2模板
ansible localhost -m setup -a 'filter=ansible_default_ipv4.address'
此命令的输出是
localhost | SUCCESS => {
"ansible_facts": {},
"changed": false
}
所以它是空的。 为什么?这是一些错误吗?
答案 0 :(得分:0)
事实(filter
参数中使用的值)是ansible_default_ipv4
。它是一个字典,包含一个键address
。
无法过滤值,因此您需要使用:
ansible localhost -m setup -a 'filter=ansible_default_ipv4'
答案 1 :(得分:0)
为我尝试这个临时设置模块过滤器,即可正常运行。
$ ansible dev -m setup -a 'filter=ansible_all_ipv4_addresses'
node1.example.com | SUCCESS => {
"ansible_facts": {
"ansible_all_ipv4_addresses": [
"10.160.12.13"
],
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false
}