InventoryFileで全Hostに対する変数

Ansibleにおいて表題の通り。変数は書いて欲しいのだが、InventoryFile以外は触ってほしくないので、InventoryFileにどう書けば良いのかを調べた。

■ 環境

  • Ansible 1.9.2

■ Host Variable

http://docs.ansible.com/ansible/intro_inventory.html#host-variables

ホスト毎に設定を入れるのはさすがに問題である。どこか特定のホストだけ設定を変えたいのなら便利に思えるだろうが、今回やりたいことには合わない。

全台で同じ変数を扱いたいとなると、下記のようになってしまう。

$ cat hosts
192.168.33.10 key=test1
192.168.33.11 key=test1
192.168.33.12 key=test1

■ Group Variable

http://docs.ansible.com/ansible/intro_inventory.html#group-variables

これが利用できるのでは?と思い試してみた。下記のように書けば、全てのホストで同じ値の変数が使用してくれる。

$ cat hosts
192.168.33.10
192.168.33.11
192.168.33.12

[all:vars]
key=test1

今回はこれでやりたいことが実現できた。

もっと良い方法があるのかもしれない。が、今はこれで十分なので良しとする。

以上。

■ 関連

AnsibleのTaskでログインユーザを知りたい

CentOSにAnsibleをインストール

InventoryFileでグループ変数