05 playbook

ansible-playbook playbook.yml --syntax-check
ansible-playbook playbook.yml --list-task
ansible-playbook playbook.yml --check



【 playbook.yml 】
============================================
---
- hosts: all
  sudo: yes
  tasks:
    - name: add a new user
      user: name=taguchi state=absent
============================================

さて、続きをやっていきましょう。
0:05
前回は Playbook を使っていろいろやっていきましたが、今回はその中で使ったモジュールについて見ていきましょう。
0:13
例えば user モジュールを使ったのですが、他にどのようなオプションがあるか、user 以外にどういうモジュールがあるかというのを見ていきたいと思います。
0:20
どこに一覧があるかというと…、Ansible ドキュメントに一覧があります。
0:26
左側に「Module Index」というのがあるので、こちらを見ていきましょう。
0:29
カテゴリに分かれていますが、この中にたくさんモジュールが詰まっているので、詳細を見たい場合はこちらから探していってください。
0:39
ユーザの場合は、System Modules の user のところにあるかと思います。
0:45
それぞれのオプションが必須なのかどうか、それぞれどういった値を取り得るか、というのが書かれていたりします。
0:51
例えば name は必須なので必ず付けなくてはいけません、となっています。
0:56
せっかくなので、他のオプションも使ってみましょう。
0:58
よく使うのは state というものです。
1:01
state は、それが存在するかどうかを指定することができます。
1:05
例えば「taguchi ユーザがいない」としたい場合には、Playbook を編集して、「user: name=taguchi state=absent」とすれば削除がされるはずです。
1:24
これで実行してみましょう。
1:26
実行すると、サーバの状態が変わりましたと出ています。
1:31
「ssh web」で Web にログインして、「cat /etc/passwd」とすると、ユーザの一覧から taguchi がいなくなっているのが分かるかと思います。
1:43
こういった具合にいろいろなオプションを使うことができるので、使い方として、マニュアルの見方とともに覚えておくようにしましょう。
1:50
それから ansible-playbook のオプションがいくつかあるので、それを見ていきます。
1:56
1 つ目が「--syntax-check」で、これをオプションに付けると Playbook の文法が合っているか間違っているかを教えてくれます。
2:06
今回やってみると、ちゃんとエラーもなくできているのが分かるかと思います。
2:10
その他、「--list-task」とすると、タスクの一覧を出してくれるので、この Playbook で何をやるのかというときに使えるかと思います。
2:23
その他、「--check」とすると、ドライランをしてくれます。
2:27
ドライランは何かというと、実際に実行はしないが、実行したとするとどういった結果表示になるかというのを教えてくれるものになります。
2:36
この辺もオプションとして慣れておくといいかと思います。