vagrantのプラグインを使ってみる Sahara砂漠編
とりあえずO'Reilly本にのっているもので使ってみるかーって思ったもの
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していない変更はロールバックされるらしいので気をつけましょう。
プロビジョニングの動作確認するときとかに便利そう。
プロビジョニング流してうまくいってなかったら戻してー。とか。