このエントリーをはてなブックマークに追加

Ansibleでもっとも重要な設定

Ansible Advent Calendar 2013の14日目の記事です。

このアドベントカレンダーもそうですが、最近Ansibleを使っているという話をちらほら聞くようになりました。

ただ、どうもAnsibleの中でもっとも重要な設定をされていない方が散見されるようです。

これではいけない、と思い、ここに注意喚起の記事を書きます。

設定

このplaybookを実行してください。とりあえずRedHat系、Debian系、FreeBSD、homebrewで動作しますが、他のOS Familyをお使いの方は別途追加してください。

- hosts: all
  connection: local
  sudo: yes
  tasks:
    - yum: name=cowsay state=present
      when: ansible_os_family == "RedHat"
    - apt: pkg=cowsay  state=present
      when: ansible_os_family == "Debian"
    - pkgng: name=cowsay  state=present
      when: ansible_os_family == "FreeBSD"
    - homebrew: name=cowsay  state=present
      when: ansible_os_family == "Darwin"

実行しましたか?では環境変数を設定してください。

% export ANSIBLE_COW_SELECTION=random

これでOKです。

(ansible)%ansible-playbook -i hosts msg.yml
 ______________
< PLAY [local] >
 --------------
    \
     \  /\/\
       \   /
       |  0 >>
       |___|
 __((_<|   |
(          |
(__________)
   |      |
   |      |
   /\     /\

 __________________
< TASK: ちゃんと設定しろよ! >
 ------------------
    \
     \  /\/\
       \   /
       |  0 >>
       |___|
 __((_<|   |
(          |
(__________)
   |      |
   |      |
   /\     /\

ok: [local] => {
    "msg": "boooo!"
}

追伸

無効化するにはexport ANSIBLE_NOCOWS=yesと設定します。

環境変数にはrandomではなくcowsay -lで出てくる値を入れると固定化されます。