我正在尝试从特定组中获取特定变量,但它似乎导致我得到奇怪的结果。
主机文件示例:
[server_machine]
zeus account=app1
[agent_machine]
machine1 account=agent port_a=1000 port_b=1001
machine2 account=agent port_a=1200 port_b=1201
machine3 account=agent port_a=1300 port_b=1301
我要做的是使用server_machine
组中的参数在agent_machines
组上运行脚本。
这样,脚本将在server_machine
上使用所有端口组合运行3次。
所以基本上我需要看起来像这样的剧本:
- hosts: server_machine
- tasks:
- command: test.py --port_1 {{item}} --port_2 {{item}}
with_items:{{group.agent_machine.port_a, group.agent_machine.port_b }}
然而,我无法使其发挥作用。
答案 0 :(得分:0)
试试这个:
- command: test.py --port_1 {{ hostvars[item]["port_a"] }} --port_2 {{ hostvars[item]["port_b"] }}
with_items: groups["agent_machine"]
答案 1 :(得分:0)
对于'delegate_to'来说,这是一个很好的用例:
- hosts: agent_machine
tasks:
- command: test.py --port_1 {{port_a}} --port_2 {{port_b}}
delegate_to: zeus