mirror of
https://github.com/containers/podman
synced 2024-10-18 16:24:34 +00:00
d0b0c62853
[NO NEW TESTS NEEDED] Closes #19175 Signed-off-by: Peter Jannesen <peter@jannesen.com>
35 lines
1.1 KiB
Go
35 lines
1.1 KiB
Go
package libpod
|
|
|
|
import (
|
|
"fmt"
|
|
"path/filepath"
|
|
|
|
"github.com/containers/common/pkg/config"
|
|
"github.com/containers/podman/v4/libpod/define"
|
|
"github.com/containers/podman/v4/pkg/rootless"
|
|
"github.com/sirupsen/logrus"
|
|
)
|
|
|
|
func (p *Pod) platformRefresh() error {
|
|
// We need to recreate the pod's cgroup
|
|
if p.config.UsePodCgroup {
|
|
switch p.runtime.config.Engine.CgroupManager {
|
|
case config.SystemdCgroupsManager:
|
|
cgroupPath, err := systemdSliceFromPath(p.config.CgroupParent, fmt.Sprintf("libpod_pod_%s", p.ID()), p.ResourceLim())
|
|
if err != nil {
|
|
logrus.Errorf("Creating Cgroup for pod %s: %v", p.ID(), err)
|
|
}
|
|
p.state.CgroupPath = cgroupPath
|
|
case config.CgroupfsCgroupsManager:
|
|
if !rootless.IsRootless() || isRootlessCgroupSet(p.config.CgroupParent) {
|
|
p.state.CgroupPath = filepath.Join(p.config.CgroupParent, p.ID())
|
|
|
|
logrus.Debugf("setting pod cgroup to %s", p.state.CgroupPath)
|
|
}
|
|
default:
|
|
return fmt.Errorf("unknown cgroups manager %s specified: %w", p.runtime.config.Engine.CgroupManager, define.ErrInvalidArg)
|
|
}
|
|
}
|
|
return nil
|
|
}
|