github.com/anth0d/nomad@v0.0.0-20221214183521-ae3a0a2cad06/client/allocrunner/cgroup_hook.go (about) 1 package allocrunner 2 3 import ( 4 "github.com/hashicorp/nomad/client/lib/cgutil" 5 "github.com/hashicorp/nomad/nomad/structs" 6 ) 7 8 func newCgroupHook(alloc *structs.Allocation, man cgutil.CpusetManager) *cgroupHook { 9 return &cgroupHook{ 10 alloc: alloc, 11 cpusetManager: man, 12 } 13 } 14 15 type cgroupHook struct { 16 alloc *structs.Allocation 17 cpusetManager cgutil.CpusetManager 18 } 19 20 func (c *cgroupHook) Name() string { 21 return "cgroup" 22 } 23 24 func (c *cgroupHook) Prerun() error { 25 c.cpusetManager.AddAlloc(c.alloc) 26 return nil 27 } 28 29 func (c *cgroupHook) Postrun() error { 30 c.cpusetManager.RemoveAlloc(c.alloc.ID) 31 return nil 32 }