Ansible嵌套字典似乎在相同的子组中做一些奇怪的事情

时间:2018-10-10 08:55:46

标签: ansible yaml

# inventory.yml
europe:
  children:
    germany:
      children:
        on-premise:
          hosts:
            127.0.0.1:
        datacenter:
          hosts:
            127.0.0.2:
    france:
      children:
        on-premise:
          hosts:
            127.0.0.3:
        datacenter:
          hosts:
            127.0.0.4:

使用不同的--limit选项运行以下命令:

ansible-playbook -i inventory.yml random-playbook.yml --limit 'some-limit'

  • europe我希望运行127.0.0.1、127.0.0.2、127.0.0.3、127.0.0.4
  • on-premise我希望运行127.0.0.1、127.0.0.3
  • datacenter我希望运行127.0.0.2、127.0.0.4
  • germany我希望运行127.0.0.1、127.0.0.2
  • france我希望运行127.0.0.3、127.0.0.4

现在,我的问题:

  • 欧洲工作正常
  • 内部部署按预期工作
  • 数据中心按预期工作
  • 德国运行127.0.0.1、127.0.0.2、127.0.0.3、127.0.0.4
  • france运行127.0.0.1、127.0.0.2、127.0.0.3、127.0.0.4

玩了一段时间之后,似乎在德国和法国没有两个本地或两个数据中心子级的情况下,这种行为就消失了。

感觉就像在创建主机列表时一样,就像“好吧,法国,本地和数据中心是子代...获取该组的所有子代/主机” ...之后,他在{ {1}}个从未属于法国的团体。

我只是想知道我是不是做错了,或者这是否是故意的行为

0 个答案:

没有答案