【发布时间】:2017-05-02 13:00:21
【问题描述】:
我正在编写一个可用于不同 Linux 操作系统系列的 Ansible 角色,并且每个操作系统系列的变量具有不同的默认值。
起初,我认为在角色中使用 include vars 任务会很容易设置,例如:
- name: Gather OS family variables
include_vars: "{{ ansible_os_family|lower }}.yml"
与
my_role_variable: "Here is the default for Enterprise Linux"
在myrole/vars/redhat.yml
my_role_variable: "Here is the default for Debian Linux"
在myrole/vars/debian.yml
但是,就我而言,使用角色的剧本能够轻松覆盖默认值非常重要。
因此,我试图找出一种方法来为每个操作系统系列的变量设置不同的默认值,如上所述,但我希望变量是角色默认变量而不是角色包含变量。有没有办法做到这一点?
【问题讨论】:
标签: ansible ansible-role