ansible不加载我的host_vars / server-foo / public.yml文件

时间:2015-09-18 15:06:42

标签: ansible

我有这个结构

hosts
host_vars/server-foo/public.yml
group_vars/staging/public.yml

并在hosts文件中我定义了一个这样的组

[staging]
server-foo

我试图定义一个仅对server-foo为真的变量,所以我将该行添加到文件host_vars/server-foo/public.yml

bar: true

当我尝试运行剧本时,我得到一个错误

fatal: [staging-accounts] => error while evaluating conditional: bar

如果我将bar: true添加到group_vars/staging/public.yml,则会选择该变量而不会出现任何问题。

任何想法我做错了什么?我相信我一直在遵循ansible建议的方法来定义主机特定变量。

1 个答案:

答案 0 :(得分:5)

定义的结构是正确的,因为host_vars/<server>/public.yml应该被选中。确保<server>文件夹名称与清单文件中的服务器条目相同。例如,如果清单中有IP地址,但域名作为文件夹名称则不起作用,则必须匹配。