2017-06-15 97 views
-1

我有一個變量定義在group_vars/all文件中。有沒有什麼辦法可以改變group_vars/all下定義的變量值

overlay:True 

我需要檢查在劇本的內核版本和上述varibale設置爲false,如果內核版本是小於4,可這ansible來完成。 如果是,我想知道步驟/可行模塊。

+1

是的,可以做到。 – techraf

+0

@techraf請你可以告訴我應該使用相同的模塊。 – ambikanair

+1

您將使用什麼模塊來設置其他值? – techraf

回答

1

根據http://docs.ansible.com/ansible/playbooks_variables.html#variable-precedence-where-should-i-put-a-variable

在2.x中,我們已經取得了優先級的更多具體的(與 最後列出的變量贏得優先)的順序:

  • 角色的默認值[1]
  • 庫存文件或腳本組變量[2]
  • 庫存組_VERS /全部
  • 個劇本group_vars /所有
  • 庫存group_vars/*
  • 劇本group_vars/*
  • 清單文件或腳本主機瓦爾[2]
  • 庫存host_vars/*
  • 劇本host_vars/*
  • 主機事實
  • 發揮瓦爾
  • 發揮vars_prompt
  • 發揮vars_files
  • 角色乏
  • 塊瓦爾(僅適用於塊任務)
  • 任務瓦爾(僅適用於任務)
  • 角色(和include_role)(以角色/瓦爾/ main.yml定義)PARAMS
  • 包括PARAMS
  • include_vars
  • set_facts /註冊瓦爾
  • 額外的增值經銷商(總是贏優先)

set_fact具有第二更高優先級。所以由set_fact設置的變量應該能夠覆蓋組變量。

相關問題