ansible剧本角色变量
对ansible来说相当陌生。 拥有以下角色,例如:ansible剧本角色变量,ansible,ansible-playbook,Ansible,Ansible Playbook,对ansible来说相当陌生。 拥有以下角色,例如:我的角色-我无法覆盖剧本中的默认变量 以下文件: my-role/tasks/main.yml my-role/defaults/main.yml sample-playbook.yml 我的角色/任务/main.yml - name: "Add Test User" user: name={{ my_config_test_user }} comment="{{ my_config_test_user }}" group={{ my_c
我的角色
-我无法覆盖剧本中的默认变量
以下文件:
my-role/tasks/main.yml
my-role/defaults/main.yml
sample-playbook.yml
我的角色/任务/main.yml
- name: "Add Test User"
user: name={{ my_config_test_user }} comment="{{ my_config_test_user }}" group={{ my_config_test_user }}
my_config_test_user: "test"
- debug: var={{ my_config_test_user }}
我的角色/defaults/main.yml
- name: "Add Test User"
user: name={{ my_config_test_user }} comment="{{ my_config_test_user }}" group={{ my_config_test_user }}
my_config_test_user: "test"
- debug: var={{ my_config_test_user }}
剧本:
- name: TestCase
hosts: all
remote_user: root
vars:
my_config_test_user: "override"
roles:
- my-role
在任务中,my\u config\u test\u user
的值保持test
而不是我的预期结果override
有什么提示吗
关于在当前版本的Ansible order of Priority中说,
my\u config\u test\u user
的值应该是override not test,所以我认为您可能在某个地方有输入错误。可能变量拼写不正确
我建议暂时删除defaults/main.yml,以确保不会出现未定义的变量错误。我还建议使用debug模块检查tasks/main.yml中变量的值
- name: "Add Test User"
user: name={{ my_config_test_user }} comment="{{ my_config_test_user }}" group={{ my_config_test_user }}
my_config_test_user: "test"
- debug: var={{ my_config_test_user }}
以下是Ansible当前版本的优先顺序(从最大值开始)供参考:
非常感谢这是一个输入错误,移动默认文件显示:)许多thx-它吓坏了我-我阅读了整个文档,等等,还有+1的变量优先级列表!!