LoginSignup
51
50

More than 5 years have passed since last update.

Ansibleの変数の優先度

Last updated at Posted at 2013-09-16

Ansible 1.3でroleのデフォルト変数と依存関係が設定できるようになったので、変数の優先度を調べてみた。

優先度が高い順から下記のようになっている。

  • factsやregisterで設定される値
  • roleにパラメータとして渡した値
  • vars_file
  • extra_varとしてコマンドラインから渡した値
  • varsセクションで設定した値
  • roles/x/vars/main.ymlで設定した値
  • inventory_fileでホストに設定した値
  • inventory_fileでグループに設定した値
  • roles/x/defaults/main.ymlで設定した値

roles/x/meta/main.ymlで他のroleへの依存を設定した場合には、そのroleに設定した変数の
値も読み込まれる。(優先順位としては呼び出し元のroleの変数と同じで、呼び出し元のroleでも値が設定されていた場合には呼び出し元の値が優先されるようだ。)
複数のRoleで同じ変数名を使っているとハマることがあるかも。

参考資料
http://www.ansibleworks.com/docs/playbooks2.html

51
50
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
51
50