[libvirt] [PATCH] lxc: don't try to hide parent cgroups inside container
Michal Privoznik
mprivozn at redhat.com
Tue Jan 26 15:14:24 UTC 2016
On 26.01.2016 15:37, Daniel P. Berrange wrote:
> On the host when we start a container, it will be
> placed in a cgroup path of
>
> /machine.slice/machine-lxc\x2ddemo.scope
>
> under /sys/fs/cgroup/*
>
> Inside the containers' namespace we need to setup
> /sys/fs/cgroup mounts, and currently will bind
> mount /machine.slice/machine-lxc\x2ddemo.scope on
> the host to appear as / in the container.
>
> While this may sound nice, it confuses applications
> dealing with cgroups, because /proc/$PID/cgroup
> now does not match the directory in /sys/fs/cgroup
>
> This particularly causes problems for systems and
> will make it create repeated path components in
> the cgroup for apps run in the container eg
>
> /machine.slice/machine-lxc\x2ddemo.scope/machine.slice/machine-lxc\x2ddemo.scope/user.slice/user-0.slice/session-61.scope
>
> This also causes any systemd service that uses
> sd-notify to fail to start, because when systemd
> receives the notification it won't be able to
> identify the corresponding unit it came from.
> In particular this break rabbitmq-server startup
>
> Future kernels will provide proper cgroup namespacing
> which will handle this problem, but until that time
> we should not try to play games with hiding parent
> cgroups.
>
> Signed-off-by: Daniel P. Berrange <berrange at redhat.com>
> ---
> src/libvirt_private.syms | 2 +-
> src/lxc/lxc_container.c | 2 +-
> src/util/vircgroup.c | 9 ++++-----
> src/util/vircgroup.h | 6 +++---
> 4 files changed, 9 insertions(+), 10 deletions(-)
ACK
Michal
More information about the libvir-list
mailing list