【发布时间】:2016-08-29 13:33:48
【问题描述】:
我定义了两组主机:wmaster 和wnodes。每个小组都在各自的游戏中运行:
- hosts: wmaster
roles:
- all
- swarm-mode
vars:
- swarm_master: true
- hosts: wnodes
roles:
- all
- swarm-mode
我使用主机变量 (swarm_master) 来定义某些角色的不同行为。
现在,我的第一个剧本执行了一些初始化,我需要与节点共享数据。我所做的是在第一次播放中使用set_fact,然后在第二次播放中查找:
- set_fact:
docker_worker_token: "{{ hostvars[smarm_master_ip].foo }}"
我不喜欢使用swarm_master_ip。如何添加一个虚拟主机:global,例如地址1.1.1.1 没有任何作用,仅用于保存全局事实/变量?
【问题讨论】:
-
您可以使用
hostvars[groups['wmaster'][0]]语法代替swarm_master_ip。