はやさがたりない。

へっぽこぷろぐらまのメモログ

vagrantのプラグインを使ってみる Sahara砂漠編

とりあえずO'Reilly本にのっているもので使ってみるかーって思ったもの

  • Sahara
    コマンドラインから仮想マシンの変更をいつでも巻き戻せるようになる。

  • vagrant-vbguest
    仮想マシンにインストールされているGuestAdditionを現在利用中のVirtualBoxにあったものに更新してくれる
    実際に困ったときにさわるとして今回はめも程度

  • vagrant-omnibus
    Chef Solo および Chef Clientをインストールする
    次回につづく

  • vagrant-berkshelf
    Chef Soloを使ったプロビジョニングの際にBerkShelfを簡単に使えるようにしてくれる
    次回につづく


とりあえず初期状態

$ vagrant plugin list
vagrant-login (1.0.1, system)
vagrant-share (1.1.0, system)

Sahara

今回はSaharaをためす(砂漠?) まずはプラグインのインストール

$ vagrant plugin install sahara
Installing the 'sahara' plugin. This can take a few minutes...
Installed the plugin 'sahara (0.0.16)'!

sandbox(変更をいつでも巻き戻せる)モードのステータスを確認

$ vagrat sandbox status
[db] Sandbox mode is off
[web] Sandbox mode is off

sandboxモードを有効にする
これでweb,dbともにsandboxモードになったことがわかる

$ vagrant sandbox on
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%

$ vagrant sandbox status
[db] Sandbox mode is on
[web] Sandbox mode is on

webのインスタンスに変更を加えてみる。

$ vagrant ssh web
[vagrant@vagrant-centos65 ~]$ echo hoge > hoge
[vagrant@vagrant-centos65 ~]$ ls -l
total 4
-rw-rw-r-- 1 vagrant vagrant 5 Jun  8 02:21 hoge
[vagrant@vagrant-centos65 ~]$ exit

ロールバックしてみる。
ここでwebだけロールバックする指定を忘れてdb側も戻してしまった。。
複数立ち上げるときはこの辺りに注意が必要、と。。。

$ vagrant sandbox rollback
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%

ロールバックされたことを確認。
作ったファイルがなくなった。

$ vagrant ssh web
[vagrant@vagrant-centos65 ~]$ ls -l
total 0

変更を適用したい場合はcommitをする。RDBと同じイメージでわかりやすい。 またweb側にファイルを作って、commitする

$ vagrant sandbox commit
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%

うわー、またやらかした。
複数立ち上げ、俺みたいな適当な人間には向いてないんじゃ。
確実にやらかす気がしてならない。

ともあれこれでvagrant sandbox rollbackしても変更は戻っていませんでした。 sandboxモードをoffにするときもcommitしていない変更はロールバックされるらしいので気をつけましょう。

プロビジョニングの動作確認するときとかに便利そう。
プロビジョニング流してうまくいってなかったら戻してー。とか。