将Ansible任务输出用作其他任务或游戏中的主机列表

将Ansible任务输出用作其他任务或游戏中的主机列表,ansible,ansible-2.x,Ansible,Ansible 2.x,我正在尝试运行一个能够动态抓取主机的playbook。我们目前有一个脚本,可以根据输入参数和输出到标准输出获取主机,类似于: host1 host2 host3 host4 有没有办法让这些信息在剧中使用 - name: Prep hosts: localhost gather_facts: False tasks: - name: Grab Host List shell: somecommand.py register: hostlist

我正在尝试运行一个能够动态抓取主机的playbook。我们目前有一个脚本,可以根据输入参数和输出到标准输出获取主机,类似于:

host1
host2
host3
host4
有没有办法让这些信息在剧中使用

- name: Prep
  hosts: localhost
  gather_facts: False
  tasks:
    - name: Grab Host List
      shell: somecommand.py
      register: hostlist
      changed_when: False
      always_run: yes

- name: Do something on Hosts from the previous play
  hosts: (host list from previous play)
  gather_facts: False
  tasks:
    - name: Do something on Hosts from the previous task
      shell: BlahBlah.sh
问:“主持人:(上一部剧的主持人名单)

答:使用并创建新的主机组,例如

-名称:Prep
主机:本地主机
收集事实:错误
任务:
-名称:抓取主机列表
shell:somecommand.py
登记号码:hostlist
更改时间:False
总是跑:是的
-添加\u主机:
主机名:“{{item}}”
组别:新大学组别
循环:“{hostlist.stdout_line}”
-名称:在上一个剧目中的主机上执行某些操作
主持人:新华社
收集事实:错误
任务:
-名称:在上一个任务的主机上执行某些操作
shell:BlahBlah.sh