Itamae | dry-run オプションで変更を行わずに動作を確認。板前がトイレを設置せずにトイレ感を味わってみる。 #devops #itamae

# Itamae | dry-run オプションで変更を行わずに動作を確認。板前がトイレを設置せずにトイレ感を味わってみる。 #devops #itamae

## 概要
プロビジョニングツール Itamae

dry-run オプションで変更を行わずに動作を確認します。
toilet コマンドのインストールを dry-run で行い、トイレを設置せずにトイレ感を味わってみます。

※toilet コマンドについては下記リンク参照
http://www.tecmint.com/20-funny-commands-of-linux-or-linux-is-fun-in-terminal/

## 試行
### 仕様
* toilet をインストールするだけのレシピを利用。

~~~
package "toilet" do
  action :install
end
~~~

* 対象サーバーは、 192.168.33.99 とする。
* user は vagrant

### 実行

dry-run オプションは `-n` か `--dry-run` で指定可能。

~~~
# ssh コマンドでローカル環境からプロビジョニング実行
$ itamae ssh -h 192.168.33.99 -n -u vagrant recipe.rb
 INFO : Starting Itamae...
 INFO : Recipe: /cygdrive/d/project/study/qiita/20141010_itamae_dry_run/recipe.rb
 INFO :    package[toilet]
 INFO :       action: install
 INFO :          installed will change from 'false' to 'true'

# 192.168.33.99 に ssh 接続して tree のインストール結果を確認
$ vagrant ssh
$ which toilet
# インストールされていない
$ toilet -v
The program 'toilet' is currently not installed.  You can install it by typing:
sudo apt-get install toilet
$ exit # ローカル環境へ

# dry-run option を外してインストール実施
$ itamae ssh -h 192.168.33.99 -u vagrant recipe.rb
 INFO : Starting Itamae...
 INFO : Recipe: /path/to/your/vagrant_home/itamae_target/recipe.rb
 INFO :    package[toilet]
 INFO :       action: install
 INFO :          installed will change from 'false' to 'true'

# 192.168.33.99 に ssh 接続して tree のインストール結果を確認
$ vagrant ssh
$ which toilet
# インストールされていない
$ toilet -v
The program 'toilet' is currently not installed.  You can install it by typing:
sudo apt-get install toilet
$ exit # ローカル環境へ
$ which toilet
/usr/bin/toilet
$ toilet -v
TOIlet Copyright 2006 Sam Hocevar
Internet: <sam@hocevar.net> Version: 0.2, date:

TOIlet, along with the various TOIlet fonts and documentation, may be
freely copied and distributed.

If you use TOIlet, please send an e-mail message to <sam@hocevar.net>.

The latest version of TOIlet is available from the web site,
        http://libcaca.zoy.org/toilet.html

Usage: toilet [ -hkostvSW ] [ -d fontdirectory ]
              [ -f fontfile ] [ -F filter ] [ -w outputwidth ]
              [ -I infocode ] [ -E format ] [ message ]
~~~

## おまけ
せっかくインストールしたトイレを堪能

~~~bash
$ sudo apt-get install toilet-fonts
$ toilet "Itamae" -F gay

 mmmmm    m
   #    mm#mm   mmm   mmmmm   mmm    mmm
   #      #    "   #  # # #  "   #  #"  #
   #      #    m"""#  # # #  m"""#  #""""
 mm#mm    "mm  "mm"#  # # #  "mm"#  "#mm"
~~~

![itamae_toilet_gay.png](https://qiita-image-store.s3.amazonaws.com/0/43480/3b42c63f-bf1c-7e83-1214-19150e54b128.png)

~~~bash
$ toilet "Itamae" -F metal

 mmmmm    m
   #    mm#mm   mmm   mmmmm   mmm    mmm
   #      #    "   #  # # #  "   #  #"  #
   #      #    m"""#  # # #  m"""#  #""""
 mm#mm    "mm  "mm"#  # # #  "mm"#  "#mm"
~~~

![itamae_toilet_metal.png](https://qiita-image-store.s3.amazonaws.com/0/43480/9004e4e3-8028-d448-94d8-069ae5a818d4.png)

~~~bash
$ toilet -f bigascii9 -F gay itamae


   #
          #
          #
 ###    #####  .###.  ## #   .###.   ###
   #      #    #: :#  #:#:#  #: :#     :#
   #      #        #  # # #      #  #   #
   #      #    :####  # # #  :####  #####
   #      #    #:  #  # # #  #:  #  #
   #      #.   #.  #  # # #  #.  #      #
 #####    :##  :##:#  # # #  :##:#   ###:
~~~

![itamae_toilet_gay_bigascii9.png](https://qiita-image-store.s3.amazonaws.com/0/43480/729c6be1-3908-8651-7b21-727642f1ed09.png)

## 参照
* [Itamae GitHub](https://github.com/ryotarai/itamae)
* [Itamae Vagrant GitHub](https://github.com/chiastolite/vagrant-itamae)
* [軽量・高速版 Chef 「Itamae」。 プロビジョニングツールの学習コスト低下。Berkshelfからの解放。Chef Solo から Chef Zero への移行からの解放 #devops #itamae](http://qiita.com/tbpgr/items/3b6796c1cfc3c3e5521f)