こんにちにわ。アウルキャンプ永野です。
弊社ではAnsibleでの自動構築を推進しています。
Ansibleは楽ですね。
Ansibleも2.0になったりRedhatに買収されたりしたことで
Chefより伸びるんではないか?!
と密かに期待をしております。
早速ですが以下のようなことをしたい場合は
host_varsに変数を書いてループさせたい時ってありますよね?
自分はありました。
server1の自動起動させたいサービス
httpdとpostfix
server2の自動起動させたいサービス
httpdとpostfixとmysql
その場合は以下のように記載すると幸せになれました!
host_vars/server1.yml
server1用のservice_on配列を作成します。
service_on: - httpd - postfix
host_vars/server2.yml
こちらも同様にserver2用のservice_on配列を作成します。
service_on: - httpd - iptables - mysql
owlcamp/service_on/tasks/main.yml
- name: "service start"
name: "{{ item }}"
state: started
enabled: yes
with_items: service_on
become: yes
ミソとしては
nameに記載されている{{ item }}には
忘れずにダブルコーテションで閉じること。
これを閉じてしまうとエラーになってしまいます。
これを知っているだけでも色々な応用が可能になり
Ansibleのベストプラクティスに則ったディレクトリ構成が使いやすくなります。
結構ハマると見つかりづらいのでしっかりと覚えておきたいところです。