SEIL/x86 + Vagrant
SEIL/x86がさらに便利になりそうな、Vagrantのプラグインがあるの、知らなかった!
これならCUI制御でCUIルーターとの相性もばっちり。設定もprovisionerから流し込める。
その時に、(SEIL/x86と関係ないところで)ハマった記録。
さっそくインストール
環境はお手元のUbuntu Desktop 16.04 64bit。
VirtualBoxのインストール
# apt install virtualbox virtualbox-ext-pack
問題なし。
Vagrantのインストール
# apt install vagrant
問題なし。
vagrant-seil
のインストール
$ vagrant plugin install vagrant-seil
ここではまる。
Ubuntu 16.04でのbundler.rb
の問題
in `all=': undefined method `group_by' for nil:NilClass (NoMethodError)
といったエラーが出る。これでググると解決策がいっぱい出てくる。
解決策は主に3種類。
- 新しいVagrantを入れる
- 修正されたVagrantの.debを入れる
- 手動でパッチを当てる
apt upgrade
じゃ直らないのかな…。
パッケージをいじると後が面倒そうだったので、パッチを当てる選択をした。
このへんやこのへんを真似して、
$ sudo sed -i'' "s/Specification.all = nil/Specification.reset/" /usr/lib/ruby/vendor_ruby/vagrant/bundler.rb
のような感じで解決。
zlibの問題
再度pluginをinstallしようとすると、やたら長いエラーが出る。
ポイントはzlib is missing; necessary for building libxml2
。
zlibが無いとのこと。
こちらなどを参考に、
$ sudo apt-get install zlib1g-dev
で解決。
起動
あとは本家の通り。
Vagrantfileは、EXPERIMENTAL_seilx86-500-vagrant.zip
の中に入っているものを編集して使った。
$ vagrant up
$ vagrant ssh
わーい!
おまけ: ネットワーク
config.vm.network "public_network", bridge: "br0"
config.vm.network "public_network", bridge: "br1"
などとすると、vagrant ssh
で入れるhost onlyなlan0
に加え、brctl
で作ったブリッジにつながるpublicなlan1
とlan2
が増えた。
SEILテクニカルマニュアルによると、SEIL/x86上のインターフェースは最大6個まで増やせそうだ。
わーい!