获取Ansible Localhost Ipv4.address

时间:2018-06-06 17:53:20

标签: ansible

我正在尝试获取localhost的ipv4地址, 在我使用它作为变量之前尝试测试是我的j2模板

ansible localhost -m setup -a 'filter=ansible_default_ipv4.address'

此命令的输出是

localhost | SUCCESS => {
    "ansible_facts": {},
    "changed": false
}

所以它是空的。 为什么?这是一些错误吗?

2 个答案:

答案 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
}