On Tue, May 14, 2013 at 08:28:48AM -0500, Dennis Jenkins wrote:
I use libvirtd on my Gentoo development system to manage both
QEMU and
LXC. When 1.0.3 came out, I updated to it from 1.0.3-r2, but 1.0.4 failed
to start my LXC containers. I did not research the issue at the time, so I
revert to 1.0.3-r2. Today I updated to 1.0.5 and my LXC containers still
fail to start. I have not changed my domain XML at all.
TL;DR: this was burried in a log file: " error :
lxcContainerMountFSDevPTS:808 : Failed to mount
/.oldroot//var/run/libvirt/lxc/dwj-lnx-dev.devpts on /dev/pts: No such file
or directory". But that directory DOES exist in the container:
ostara ~ # ls -ld /vm/lxc/dwj-lnx-dev/dev/pts/
drwxr-xr-x 2 root root 4096 Apr 27 2011 /vm/lxc/dwj-lnx-dev/dev/pts/
Actually libvirt will mount a brand new tmpfs at /dev inside the
container, so whatever your filesystem has at /dev is not used.
Libvirt should of course also be creating the /dev/pts mount
point. This makes me think the error message could actually refer
to the "/.oldroot//var/run/libvirt/lxc/dwj-lnx-dev.devpts" path.
ostara ~ # tail -n 10 /var/log/libvirt/lxc/dwj-lnx-dev.log
2013-05-14 13:04:20.894+0000: starting up
PATH=/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/4.6.3:/usr/x86_64-pc-linux-gnu/i686-pc-mingw32/gcc-bin/4.7.2
LIBVIRT_DEBUG=3 LIBVIRT_LOG_OUTPUTS=3:stderr /usr/libexec/libvirt_lxc
--name dwj-lnx-dev --console 22 --security=none --handshake 25 --background
--veth veth1
PATH=/bin:/sbin TERM=linux container=lxc-libvirt
container_uuid=fbcd8c3a-9939-12b4-727d-5d3526bc448f
LIBVIRT_LXC_UUID=fbcd8c3a-9939-12b4-727d-5d3526bc448f
LIBVIRT_LXC_NAME=dwj-lnx-dev /sbin/init
2013-05-14 13:04:21.562+0000: 1: info : libvirt version: 1.0.5
2013-05-14 13:04:21.562+0000: 1: error : lxcContainerMountFSDevPTS:808 :
Failed to mount /.oldroot//var/run/libvirt/lxc/dwj-lnx-dev.devpts on
/dev/pts: No such file or directory
2013-05-14 13:04:21.562+0000: 22562: info : libvirt version: 1.0.5
2013-05-14 13:04:21.562+0000: 22562: error : virLXCControllerRun:1481 :
error receiving signal from container: Input/output error
error receiving signal from container: Input/output error
2013-05-14 13:04:21.628+0000: 22562: error : virCommandWait:2353 : internal
error Child process (ip link del veth1) unexpected exit status 1: Cannot
find device "veth1"
We need to get more debug info from this file. Stop libvirtd and edit
/etc/libvirt/lxc.conf
and set
log_with_libvirtd=1
and then run libvirtd with
LIBVIRT_LOG_OUTPUTS=1:stderr LIBVIRT_LOG_FILTERS="3:event 3:json 3:object 1:util
1:lxc" /usr/sbin/libvirtd
and then try to start a container again. The container log
file above should now get much more verbose data (i don't
care about the log output from libvirtd itself - just the
container log file).
Daniel
--
|:
http://berrange.com -o-
http://www.flickr.com/photos/dberrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|:
http://entangle-photo.org -o-
http://live.gnome.org/gtk-vnc :|