diff --git a/cmd/kubelet/app/server.go b/cmd/kubelet/app/server.go index 6899dee1a47..bf58c919b6f 100644 --- a/cmd/kubelet/app/server.go +++ b/cmd/kubelet/app/server.go @@ -646,14 +646,7 @@ func run(ctx context.Context, s *options.KubeletServer, kubeDeps *kubelet.Depend } var reservedSystemCPUs cpuset.CPUSet - var errParse error if s.ReservedSystemCPUs != "" { - reservedSystemCPUs, errParse = cpuset.Parse(s.ReservedSystemCPUs) - if errParse != nil { - // invalid cpu list is provided, set reservedSystemCPUs to empty, so it won't overwrite kubeReserved/systemReserved - klog.Infof("Invalid ReservedSystemCPUs \"%s\"", s.ReservedSystemCPUs) - return errParse - } // is it safe do use CAdvisor here ?? machineInfo, err := kubeDeps.CAdvisorInterface.MachineInfo() if err != nil { @@ -661,6 +654,13 @@ func run(ctx context.Context, s *options.KubeletServer, kubeDeps *kubelet.Depend klog.Warning("Failed to get MachineInfo, set reservedSystemCPUs to empty") reservedSystemCPUs = cpuset.NewCPUSet() } else { + var errParse error + reservedSystemCPUs, errParse = cpuset.Parse(s.ReservedSystemCPUs) + if errParse != nil { + // invalid cpu list is provided, set reservedSystemCPUs to empty, so it won't overwrite kubeReserved/systemReserved + klog.Infof("Invalid ReservedSystemCPUs \"%s\"", s.ReservedSystemCPUs) + return errParse + } reservedList := reservedSystemCPUs.ToSlice() first := reservedList[0] last := reservedList[len(reservedList)-1]