0

我知道 ansible,我可以根据ansible -m setup instance1 问题使用查看有关管理机器的“事实”: 我在哪里可以获得 Ansible 预定义变量的列表?

但是我正在使用分子,所以对于我instance1通过分子创建的 docker 容器是否有相同的方法

我的原因是试图理解为什么尽管做了一个gather_facts我得到了我的分子日志......

ok: [instance2] => {
    "ansible_default_ipv4": "VARIABLE IS NOT DEFINED!"
}

供参考这里是我的分子设置...

(.venv) [root@localhost foo]# molecule list
 Validation completed successfully.
Instance Name    Driver Name    Provisioner Name    Scenario Name    Created    Converged
---------------  -------------  ------------------  ---------------  ---------  -----------
instance1        docker         ansible             default          true       false
instance2        docker         ansible             default          true       false
instance3        docker         ansible             default          true       false




 # molecule login --host instance1
    // SNIP 
    Validation completed successfully.
[root@instance1 /]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
    link/ether 02:42:3c:17:4d:0b brd ff:ff:ff:ff:ff:ff
    inet 172.18.0.1/16 brd 172.18.255.255 scope global docker0
       valid_lft forever preferred_lft forever
11: eth0@if12: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
    link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 172.17.0.2/16 brd 172.17.255.255 scope global eth0
       valid_lft forever preferred_lft forever
4

1 回答 1

0

此任务将打印出ansible_facts集合:

  tasks:
    - name: "print ansible_facts vars"
      debug: var=ansible_facts

通过查看您发布的内容,尽管我怀疑ansible_default_ipv4您实际上可能想要ansible_facts['default_ipv4']

于 2020-04-01T21:18:43.397 回答