diff --git a/pkg/kubelet/cm/container_manager_linux.go b/pkg/kubelet/cm/container_manager_linux.go index a1f8f054e1..2d9f0d4089 100644 --- a/pkg/kubelet/cm/container_manager_linux.go +++ b/pkg/kubelet/cm/container_manager_linux.go @@ -113,7 +113,7 @@ type containerManagerImpl struct { qosContainers QOSContainersInfo // Tasks that are run periodically periodicTasks []func() - // holds all the mounted cgroup subsystems + // Holds all the mounted cgroup subsystems subsystems *CgroupSubsystems nodeInfo *v1.Node // Interface for cgroup management @@ -245,7 +245,7 @@ func NewContainerManager(mountUtil mount.Interface, cadvisorInterface cadvisor.I } glog.Infof("Creating Container Manager object based on Node Config: %+v", nodeConfig) - qosContainerManager, err := NewQOSContainerManager(subsystems, cgroupRoot, nodeConfig) + qosContainerManager, err := NewQOSContainerManager(subsystems, cgroupRoot, nodeConfig, cgroupManager) if err != nil { return nil, err } diff --git a/pkg/kubelet/cm/qos_container_manager_linux.go b/pkg/kubelet/cm/qos_container_manager_linux.go index 129acda582..0cd8559998 100644 --- a/pkg/kubelet/cm/qos_container_manager_linux.go +++ b/pkg/kubelet/cm/qos_container_manager_linux.go @@ -56,21 +56,21 @@ type qosContainerManagerImpl struct { cgroupManager CgroupManager activePods ActivePodsFunc getNodeAllocatable func() v1.ResourceList - cgroupRoot string + cgroupRoot CgroupName qosReserved map[v1.ResourceName]int64 } -func NewQOSContainerManager(subsystems *CgroupSubsystems, cgroupRoot string, nodeConfig NodeConfig) (QOSContainerManager, error) { +func NewQOSContainerManager(subsystems *CgroupSubsystems, cgroupRoot string, nodeConfig NodeConfig, cgroupManager CgroupManager) (QOSContainerManager, error) { if !nodeConfig.CgroupsPerQOS { return &qosContainerManagerNoop{ - cgroupRoot: CgroupName(nodeConfig.CgroupRoot), + cgroupRoot: CgroupName(cgroupRoot), }, nil } return &qosContainerManagerImpl{ subsystems: subsystems, - cgroupManager: NewCgroupManager(subsystems, nodeConfig.CgroupDriver), - cgroupRoot: cgroupRoot, + cgroupManager: cgroupManager, + cgroupRoot: CgroupName(cgroupRoot), qosReserved: nodeConfig.ExperimentalQOSReserved, }, nil } @@ -81,7 +81,7 @@ func (m *qosContainerManagerImpl) GetQOSContainersInfo() QOSContainersInfo { func (m *qosContainerManagerImpl) Start(getNodeAllocatable func() v1.ResourceList, activePods ActivePodsFunc) error { cm := m.cgroupManager - rootContainer := m.cgroupRoot + rootContainer := string(m.cgroupRoot) if !cm.Exists(CgroupName(rootContainer)) { return fmt.Errorf("root container %s doesn't exist", rootContainer) }