我有一个库存文件,如下所示:
all:
children:
win:
children:
hi:
hosts:
10.50.127.18:
10.50.127.19:
bye:
hosts:
10.50.127.18:
10.50.127.19:
linux:
children:
hi:
hosts:
10.50.127.20:
bye:
hosts:
10.50.127.20:
在组vars文件夹中,我有此代码 hi.yml
services:
- ls
- pwd
bye.yml
services:
- pwd
然后在剧本中我有这个:
- hosts: linux
gather_facts: no
tasks:
- name: lalaland
command: "{{ item }}"
loop: "{{services}}"
但我遇到类似以下错误:
fatal: [10.50.127.18]: FAILED! => {"msg": "Unexpected failure in finding the lookup named '{{services}}' in the available lookup plugins"}
你能告诉我我在做什么错吗? 您还知道我是否已经越过变量含义,例如在这种情况下([ls]和[ls,pwd]),我是否会获得vars [ls,ls,pwd]或[ls,pwd]的结果列表? / p>
答案 0 :(得分:0)
但我遇到类似以下错误:
我通过复制粘贴您问题中的内容来制作相同的文件,并且在Ansible 2.8上可以正常运行。
您还知道我是否已经越过了变量的含义,例如在这种情况下([ls]和[ls,pwd]),我是否会得到vars [ls,ls,pwd]或[ls,pwd]的结果列表]?
在分析清单时,组变量将应用于主机。并且具有相同名称的变量将被替换。因此,由于在您的清单中,按字母顺序排列的最后一组是“ hi”,因此您的主机将具有service = [ls, pwd]
。