ansible - Ansible 从一个组中获取主机名作为另一个播放的变量
问题描述
这是库存文件。
[abc]
host1
host2
[123]
host3
和 main.yml
#play1
- hosts: abc
roles:
- { role: abc }
tasks:
...
#play2
- hosts: 123
roles:
- { role: 123 }
tasks:
debug: msg="{{inventory_hostname}}"
基本上我需要在 host3 中运行一些命令,这些命令需要 host1 和 host2 。那么如何将组 abc 中的 host1 和 host2 获取到 play2debug: msg="{{inventory_hostname}}"
中,我知道 inventory_hostname 正在获取 host3。有没有其他方法我只能得到host1和host2。如果我不清楚,请告诉我。
提前致谢。,
解决方案
您可以使用文档中讨论的“组”魔术变量。
groups 是清单中所有组(和主机)的列表。这可用于枚举组内的所有主机。
所以你可以参考,例如,groups['abc']
或groups['abc'][0]
。
推荐阅读
- android - Android 和 iOS Firebase 数据库数据合并
- python - 在云系统仿真(Python)上实现一个基本的 DHT 方法
- java - 错误消息指出已超出数组
- ibm-cloud - 是否可以将视频文件上传到 IBM Cloud Functions / OpenWhisk 函数并对其进行编码?
- ubuntu-18.04 - 删除了 Ubunutu 18.04 Bionic Beaver 上的 /usr/share/X11/xorg.conf
- python - 如何将 pd.grouper 系列转换为 DataFrame
- python-3.x - 导入 keras
- java - 为什么不是所有文件都提交到 bitbucket
- python - 带有虚拟变量 Python 的 Statsmodels OLS 函数
- c++ - 如何将派生对象放置到地图中