ansible

環境 [#bf71ef7e]

-MacOS X 10.10 -Ansible 1.8(※書きが2.0.0)

書き方基本 [#c0e08f89]

 - hosts: test-svr   <-- インベントリファイル(hosts)に記述した対象グループ or ALLで全部カンマ区切りで複数もOK
   remote_user: hogeuser  <-- SSHログインするユーザー名を指定
   su: True                    <-- su で実行する場合
   su_user: root    <-- rootを明示的に記述
   vars: 
      HOGE01: hogehoge  <-- $HOGE01,${HOGE01},{{ HOGE01 }}といった形式で変数として使用可能
  tasks:
  - name: yum update ntp
    yum: name=ntp state=latest
  - name: touch file
    action: touch /tmp/test-20150129.txt   <--サーバー上で実行するコマンド
 
 
 ※2.0.0
 su,sudoの書き方が非推奨になり、become,become_userとなっています。

実行 [#qd23e247]

 # ansible-playbook -i hosts.test playbook.yml -k --ask-su-pass
 ※ -k で一般ユーザーのパスワードを入力
 ※ --ask-su-passでrootのパスワードを入力
 
 SSH password:
 su password:
 
 PLAY [test-svr] ***************************************************************
 
 GATHERING FACTS ***************************************************************
 ok: [192.168.99.3]
 
 TASK: [yum update ntp] ********************************************************
 ok: [192.168.99.3]
 
 PLAY RECAP ********************************************************************
 192.168.99.3             : ok=2    changed=0    unreachable=0    failed=0
 

チェック [#ca13fb57]

 ansible-playbook --syntax-check playbook.yml
 エラーがでなければOK
 

注意 [#d75518a0]

:の後は半角スペースをいれること。いれないとSyntax errorとなる。