在Ansible中,从调用设置模块获取来自hostvars和事实的值有什么不同?
如果我要保留主机特定值,只需使用hostvars获取值? 我有很长的主机列表(分组)。如果我使用hostvars来检索值,我该如何区分主机和组?
答案 0 :(得分:5)
您可以在与主机联系之前在广告资源中定义主机变量 您在设置阶段收集事实。
主机变量和收集的事实都合并到同一个字典hostvars
中,因此您无法在运行时区分它们。
组仅用于逻辑分组主机,仅此而已,所有组变量都合并到组中每个主机的相同hostvars
字典中,因此您无法区分什么是组var和什么是主机变种
当您在当前主机上下文中时,所有这些变量/事实都可以通过名称(如{{ var_name }}
)访问,或通过其他主机上下文中的hostvars['other_host']['var_name']
访问。