1
可以说我有类似下面如何在另一个剧本中使用定义的事实/变量?
- name: install nagios client
hosts: client1
roles:
- nagios-client
set_fact:
client_ip: "{{ ansible_default_ipv4.address }}"
client_hostname: "{{ ansible_hostname }}"
- name: register client
hosts: server
vars:
- ip: {{ client_ip }}
- hostname: {{ client_hostname }}
role:
- register-nagios-client
我知道set_fact被绑定到一个主机,不能在另一种使用,也可以得到事实{{ hostvars['client1']['ansible_eth0']['ipv4']['address'] }}
客户端的IP一个剧本。但是有没有办法来定义一个局部变量,可以在yml文件的多个位置引用?
我只是想知道是否有一个自动的方式来使用第二个剧本的'client1'名称。像局部变量或可以在剧本中的一个地方定义并在多个地方引用的东西。 – pdna
您的示例中的'client1'是主机组名称(主机模式)。它可能会解析为匹配组名的单个主机,单个主机不匹配组名或多个主机。您正在尝试解决XY问题。 – techraf
在我的用例中,它只匹配单个主机(不是组)。 – pdna