mirror of
https://github.com/optim-enterprises-bv/kubernetes.git
synced 2025-11-01 18:58:18 +00:00
Fix getting cgroup pids
This commit is contained in:
@@ -37,6 +37,7 @@ import (
|
||||
"k8s.io/kubernetes/pkg/api"
|
||||
"k8s.io/kubernetes/pkg/api/resource"
|
||||
"k8s.io/kubernetes/pkg/kubelet/cadvisor"
|
||||
cmutil "k8s.io/kubernetes/pkg/kubelet/cm/util"
|
||||
"k8s.io/kubernetes/pkg/kubelet/qos"
|
||||
"k8s.io/kubernetes/pkg/util"
|
||||
utilerrors "k8s.io/kubernetes/pkg/util/errors"
|
||||
@@ -443,14 +444,8 @@ func (cm *containerManagerImpl) setupNode() error {
|
||||
return fmt.Errorf("system container cannot be root (\"/\")")
|
||||
}
|
||||
cont := newSystemCgroups(cm.SystemCgroupsName)
|
||||
rootContainer := &fs.Manager{
|
||||
Cgroups: &configs.Cgroup{
|
||||
Parent: "/",
|
||||
Name: "/",
|
||||
},
|
||||
}
|
||||
cont.ensureStateFunc = func(manager *fs.Manager) error {
|
||||
return ensureSystemCgroups(rootContainer, manager)
|
||||
return ensureSystemCgroups("/", manager)
|
||||
}
|
||||
systemContainers = append(systemContainers, cont)
|
||||
}
|
||||
@@ -747,7 +742,7 @@ func getContainer(pid int) (string, error) {
|
||||
// The reason of leaving kernel threads at root cgroup is that we don't want to tie the
|
||||
// execution of these threads with to-be defined /system quota and create priority inversions.
|
||||
//
|
||||
func ensureSystemCgroups(rootContainer *fs.Manager, manager *fs.Manager) error {
|
||||
func ensureSystemCgroups(rootCgroupPath string, manager *fs.Manager) error {
|
||||
// Move non-kernel PIDs to the system container.
|
||||
attemptsRemaining := 10
|
||||
var errs []error
|
||||
@@ -756,7 +751,7 @@ func ensureSystemCgroups(rootContainer *fs.Manager, manager *fs.Manager) error {
|
||||
errs = []error{}
|
||||
attemptsRemaining--
|
||||
|
||||
allPids, err := rootContainer.GetPids()
|
||||
allPids, err := cmutil.GetPids(rootCgroupPath)
|
||||
if err != nil {
|
||||
errs = append(errs, fmt.Errorf("failed to list PIDs for root: %v", err))
|
||||
continue
|
||||
|
||||
Reference in New Issue
Block a user