ようへいの日々精進XP

よかろうもん

vagrant-lxc がとりあえず動いたからメモ

はじめに

vagrant-lxc で一部のコンテナが動いていなかったが、それらのコンテナがとりあえず動いたのでメモしておく。ちなみに、振り返ると vagrantdocker がダブってきている...

試した環境

ホスト OS LXC のバージョン vagrant のバージョン vagrant-lxc のバージョン
Ubuntu 13.10 lxc 1.0.0.alpha2 1.3.3 0.6.3

動かなかったコンテナ(試したコンテナ)


動かない状態

動かないというのは以下のようなエラーで vagrant up が止まってしまっていた。 ちなみに vagrantprovider として lxc を使う場合には vagrant up--provider=lxc オプションをつけて起動する。

vagrant up --provider=lxc

パターン(1)

以下は CentOS 6.4 amd64 for vagrant-lxc with Puppet 3.3.1 で発生していたエラー。

[default] Starting container...
 INFO driver: Starting container...
DEBUG driver: Prunning vagrant-lxc customizations
DEBUG shell: Running 'sudo su root -c "sed -e '/^# VAGRANT-BEGIN/,/^# VAGRANT-END/ d' -ibak /var/lib/lxc/vagrant-lxc_default-1382829302/config"'
DEBUG shell: Running 'sudo su root -c "echo '# VAGRANT-BEGIN' >> /var/lib/lxc/vagrant-lxc_default-1382829302/config"'
DEBUG shell: Running 'sudo su root -c "echo 'lxc.utsname=vagrant-lxc_default-1382829302' >> /var/lib/lxc/vagrant-lxc_default-1382829302/config"'
DEBUG shell: Running 'sudo su root -c "echo 'lxc.mount.entry=/home/kappa/vagrant/vagrant-lxc /var/lib/lxc/vagrant-lxc_default-1382829302/rootfs/vagrant none bind 0 0' >> /var/lib/lxc/vagrant-lxc_default-1382829302/config"'
DEBUG shell: Running 'sudo su root -c "echo '# VAGRANT-END' >> /var/lib/lxc/vagrant-lxc_default-1382829302/config"'
 INFO subprocess: Starting process: ["/usr/bin/sudo", "lxc-start", "-d", "--name", "vagrant-lxc_default-1382829302"]
DEBUG subprocess: Selecting on IO
DEBUG subprocess: stderr: lxc-start: command get_cgroup failed to receive response
DEBUG subprocess: Waiting for process to exit. Remaining to timeout: 31995
DEBUG subprocess: Exit status: 255
ERROR warden: Error occurred: There was an error executing ["sudo", "lxc-start", "-d", "--name", "vagrant-lxc_default-1382829302"]

lxc-startcommand get_cgroup failed to receive response というエラーを吐いてしまう...。

パターン(2)

Debian Squeeze amd64 (Puppet 3.2.3, LXC, 2013.07.27) で発生していたエラー。

DEBUG driver: Creating container...
 INFO subprocess: Starting process: ["/usr/bin/sudo", "lxc-create", "--template", "vagrant-tmp-vagrant-lxc4_default-1382968114", "--name", "vagrant-lxc4_default-1382968114", "-f", "/home/kappa/.vagrant.d/boxes/test4/lxc/lxc.conf", "--", "--tarball", "/home/kappa/.vagrant.d/boxes/test4/lxc/rootfs.tar.gz", "--auth-key", "/opt/vagrant/embedded/gems/gems/vagrant-1.3.3/keys/vagrant.pub"]
DEBUG subprocess: Selecting on IO
DEBUG subprocess: stderr: getopt: オプション '--rootfs=/usr/lib/x86_64-linux-gnu/lxc' を認識できません
DEBUG subprocess: stderr: lxc_container: container creation template for vagrant-lxc4_default-1382968114 failed

DEBUG subprocess: stderr: lxc_container: Error creating container vagrant-lxc4_default-1382968114
DEBUG subprocess: Waiting for process to exit. Remaining to timeout: 32000
DEBUG subprocess: Exit status: 1

lxc-create--rootfs=/usr/lib/x86_64-linux-gnu/lxc オプションが認識されていないっぽい...。


とりあえず動いた!

CentOS 6.4 amd64 for vagrant-lxc with Puppet 3.3.1 は今のところ動いていないが、Debian Squeeze amd64 (Puppet 3.2.3, LXC, 2013.07.27) に関しては こちらで紹介されていた box ファイルに含まれていた lxc-template を利用すると起動した!

lxc-template

起動の図

VAGRANT_LOG=info vagrant up --provider=lxc

で起動したログはこちらに。

vagrant ssh の図

$ vagrant ssh
Linux squeeze 3.11.0-12-generic #19-Ubuntu SMP Wed Oct 9 16:20:46 UTC 2013 x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Mon Oct 28 14:58:20 2013 from 10.0.3.1
vagrant@squeeze:~$

lxc-ls

念の為、lxc-ls で確認してみる。

lxc-ls --fancy

以下のような結果となる。

NAME                             STATE    IPV4        IPV6  AUTOSTART
---------------------------------------------------------------------
vagrant-lxc2_default-1382828428  RUNNING  10.0.3.187  -     NO
vagrant-lxc3_default-1382964270  RUNNING  10.0.3.164  -     NO
vagrant-lxc4_default-1382968514  RUNNING  10.0.3.146  -     NO
vagrant-lxc_default-1382755452   STOPPED  -           -     NO
vagrant-lxc_default-1382829302   STOPPED  -           -     NO

最後に

  • とりあえず動いて良かった