Vagrant使う場合、VirtualBox の設定で気をつけておきたいこと

Vagrant で利用する BASE BOX の要求事項(Restrict ではなく、Requirement)は最低限で、慣例的に指定されるものが多い。 VirtualBox での設定を全て Vagrant側では制御できているわけではないようなので、Vagrant で利用する BOXを作るときには、考慮しておかないといけないねって話です。 実際に、どこが影響ポイントになるかは不明ですが、VirtualBox で定義した構成は、Vagrant で利用する場合も生きていることが多いので、その点は考慮しておかないと、同じ Vagrantfile なのに挙動が異なる、と言ったことが起きますよ、という課題意識。
4
しょっさん(本物) @sho7650

「[Vagrant] Vagrant で複数のVM を立ち上げて、お互いに通信できるようにするには [VirtualBox] - Qiita」 http://t.co/7C0jPP0iZA #vagrant #virtualbox #debian

2014-02-14 00:49:25
Masahito Yoshida @hansode

@sho7650 あれ・・・。手元の環境では virtualbox__intnet: "intnet" をつけなくてもVM間通信出来てます。vagrantもvboxも同条件です。違いはCentOS6.5である事くらいです。

2014-02-14 00:59:44
しょっさん(本物) @sho7650

@hansode public_network ってわけじゃないですよね? だとすれば、Vagrantが少し前のバージョンだといらなかったみたいです。 私の見たとこだと、1.4.1以降は必要みたいですが、いかがです?

2014-02-14 06:09:22
しょっさん(本物) @sho7650

@hansode あ、ver同じなんですね、なんでだろ。 公式のドキュメント見ると、hostonlyの時に、VM同士の接続する時にはつけろって書いてはあるんですよねー

2014-02-14 06:11:19
Masahito Yoshida @hansode

@sho7650 残りの可能性としては、『boxの中のbox.ovfの差』でしょうか。隠れた設定が忍び込んでる事はちょくちょくあります。ここって、触れられてる事は少ないです。

2014-02-14 10:30:12
しょっさん(本物) @sho7650

@hansode おお、そんなものが。細かいとこ詰めてくとイロイロありますねー('A`)

2014-02-14 10:31:04
Masahito Yoshida @hansode

@sho7650 ~/.vagrant.d/boxes/${box_name}/virtualbox/box.ovf です。ただし、OVFなので・・・。今となっては、ある程度は修正出来るほどになりました。

2014-02-14 10:31:48
Masahito Yoshida @hansode

@sho7650 はい。そうなんですよね。boxファイルは、box-disk1.vmdk(or vdi)だでなく、Vagrantfileとbox.ovfも一体になったファイルである事を理解してるかどうか、ここって大きな差だと思います。

2014-02-14 10:32:56
しょっさん(本物) @sho7650

@hansode そか、VirtualBox 側で NATNetwork 組んでたりすると、Vagrant 関係ないですしね。その辺の構成とかもありますよねー。

2014-02-14 10:39:05
Masahito Yoshida @hansode

@sho7650 はい。そうなんですよね。隠れた仕様として、Boxファイルの中にもVagrantfileが存在している事。プロジェクト固有のVagrantfileで上書きしない限り、BoxファイルのVagrantfileの設定が引き継がれます。

2014-02-14 10:41:33
しょっさん(本物) @sho7650

@hansode なので、あれですよね。運用として、vbox 側はなにも弄っていないで、全て Vagrant で対応するとか、そのあたりはガバナンス効かせてないとあかんことになるわけですな。そいえば、NATNetwork 組んじゃったりで、一度おかしなコトになったこともw

2014-02-14 10:42:40
Masahito Yoshida @hansode

@sho7650 そうですね。種box作者側は、仮想化ツール側の設定も考慮してないと、余計な所でハマります。~/.vagrant.d/ 配下のOVFは直接修正すると新規作成VMから繁栄されるので、細かな調整可能です。

2014-02-14 10:48:41
しょっさん(本物) @sho7650

@hansode Vagrant 仕様の BOXはそれ含めて考慮してつくらんとですねー。

2014-02-14 10:49:36
Masahito Yoshida @hansode

@sho7650 Vagrant Box だけでブログエントリ2・3本書けます。そのうち書こうとしてましたが、優先順位上げようかな。

2014-02-14 10:51:16
しょっさん(本物) @sho7650

@hansode そもそも、Vagrant の本家ドキュメントの basebox のrequirement が最低限すぎるから、こうなるんでしょうねー。 他の人のblog見てても、慣例的にこうやってる、的なのが多くて、それは本家では特になにも言ってないんですよね。

2014-02-14 10:52:31
Masahito Yoshida @hansode

@sho7650 その通りなんです。細かい所には触れられてません。実は彼らが深い所まで理解してない可能性も・・・?自分はvboxとvmware、両方のboxファイルをビルドしたかったので、Vagrantを触り始めた頃からboxファイルをハックしてる状態でした。今では朝飯前に。

2014-02-14 10:59:57
しょっさん(本物) @sho7650

@hansode 彼らが理解してなかったら怖すぎますなーww Vagrant をメインにして考える場合は、box はいじらずにいくのが理想なんでしょうが、まだすべてを管理できてるわけじゃなさそうですしねー。

2014-02-14 11:01:08