Ansible:覆盖变量

时间:2017-09-18 16:07:48

标签: variables ansible override roles

如何在以下情况下覆盖变量: 剧本/角色/基于role1 /默认/ main.yml

# Example1
myvars:
  var1: val1
  var2: val2

我想从这个哈希中只覆盖一个变量,比如

# Example1
myvars:
  var2: val2-new

我在构建后添加到playbook.yml:

vars_files:
  - vars/local_conf_options.yml

vars / local_conf_options.yml包含Example2中的内容 我收到有关未定义变量var1的错误。

我如何解决这个问题?

PS:我试图重命名'默认'到了#vars',但得到了同样的错误。

1 个答案:

答案 0 :(得分:2)

您可以将hash_behaviour修改为merge。默认值为replace

但要小心,这是全球性的设定!由于这种变化,你的剧本的其他部分可能会中断。