diff --git a/go.mod b/go.mod index 6b87ee3..7d1283e 100644 --- a/go.mod +++ b/go.mod @@ -10,7 +10,7 @@ require ( github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be github.com/boltdb/bolt v1.3.1 github.com/codeskyblue/go-sh v0.0.0-20200712050446-30169cf553fe - github.com/containerd/cgroups v1.1.0 + github.com/containerd/cgroups/v3 v3.0.5 github.com/dennwc/btrfs v0.0.0-20241002142654-12ae127e0bf6 github.com/dgraph-io/badger/v2 v2.2007.4 github.com/docker/go-units v0.5.0 diff --git a/worker/cgroup.go b/worker/cgroup.go index b0966b5..eb6e415 100644 --- a/worker/cgroup.go +++ b/worker/cgroup.go @@ -12,8 +12,9 @@ import ( "golang.org/x/sys/unix" - cgv1 "github.com/containerd/cgroups" - cgv2 "github.com/containerd/cgroups/v2" + cgroups "github.com/containerd/cgroups/v3" + cgv1 "github.com/containerd/cgroups/v3/cgroup1" + cgv2 "github.com/containerd/cgroups/v3/cgroup2" "github.com/moby/moby/pkg/reexec" contspecs "github.com/opencontainers/runtime-spec/specs-go" ) @@ -83,7 +84,7 @@ func initCgroup(cfg *cgroupConfig) error { baseGroup = filepath.Join("/", baseGroup) } - cfg.isUnified = cgv1.Mode() == cgv1.Unified + cfg.isUnified = cgroups.Mode() == cgroups.Unified if cfg.isUnified { logger.Debugf("Cgroup V2 detected") @@ -98,7 +99,7 @@ func initCgroup(cfg *cgroupConfig) error { logger.Infof("Using cgroup path: %s", g) var err error - if cfg.cgMgrV2, err = cgv2.LoadManager("/sys/fs/cgroup", g); err != nil { + if cfg.cgMgrV2, err = cgv2.Load(g); err != nil { return err } if baseGroup == "" { @@ -167,7 +168,7 @@ func initCgroup(cfg *cgroupConfig) error { } logger.Infof("Loading cgroup") var err error - if cfg.cgMgrV1, err = cgv1.Load(cgv1.V1, pather, func(cfg *cgv1.InitConfig) error { + if cfg.cgMgrV1, err = cgv1.Load(pather, func(cfg *cgv1.InitConfig) error { cfg.InitCheck = cgv1.AllowAny return nil }); err != nil { diff --git a/worker/cgroup_test.go b/worker/cgroup_test.go index ab926ed..a6e6e2f 100644 --- a/worker/cgroup_test.go +++ b/worker/cgroup_test.go @@ -11,8 +11,8 @@ import ( "testing" "time" - cgv1 "github.com/containerd/cgroups" - cgv2 "github.com/containerd/cgroups/v2" + cgv1 "github.com/containerd/cgroups/v3/cgroup1" + cgv2 "github.com/containerd/cgroups/v3/cgroup2" units "github.com/docker/go-units" "github.com/moby/moby/pkg/reexec" @@ -250,7 +250,7 @@ sleep 30 if cgcf.Group == "" { wkrg, err := cgv2.NestedGroupPath("") So(err, ShouldBeNil) - wkrMgr, err := cgv2.LoadManager("/sys/fs/cgroup", wkrg) + wkrMgr, err := cgv2.Load(wkrg) allCtrls, err := wkrMgr.Controllers() So(err, ShouldBeNil) err = wkrMgr.ToggleControllers(allCtrls, cgv2.Disable) @@ -290,7 +290,7 @@ sleep 30 return path, err } })(cgv1.NestedPath("")) - wkrMgr, err := cgv1.Load(cgv1.V1, pather, func(cfg *cgv1.InitConfig) error { + wkrMgr, err := cgv1.Load(pather, func(cfg *cgv1.InitConfig) error { cfg.InitCheck = cgv1.AllowAny return nil }) diff --git a/worker/config.go b/worker/config.go index 2b5a614..0d3a547 100644 --- a/worker/config.go +++ b/worker/config.go @@ -6,8 +6,8 @@ import ( "path/filepath" "github.com/BurntSushi/toml" - cgv1 "github.com/containerd/cgroups" - cgv2 "github.com/containerd/cgroups/v2" + cgv1 "github.com/containerd/cgroups/v3/cgroup1" + cgv2 "github.com/containerd/cgroups/v3/cgroup2" units "github.com/docker/go-units" "github.com/imdario/mergo" ) diff --git a/worker/runner.go b/worker/runner.go index ac3aadc..cf534b3 100644 --- a/worker/runner.go +++ b/worker/runner.go @@ -11,7 +11,7 @@ import ( "time" "github.com/codeskyblue/go-sh" - cgv1 "github.com/containerd/cgroups" + cgv1 "github.com/containerd/cgroups/v3/cgroup1" "github.com/moby/moby/pkg/reexec" "golang.org/x/sys/unix" )