2017-02-22 60 views
0

我有一个可靠的剧本,它应该与不同的库存一起运行。Ansible:使库存变量group_vars具有比playbook group_vars更高的优先级

playbook group_vars定义了一些变量,它们是默认值。例如:

MY_VAR: my_value 

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

我试图在剧本group_vars这样定义变量:

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

但是,这也不起作用。

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

回答

2

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

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