在ansible 1.9我有一些角色,我可以利用不確定的變量(在ansible.cfg error_on_undefined_vars = FALSE)模板的使用的方式沒有任何問題:ansible 2:不能用民主基金瓦爾模板
模板.yml:
{{ var1 }}{{ var2 }}{{ var3 }}
如果沒有定義這些變量中的任何一個,則不會被替換。所以,你可以根據需要在你的劇本中指出一些這些變量,而不是其他變量。但我發現,在升級到2.2.0.0之後,如果沒有定義這些變量,那麼它們都不會被替換,結果模板爲: {{var1}} {{var2} } {{VAR3}}
如:
劇本:
- hosts: myhost
vars:
var1=1
var3=3
roles:
- myrole
任務:
- name: copy template
become: true
template: src=test.j2 dest=/tmp/test owner=user group=user
運行該劇本後,用1.9 ansible由此而來的/ tmp /測試運行是
13
並用ansible 2.2.0.0是
{{ var1 }}{{ var2 }}{{ var3 }}
所以,無瓦爾被取代。
但如果:
劇本:
- hosts: myhost
vars:
var1=1
var2=2
var3=3
roles:
- myrole
運行這個劇本,所產生的/ tmp /試運行與ansible 1.9/2.2.0.0之後是
123
有沒有人dealed與此行爲之前?
我不認爲OP問如何模仿Ansible 1.9中的Ansible 2行爲,但相反。 – techraf