ansible不加载我的主机\u vars/server foo/public.yml文件

ansible不加载我的主机\u vars/server foo/public.yml文件,ansible,Ansible,我有这个结构 hosts host_vars/server-foo/public.yml group_vars/staging/public.yml 在hosts文件中,我定义了这样一个组 [staging] server-foo 我试图定义一个仅对server foo为真的变量,因此我将该行添加到文件host\u vars/server foo/public.yml bar: true 当我试着运行剧本时,我得到了一个错误 fatal: [staging-accounts] =>

我有这个结构

hosts
host_vars/server-foo/public.yml
group_vars/staging/public.yml
hosts
文件中,我定义了这样一个组

[staging]
server-foo
我试图定义一个仅对
server foo
为真的变量,因此我将该行添加到文件
host\u vars/server foo/public.yml

bar: true
当我试着运行剧本时,我得到了一个错误

fatal: [staging-accounts] => error while evaluating conditional: bar
如果我将
bar:true
添加到
group\u vars/staging/public.yml
,那么变量将被拾取,不会出现任何问题


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

定义的结构是正确的,应该选择
主机变量//public.yml
。确保
文件夹名称与资源清册文件中的服务器条目相同。例如,如果资源清册中有一个IP地址,但域名作为文件夹名,则它们必须匹配。

定义的结构是正确的,应该选择
host\u vars//public.yml
。确保
文件夹名称与资源清册文件中的服务器条目相同。例如,如果您在清单中有一个IP地址,但域名作为文件夹名不起作用,则它们必须匹配。

可能是
host\u vars/
需要与
主机
文件相对(在同一目录中)。您是否将
$ANSIBLE\u HOSTS
设置为您项目的本地主机?我的
~/.ANSIBLE.cfg
文件中有
目录=./HOSTS
,并且我从
HOSTS
文件所在的目录运行我的playbook。可能是
主机变量/
需要相对(在同一目录中)您的
承载
文件。您是否将
$ANSIBLE\u HOSTS
设置为您项目的本地主机?我的
~/.ANSIBLE.cfg
文件中有
inventory=./HOSTS
,我正在从
HOSTS
文件所在的目录运行我的playbook。您节省了我的时间。。。host_vars文件的名称应与库存行的名称相同(而不是与库存节的名称相同)。。。host_vars文件的名称应与清单行的名称相同(而不是与清单节名称相同)。