Ansible:库存中的变量group_vars具有比playbook group_vars更高的优先级

时间:2017-02-22 13:52:48

标签: ansible

我有一个ansible playbooks,应该用不同的库存运行。

playbook group_vars定义了一些默认值的变量。例如:

MY_VAR: my_value

现在,我希望能够在库存group_vars中覆盖这些变量。但是因为库存group_vars的优先级较低,它不会覆盖它。

我试图在playbook group_vars中定义这样的变量:

MY_VAR: {{ MY_VAR | default('my_value') }}

但这也行不通。

我可以以某种方式使库存group_vars覆盖playbook group_vars吗?

1 个答案:

答案 0 :(得分:2)

如何在pre_tasks中使用set_fact? Playbook vars会尽早评估。运行播放时的set_fact。我在想这样的事情:

pre_tasks:
  - name: Override variables
    set_fact:
      MY_VAR: "{{ MY_VAR | default('my_value') }}"