有这个ansible playbook。需要在没有事实的情况下更改它的角色。如何使用 in role/default/main.yml 为变量重写此代码
谢谢
---
- name: test my group
hosts: my-group
tasks:
- name: test1 fact set
set_fact:
var1: 2
var2: 3
when: hostname is test1
- name: test2 fact set
set_fact:
var1: 3
var2: 3
when: hostname is test2
- debug: var="var1 + var2"
如果你想设置特定于主机的变量,你可以将它们设置在一个以主机命名的文件中,该文件位于
host_vars
与你的剧本或清单相邻的目录中。例如,给定此布局:host_vars/test1.yaml
然后将为 hosttest1
等设置定义的变量。否则,设置特定于主机的变量的唯一方法是使用诸如 a
set_fact
或include_vars
task 之类的东西以及when
您在问题中显示的条件。如果你真的需要在你的角色
defaults/main.yaml
文件中这样做,你可以这样做:但如果变量数量或主机数量很大,那将很难阅读。