ECサイトの開発をdocerベースでやろうとしていたけどVagrant全く触っていない。というわけで、しばらくは勉強を兼ねVagrantベースで開発してみようと思う。
CentOS7のホストにインストールを開始。
KVM+qumeでも動くとのことでさくらのナレッジさんをそのままコピペしてインストール実行。
[yoshitake@localhost ~]$ sudo vagrant up [sudo] password for yoshitake: Bringing machine 'default' up with 'libvirt' provider... ==> default: Cleaned up shared folders ==> default: ================ ==> default: Machine id: a3d96b45-fd52-4590-a598-9a63744b7d58 ==> default: Should be mounting folders ==> default: /vagrant, opts: {:guestpath=>"/vagrant", :hostpath=>"/home/yoshitake", :disabled=>false, :__vagrantfile=>true, :target=>"/vagrant", :accessmode=>"passthrough", :mount=>true, :readonly=>nil, :mount_tag=>"05e62b45705da84350317538981ae9c"} ==> default: Starting domain. There was an error talking to Libvirt. The error message is shown below: Call to virDomainCreateWithFlags failed: 内部エラー: モニターに接続中にプロセス が終了しました: 2016-09-07T21:13:31.339854Z qemu-kvm: -device virtio-9p-pci,id=fs0,fsdev=fsdev-fs0,mount_tag=05e62b45705da84350317538981ae9c,bus=pci.0,addr=0x4: 'virtio-9p-pci' is not a valid device model name
根深そう。。。。。
まともにやってくとはまりそうなのでvirtualboxで起動。
sudo vagrant destroy sudo vagrant up --provider=virtualbox
ワーニングがでてしばらくリトライ繰り返した後に終了。
default: Inserting generated public key within guest... default: Removing insecure key from the guest if it's present... default: Key inserted! Disconnecting and reconnecting using newSSH key... default: Warning: Authentication failure. Retrying... default: Warning: Authentication failure. Retrying...
原因はVagrant 1.8.5のバグとのことでこちらを参考に修正。
一度起動しただけで、suspend->resumeで再度発生。CTRL+Cで一旦停止しhalt->upとしたところまだ発生。時間なくなってきたので状況メモ書いて後で確認。
(9/16追記)
リンク先のように plugins/guests/linux/cap/public_key.rb に
chmod 0600 ~/.ssh/authorized_keys
を追記しているがゲストのauthorized_keysがvagrant destroty & upしても664になっている。
何か手順が間違っているかもしれないけど、ゲストのauthorized_keysを直接
chmod 600 authorized_keys
して対処。こんどこそ動いているっぽい。とりあえず作るたびにchmodすることにする。
(10/8追記)
単にTypoでした。手動でchmod対応だと、Test Kitchenが動かないですね。