我在 ansible 的文件中group_vars/all
定义了一个变量。
overlay:True
我需要在剧本中检查内核版本,如果内核版本小于 4,我将上述变量设置为 false。这可以在安斯布尔中完成吗? 如果是,我想知道步骤/ansible模块。
根据 http://docs.ansible.com/ansible/playbooks_variables.html#variable-precedence-where-should-i-put-a-variable
在 2.x 中,我们使优先级顺序更加具体(使用 最后列出的变量赢得优先级):
- 角色默认值 [1]
- 库存文件或脚本组变量 [2]
- 库存group_vars/全部
- 行动手册group_vars/全部
- 库存group_vars/*
- 行动手册 group_vars/*
- 清单文件或脚本主机变量 [2]
- 库存host_vars/*
- 行动手册 host_vars/*
- 主机事实
- 玩变量
- 玩vars_prompt
- 播放vars_files
role vars- (在role/vars/main.yml中定义)
块- 变量(仅适用于块中的任务)
任务- 变量(仅适用于任务)
- 角色(和include_role)参数
- 包括参数
- include_vars
- set_facts/注册变量
- 额外的变量(始终优先)
set_fact
具有第二高的优先级。因此,set_fact
设置的变量应该能够覆盖组变量。