如何将角色1中定义的变量传递给角色2?
我想知道最好的方法
---
- name: deploy VM
hosts: localhost
roles:
- deploy_vm ## Here I want to deploy the VM and get the VM name/IP address in variable.
- deploy_tomcat_on_above_vm ## I would like to use the VM name and pass it over the second role.
我想使用VM名称并将其传递给第二个角色。
答案 0 :(得分:1)
没有更多详细信息,简单的答案是:只需在第一个角色中分配var,然后在第二个角色中使用它。
同时,这可能不是处理您要尝试执行的操作的最佳方法。我会:
localhost
(已完成)以运行deploy_vm
角色。tomcat_servers
)- name: Add my new created vm to in-memory inventory
add_host:
name: "{{ my_vm_fqdn_or_ip }}"
groups:
- tomcat_servers
ansible_inventory_var_1: value1 # Optional inventory vars...
ansible_inventory_var_2: value2
您现在可以在同一本剧本的第二部戏中直接将您的机器定位到您的机器,以部署tomcat
- name: Now I registered my new tomcat vm(s), go for install
hosts: tomcat_servers
roles:
- role: deploy_tomcat