[PATCH] lxc: controller: Fix container launch on cgroup v1
Jim Fehlig
jfehlig at suse.com
Thu Oct 7 19:41:26 UTC 2021
On 10/7/21 09:08, Cole Robinson wrote:
> With cgroup v1 I'm seeing LXC container startup failures:
>
> $ sudo virt-install --connect lxc:/// --name test-container --memory 128
> --boot init=/bin/sh
>
> Starting install...
> ERROR error from service:
> GDBus.Error:org.freedesktop.machine1.NoMachineForPID: PID 2145047 does
> not belong to any known machine
>
> libvirt 7.0.0 works but 7.1.0+ does not. The root error seems to predate
> that, showing up in syslog, but commit 9c1693eff made it fatal:
>
> commit 9c1693eff427661616ce1bd2795688f87288a412
> Author: Pavel Hrdina <phrdina at redhat.com>
> Date: Fri Feb 5 16:17:35 2021 +0100
>
> vircgroup: use DBus call to systemd for some APIs
>
> The error comes from virSystemdGetMachineByPID. The PID that shows up in
> the above error message does not match the leader PID as reported by
> machinectl.
>
> This change fixes the error. Things seem to continue to work with
> cgroupsv2 after this change.
>
> https://gitlab.com/libvirt/libvirt/-/issues/182
>
> Signed-off-by: Cole Robinson <crobinso at redhat.com>
> ---
> This is from the thread in August, posted as non RFC now
>
> src/lxc/lxc_controller.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
Tested-by: Jim Fehlig <jfehlig at suse.com>
Regards,
Jim
>
> diff --git a/src/lxc/lxc_controller.c b/src/lxc/lxc_controller.c
> index 8953e0c904..444f728af4 100644
> --- a/src/lxc/lxc_controller.c
> +++ b/src/lxc/lxc_controller.c
> @@ -865,12 +865,12 @@ static int virLXCControllerSetupCgroupLimits(virLXCController *ctrl)
> nodeset = virDomainNumatuneGetNodeset(ctrl->def->numa, auto_nodeset, -1);
>
> if (!(ctrl->cgroup = virLXCCgroupCreate(ctrl->def,
> - ctrl->initpid,
> + getpid(),
> ctrl->nnicindexes,
> ctrl->nicindexes)))
> goto cleanup;
>
> - if (virCgroupAddMachineProcess(ctrl->cgroup, getpid()) < 0)
> + if (virCgroupAddMachineProcess(ctrl->cgroup, ctrl->initpid) < 0)
> goto cleanup;
>
> /* Add all qemu-nbd tasks to the cgroup */
>
More information about the libvir-list
mailing list