1
Ansible中是否存在「全局」變量(即跨多個主機)?我想設置一個錯誤標誌,然後調用一個特定的單獨的劇本,如果我們打錯了狀態。我的結構像下面的東西:Ansible - 全局變量
- hosts: localhost
connection: local
gather_facts: no
roles:
- role1 <-- some error flag is set here
- role2
- include: teardown.yml
when: error_flag is defined and error_flag == true
我試過在group_vars
設置一個變量,但在我看來,這裏還有在運行時改變變量值沒有真正的方法。
Set_fact不起作用,因爲拆卸的when
不在本地主機中。即使我嘗試訪問hostvars['localhost']['error_flag]
,這也不起作用,因爲您似乎無法在when
子句中使用Jinja模板。
主機變量'hostvars.localhost.error_flag'應該可以在沒有Jinja2模板的'when'子句中訪問。也就是說,不用'{{''}}'Jinja2分隔符來寫這個表達式。 –