[libvirt-users] Unable to start LXC on Gentoo w/ libvirt 1.0.4 or 1.0.5. 1.0.3 works

Daniel P. Berrange berrange at redhat.com
Tue May 14 13:55:03 UTC 2013


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 :|




More information about the libvirt-users mailing list