Ansible中的嵌套循环

问题描述 投票:0回答:1

我知道此处的嵌套循环文档:http://docs.ansible.com/ansible/playbooks_loops.html#nested-loops我有3台服务器:说server1,server2,server3。我需要以这种方式运行命令:

在server1上运行命令在server1上运行命令,在server2上运行命令在server1上运行命令,在server2上运行命令,在server3上运行命令]

任何想法我如何在ansible中使用循环来做到这一点?我知道如何使用循环和乘积过滤器运行嵌套循环。但是不知道如何使用Ansible处理我的特殊情况。

ansible ansible-2.x ansible-inventory
1个回答
0
投票

取决于数据的结构。例如,剧本可以胜任]

- hosts: server1,server2,server3
  vars:
    batch001:
      - command1: "foo"
        hosts: [server1]
      - command2: "bar"
        hosts: [server1, server2]
      - command1: "baz"
        hosts: [server1, server2, server3]
  tasks:
    - command: "{{ item.command }}"
      loop: "{{ batch001 }}"
      when: inventory_hostname in item.hosts
© www.soinside.com 2019 - 2024. All rights reserved.