Ansible 易变动态库存

Ansible 易变动态库存,ansible,ansible-playbook,Ansible,Ansible Playbook,我正在运行一个剧本,其中包含多个角色和多个主机 目标是部署一个VM并使用它的IP部署一个应用程序 我的playbook有两个角色,使用“build_vm”角色我可以通过调试显示IP地址,但是当将ipaddr变量传递给第二个角色时,Ansible抱怨变量没有定义 - hosts: linux become: true roles: - build_vm - tasks: - debug: msg="{{ ipaddr }}" - hosts: "

我正在运行一个剧本,其中包含多个角色和多个主机

目标是部署一个VM并使用它的IP部署一个应用程序

我的playbook有两个角色,使用“build_vm”角色我可以通过调试显示IP地址,但是当将ipaddr变量传递给第二个角色时,Ansible抱怨变量没有定义

- hosts: linux
  become: true

  roles:
  - build_vm

    - tasks:
       - debug: msg="{{ ipaddr }}"      

- hosts: "{{ ipaddr }}"
  roles:
  - deploy_app

我使用了set_事实,遇到了同样的问题,我想知道我应该在这里使用什么?动态库存?我在网上搜索过稀疏文档,但找不到直观的例子

使用
添加主机有很多方法。在本例中,我将新主机添加到一个组中,并在以后的播放中使用它

- hosts: linux
  become: true

  roles:
  - build_vm

    - tasks:
       - debug: msg="{{ ipaddr }}"  
       - name: Add ipaddr to host inventory
         add_host: name="{{ ipaddr }}" group=NewHostGroup    

- hosts: NewHostGroup
  roles:
  - deploy_app
请阅读有关模块的内容。