From c1ff6ec32f8c62716341052606062994b74f06f6 Mon Sep 17 00:00:00 2001 From: Mahmood Ali Date: Wed, 11 Dec 2019 11:39:16 -0500 Subject: [PATCH] simplify cgroup path lookup --- drivers/shared/executor/executor_linux.go | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/drivers/shared/executor/executor_linux.go b/drivers/shared/executor/executor_linux.go index 7cf06c057693..5541de1d1b6b 100644 --- a/drivers/shared/executor/executor_linux.go +++ b/drivers/shared/executor/executor_linux.go @@ -26,7 +26,6 @@ import ( "github.com/hashicorp/nomad/plugins/drivers" "github.com/opencontainers/runc/libcontainer" "github.com/opencontainers/runc/libcontainer/cgroups" - cgroupFs "github.com/opencontainers/runc/libcontainer/cgroups/fs" lconfigs "github.com/opencontainers/runc/libcontainer/configs" ldevices "github.com/opencontainers/runc/libcontainer/devices" lutils "github.com/opencontainers/runc/libcontainer/utils" @@ -692,30 +691,21 @@ func configureBasicCgroups(cfg *lconfigs.Config) error { id := uuid.Generate() // Manually create freezer cgroup - cfg.Cgroups.Paths = map[string]string{} - root, err := cgroups.FindCgroupMountpointDir() - if err != nil { - return err - } - if _, err := os.Stat(root); err != nil { - return err - } + subsystem := "freezer" - freezer := cgroupFs.FreezerGroup{} - subsystem := freezer.Name() - path, err := cgroups.FindCgroupMountpoint("", subsystem) + path, err := getCgroupPathHelper(subsystem, filepath.Join(defaultCgroupParent, id)) if err != nil { return fmt.Errorf("failed to find %s cgroup mountpoint: %v", subsystem, err) } - // Sometimes subsystems can be mounted together as 'cpu,cpuacct'. - path = filepath.Join(root, filepath.Base(path), defaultCgroupParent, id) if err = os.MkdirAll(path, 0755); err != nil { return err } - cfg.Cgroups.Paths[subsystem] = path + cfg.Cgroups.Paths = map[string]string{ + subsystem: path, + } return nil }