Hello Developers, using Gentoo's lxc-0.8.0_rc1-r4 with a Kernel gentoo-sources-3.3.5 I observe the following issue concerning the cgroupfs:
For reasons of compatibility I have still mounted the controllers of the cgroupfs at a single mountpoint /cgroup/ . # grep cgroup /etc/fstab: cgroup /cgroup cgroup defaults 0 0 After a bootstrap of the host this shows up as # grep cgroup /proc/mounts cgroup /cgroup cgroup rw,relatime,blkio,freezer,devices,memory,cpuacct,cpu,cpuset 0 0 If I now try to start the first container, it will fail (for *any* previous well working container). The important messages in the log are: lxc-start 1340194612.650 INFO lxc_cgroup - [1] found cgroup mounted at '/cgroup',opts='rw,relatime,blkio,freezer,devices,memory,cpuacct,cpu,cpuset' lxc-start 1340194612.650 DEBUG lxc_cgroup - get_init_cgroup: found init cgroup for subsys (null) at / lxc-start 1340194612.650 DEBUG lxc_cgroup - cgroup /cgroup has flags 0x0 lxc-start 1340194612.682 INFO lxc_cgroup - created cgroup '/cgroup//lxc/testcat0' lxc-start 1340194612.682 DEBUG lxc_cgroup - checking '/proc/bus/usb' (usbfs) lxc-start 1340194612.683 DEBUG lxc_conf - move '(null)' to '10591' lxc-start 1340194612.762 DEBUG lxc_start - Dropped cap_sys_boot lxc-start 1340194612.762 INFO lxc_conf - '' hostname has been setup lxc-start 1340194612.792 DEBUG lxc_conf - mac address '00:50:C2:45:3C:14' on 'eth0' has been setup lxc-start 1340194612.795 DEBUG lxc_conf - 'eth0' has been setup lxc-start 1340194612.795 INFO lxc_conf - network has been setup lxc-start 1340194612.795 DEBUG lxc_conf - mounted '/etc/lxc/testcat0/rootfs' on '/usr/lib/lxc/rootfs' [...] lxc-start 1340194612.797 INFO lxc_conf - mount points have been setup lxc-start 1340194612.798 ERROR lxc_conf - No such file or directory - failed to mount '/cgroup/testcat0' on '/usr/lib/lxc/rootfs/cgroup' <<-- SHOULD BE /cgroup/lxc/testcat0 HERE ??? lxc-start 1340194612.798 ERROR lxc_conf - failed to setup the mount entries for 'testcat0' lxc-start 1340194612.798 ERROR lxc_start - failed to setup the container lxc-start 1340194612.798 ERROR lxc_sync - invalid sequence number 1. expected 2 lxc-start 1340194612.799 ERROR lxc_start - failed to spawn 'testcat0' lxc-start 1340194612.799 DEBUG lxc_cgroup - get_init_cgroup: found init cgroup for subsys (null) at / lxc-start 1340194612.799 DEBUG lxc_cgroup - destroying /cgroup//lxc/testcat0 lxc-start 1340194612.858 DEBUG lxc_cgroup - '/cgroup//lxc/testcat0' unlinked After this first try, there is the new lxc super directory /cgroups/lxc and the mount options of the cgroupfs now show an additional clone_childern cgroup /cgroup cgroup rw,relatime,blkio,freezer,devices,memory,cpuacct,cpu,cpuset,clone_children 0 0 respectively /cgroup/cgroup.clone_children is 1. As from now, starting of the containers will work: lxc-start 1340194763.755 INFO lxc_cgroup - [1] found cgroup mounted at '/cgroup',opts='rw,relatime,blkio,freezer,devices,memory,cpuacct,cpu,cpuset,clone_children' lxc-start 1340194763.755 DEBUG lxc_cgroup - get_init_cgroup: found init cgroup for subsys (null) at / lxc-start 1340194763.755 DEBUG lxc_cgroup - cgroup /cgroup has flags 0x0 lxc-start 1340194763.798 INFO lxc_cgroup - created cgroup '/cgroup//lxc/testcat0' lxc-start 1340194763.798 DEBUG lxc_cgroup - checking '/proc/bus/usb' (usbfs) lxc-start 1340194763.799 DEBUG lxc_conf - move '(null)' to '10730' lxc-start 1340194763.858 DEBUG lxc_start - Dropped cap_sys_boot lxc-start 1340194763.858 INFO lxc_conf - '' hostname has been setup lxc-start 1340194763.900 DEBUG lxc_conf - mac address '00:50:C2:45:3C:14' on 'eth0' has been setup lxc-start 1340194763.904 DEBUG lxc_conf - 'eth0' has been setup lxc-start 1340194763.904 INFO lxc_conf - network has been setup lxc-start 1340194763.904 DEBUG lxc_conf - mounted '/etc/lxc/testcat0/rootfs' on '/usr/lib/lxc/rootfs' [...] lxc-start 1340194763.905 INFO lxc_conf - mount points have been setup lxc-start 1340194763.906 DEBUG lxc_conf - remounting /cgroup/lxc/testcat0 on /usr/lib/lxc/rootfs/cgroup to respect bind or remount options lxc-start 1340194763.906 DEBUG lxc_conf - mounted '/cgroup/lxc/testcat0' on '/usr/lib/lxc/rootfs/cgroup', type 'none' lxc-start 1340194763.906 INFO lxc_conf - mount points have been setup lxc-start 1340194763.906 DEBUG lxc_cgroup - lxc_cgroup_path_get: called for subsys devices name testcat0 lxc-start 1340194763.907 DEBUG lxc_cgroup - using cgroup mounted at '/cgroup/lxc' lxc-start 1340194763.907 DEBUG lxc_cgroup - lxc_cgroup_path_get: returning /cgroup/lxc/testcat0 for subsystem devices.deny lxc-start 1340194763.907 DEBUG lxc_conf - cgroup 'devices.deny' set to 'a' lxc-start 1340194763.907 DEBUG lxc_cgroup - lxc_cgroup_path_get: called for subsys devices name testcat0 If manually clear or set /cgroup/cgroup.clone_children and delete/create /cgroup/lxc it shows, that especial the absence of the lxc super-directory will reproduce the issue. It will be created by the first start of lxc afterwards (and never removed afterwards), but not yet used in this run. Therefore, a quick workaround is to create it in the host init scripts. greetings Guido ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ Lxc-devel mailing list Lxc-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lxc-devel