ansible来自安装模块的hostvars和收集的事实和事实是如何不同的

时间:2017-08-09 01:44:41

标签: ansible

在Ansible中,从调用设置模块获取来自hostvars和事实的值有什么不同?

如果我要保留主机特定值,只需使用hostvars获取值? 我有很长的主机列表(分组)。如果我使用hostvars来检索值,我该如何区分主机和组?

1 个答案:

答案 0 :(得分:5)

您可以在与主机联系之前在广告资源中定义主机变量 您在设置阶段收集事实。

主机变量和收集的事实都合并到同一个字典hostvars中,因此您无法在运行时区分它们。

组仅用于逻辑分组主机,仅此而已,所有组变量都合并到组中每个主机的相同hostvars字典中,因此您无法区分什么是组var和什么是主机变种

当您在当前主机上下文中时,所有这些变量/事实都可以通过名称(如{{ var_name }})访问,或通过其他主机上下文中的hostvars['other_host']['var_name']访问。