Ansible角色不会添加缺少的默认值

时间:2017-07-07 14:50:48

标签: ansible

如果我在playbook中添加var dict的任何部分......它将不会从角色默认值中填充dict的其余部分。这是正常的吗?这很令人困惑。

Playbook代码段:

- role: nvm
    nvm:
      node_version: '6.11.0'

所有defaults/main.yml

---
nvm:
  user: "{{ ansible_user_id | default('goats') }}"
  version: v0.4.0

  node_version: '0.10'

被忽略,nvm对象只包含node_version

我是否无理由期望它会添加缺失值,或者这是一个错误?

1 个答案:

答案 0 :(得分:2)

定义相同变量时ansible的默认行为是替换它,优先级在" Variable Precedence: Where Should I Put A Variable?"

中定义

您可以通过将配置hash_behaviour设置为merge

来更改此行为