在 ansible 剧本中,我收到一个错误"foo"未定义运行此剧本



知道为什么会这样吗?

undefined变量-错误是:'foo'未定义。我试过使用test。

test.yml

---
- hosts: all
roles:
- test

角色/测试/任务/main.yml

- name: test
debug:
msg: "{{ foo }}"

group_vars/test.vars

foo=bar

库存

[all]
localhost
ansible-playbook -i inventory --extra-vars group_vars/@test.vars test.yml

它们被称为group_vars,因为它们与主机组名称相关。

  • 在目录文件和主剧本中,组名应该是[test]而不是[all]
  • 变量文件名应与主机组名称相同,并采用YAML格式test.yml
  • 变量应该写在YAMLfoo: bar

在这些更改之后,不需要在命令行上传递文件,因为ansible会自动检测它:

ansible-playbook -i inventory test.yml

我发现答案是移动@外面,所以;它看起来像这样:

--extra-vars @group_vars/test.vars

相关内容

  • 没有找到相关文章

最新更新