[Pkg-libvirt-maintainers] Bug#774237: libvirt-bin: lxc domains lost after upgrade/restart of libvirt

Guido Günther agx at sigxcpu.org
Wed Aug 12 19:14:36 UTC 2015


On Tue, Aug 11, 2015 at 06:05:00PM +0200, Guido Günther wrote:
> Hi,
> On Wed, Dec 31, 2014 at 01:15:09AM +0800, gustavo panizzo (gfa) wrote:
> > Package: libvirt-bin
> > Version: 1.2.9-7
> > Severity: important
> > 
> > almost every time i upgrade libvirt-bin i lost my running lxc
> > domain(s).
> 
> This is due to libvirt not finding the cgroups anymore when the daemon
> is started via systemd:
> 
>  debug : virCgroupDetectPlacement:513 : Detecting placement for pid 2574 path
>  debug : virCgroupDetect:701 : Detected mount/mapping 0:cpu at /sys/fs/cgroup/cpu,cpuacct in / for pid 2574
>  debug : virCgroupDetect:701 : Detected mount/mapping 1:cpuacct at /sys/fs/cgroup/cpu,cpuacct in / for pid 2574
>  debug : virCgroupDetect:701 : Detected mount/mapping 2:cpuset at /sys/fs/cgroup/cpuset in /machine.slice/machine-lxc\x2dtest2.scope for pid 2574
>  debug : virCgroupDetect:701 : Detected mount/mapping 3:memory at /sys/fs/cgroup/memory in / for pid 2574
>  debug : virCgroupDetect:701 : Detected mount/mapping 4:devices at /sys/fs/cgroup/devices in /system.slice/libvirtd.service for pid 2574
>  debug : virCgroupDetect:701 : Detected mount/mapping 5:freezer at /sys/fs/cgroup/freezer in /machine.slice/machine-lxc\x2dtest2.scope for pid 2574
>  debug : virCgroupDetect:701 : Detected mount/mapping 6:blkio at /sys/fs/cgroup/blkio in / for pid 2574
>  debug : virCgroupDetect:701 : Detected mount/mapping 7:net_cls at /sys/fs/cgroup/net_cls in /machine.slice/machine-lxc\x2dtest2.scope for pid 2574
>  debug : virCgroupDetect:701 : Detected mount/mapping 8:perf_event at /sys/fs/cgroup/perf_event in /machine.slice/machine-lxc\x2dtest2.scope for pid 2574
>  debug : virCgroupDetect:701 : Detected mount/mapping 9:name=systemd at /sys/fs/cgroup/systemd in /system.slice/libvirtd.service for pid 2574
>  debug : virCgroupValidateMachineGroup:298 : Name '' for controller 'cpu' does not match 'test2', 'test2.libvirt-lxc' or 'machine-lxc\x2dtest2.scope'
>  debug : virCgroupNewDetectMachine:1508 : Failed to validate machine name for 'test2' driver 'lxc'
>  error : virLXCProcessReconnectDomain:1528 : internal error: No valid cgroup for machine test2
> 
> While it should look like
> 
>  debug : virCgroupDetectPlacement:513 : Detecting placement for pid 4052 path
>  debug : virCgroupDetect:701 : Detected mount/mapping 0:cpu at /sys/fs/cgroup/cpu,cpuacct in /machine.slice/machine-lxc\x2dtest.scope for pid 4052
>  debug : virCgroupDetect:701 : Detected mount/mapping 1:cpuacct at /sys/fs/cgroup/cpu,cpuacct in /machine.slice/machine-lxc\x2dtest.scope for pid 4052
>  debug : virCgroupDetect:701 : Detected mount/mapping 2:cpuset at /sys/fs/cgroup/cpuset in /machine.slice/machine-lxc\x2dtest.scope for pid 4052
>  debug : virCgroupDetect:701 : Detected mount/mapping 3:memory at /sys/fs/cgroup/memory in /machine.slice/machine-lxc\x2dtest.scope for pid 4052
>  debug : virCgroupDetect:701 : Detected mount/mapping 4:devices at /sys/fs/cgroup/devices in /machine.slice/machine-lxc\x2dtest.scope for pid 4052
>  debug : virCgroupDetect:701 : Detected mount/mapping 5:freezer at /sys/fs/cgroup/freezer in /machine.slice/machine-lxc\x2dtest.scope for pid 4052
>  debug : virCgroupDetect:701 : Detected mount/mapping 6:blkio at /sys/fs/cgroup/blkio in /machine.slice/machine-lxc\x2dtest.scope for pid 4052
>  debug : virCgroupDetect:701 : Detected mount/mapping 7:net_cls at /sys/fs/cgroup/net_cls in /machine.slice/machine-lxc\x2dtest.scope for pid 4052
>  debug : virCgroupDetect:701 : Detected mount/mapping 8:perf_event at /sys/fs/cgroup/perf_event in /machine.slice/machine-lxc\x2dtest.scope for pid 4052
>  debug : virCgroupDetect:701 : Detected mount/mapping 9:name=systemd at /sys/fs/cgroup/systemd in /system.slice/libvirtd.service for pid 4052
> 
> I can keep the lxc containers running when starting libvirtd as
> 'libvirtd -d' intead of using systemctl. Since it works on Fedora I need
> to check with a more recent systemd....

I just confirmed that a libvirt restart doesn't affect running lxc
instances with systemd >= 224.

So a workaround for Jessie would be to either not use systemd or to
ugrade systemd once an update is available. Maybe I can dig out why it
breaks on jessie, help on this would be appreciated though...

Cheers,
 -- Guido



More information about the Pkg-libvirt-maintainers mailing list