From 4baa1d967d6aaf8d99082d4eb6b5c748d8586f7a Mon Sep 17 00:00:00 2001 From: nolancon Date: Thu, 5 Mar 2020 07:54:33 +0000 Subject: [PATCH] Check for nil cpuManager --- pkg/kubelet/cm/container_manager_linux.go | 14 ++++++++------ pkg/kubelet/cm/internal_container_lifecycle.go | 6 +++--- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/pkg/kubelet/cm/container_manager_linux.go b/pkg/kubelet/cm/container_manager_linux.go index 98c3647193f..13c7176bdc2 100644 --- a/pkg/kubelet/cm/container_manager_linux.go +++ b/pkg/kubelet/cm/container_manager_linux.go @@ -706,12 +706,14 @@ func (m *resourceAllocator) Admit(attrs *lifecycle.PodAdmitAttributes) lifecycle } } - err = m.cpuManager.Allocate(pod, &container) - if err != nil { - return lifecycle.PodAdmitResult{ - Message: fmt.Sprintf("Allocate failed due to %v, which is unexpected", err), - Reason: "UnexpectedAdmissionError", - Admit: false, + if m.cpuManager != nil { + err = m.cpuManager.Allocate(pod, &container) + if err != nil { + return lifecycle.PodAdmitResult{ + Message: fmt.Sprintf("Allocate failed due to %v, which is unexpected", err), + Reason: "UnexpectedAdmissionError", + Admit: false, + } } } } diff --git a/pkg/kubelet/cm/internal_container_lifecycle.go b/pkg/kubelet/cm/internal_container_lifecycle.go index 1176a42a8d1..9e243430269 100644 --- a/pkg/kubelet/cm/internal_container_lifecycle.go +++ b/pkg/kubelet/cm/internal_container_lifecycle.go @@ -38,7 +38,7 @@ type internalContainerLifecycleImpl struct { } func (i *internalContainerLifecycleImpl) PreStartContainer(pod *v1.Pod, container *v1.Container, containerID string) error { - if utilfeature.DefaultFeatureGate.Enabled(kubefeatures.CPUManager) { + if i.cpuManager != nil { err := i.cpuManager.AddContainer(pod, container, containerID) if err != nil { return err @@ -54,14 +54,14 @@ func (i *internalContainerLifecycleImpl) PreStartContainer(pod *v1.Pod, containe } func (i *internalContainerLifecycleImpl) PreStopContainer(containerID string) error { - if utilfeature.DefaultFeatureGate.Enabled(kubefeatures.CPUManager) { + if i.cpuManager != nil { return i.cpuManager.RemoveContainer(containerID) } return nil } func (i *internalContainerLifecycleImpl) PostStopContainer(containerID string) error { - if utilfeature.DefaultFeatureGate.Enabled(kubefeatures.CPUManager) { + if i.cpuManager != nil { err := i.cpuManager.RemoveContainer(containerID) if err != nil { return err