On 09.09.2014 18:25, Steven Wilson wrote:
We recently ran into libvirt lxc shutdown failing because of mount
namespaces not being available:
# virsh -c lxc:/// start test01
Domain test01 started
# virsh -c lxc:/// list
Id Name State
----------------------------------------------------
9336 test01 running
# virsh -c lxc:/// shutdown test01
error: Failed to shutdown domain test01
error: Mount namespaces are not available on this platform: Function not
implemented
/var/log/libvirt/libvirtd.log:
2014-09-03 15:50:50.682+0000: 3030: error :
virProcessRunInMountNamespace:999 : Mount namespaces are not available
on this platform: Function not implemented
We're running Debian wheezy with stock libc6 2.13-38, a custom 3.12.15
kernel (with namespace support) and libvirt 1.2.3.
This may be the problem. Libvirt needs setns() syscall as of 1.2.2 which
may not exist in your custom kernel. Or maybe you have old
kernel-headers package so the libvirt's configure script doesn't see the
syscall.
The patch in this previous thread fixes shutdown for us and we'd like to
see it merged upstream:
https://www.redhat.com/archives/libvir-list/2014-May/msg00175.html
From this it seems like glic is wrapping the syscall, so a glibc update
may solve the issue. If that's the case we may need to update our
libvirt.spec.in to reflect that.
Michal