今天在编写ansible roles的时候,出现了几个问题:
1、使用了update关键词,导致剧本中无法使用变量
2、在defaults中定义的变量,与vars中的变量重名,还是举例说明:
在vars的main.yml中这样定义变量:
admin:
config: "true"
而在defaults中定义变量:
admin:
upgrade: "true"
当剧本中使用变量,
- name: test
shell: echo "hello world"
when: admin.upgrade == "true"
这时候就会报错,原因应该是:剧本先去vars中的main.yml中找变量,发现有“admin”,接着再找“upgrade”,发现没有即报错,而不会再去查找defaults中的变量
网友评论