From fb046f7787c5ccea88046d55c76d78be96330ebb Mon Sep 17 00:00:00 2001 From: Ted Yu Date: Wed, 13 Nov 2019 06:00:34 -0800 Subject: [PATCH] Continue removing file in ManagerImpl#removeContents --- pkg/kubelet/cm/devicemanager/BUILD | 1 + pkg/kubelet/cm/devicemanager/manager.go | 8 ++++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/pkg/kubelet/cm/devicemanager/BUILD b/pkg/kubelet/cm/devicemanager/BUILD index 4c0ff545194..3299f7f4e9a 100644 --- a/pkg/kubelet/cm/devicemanager/BUILD +++ b/pkg/kubelet/cm/devicemanager/BUILD @@ -32,6 +32,7 @@ go_library( "//pkg/util/selinux:go_default_library", "//staging/src/k8s.io/api/core/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/api/resource:go_default_library", + "//staging/src/k8s.io/apimachinery/pkg/util/errors:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library", "//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library", "//staging/src/k8s.io/kubelet/pkg/apis/deviceplugin/v1beta1:go_default_library", diff --git a/pkg/kubelet/cm/devicemanager/manager.go b/pkg/kubelet/cm/devicemanager/manager.go index d3fac8382c0..5b7194fbda9 100644 --- a/pkg/kubelet/cm/devicemanager/manager.go +++ b/pkg/kubelet/cm/devicemanager/manager.go @@ -31,6 +31,7 @@ import ( v1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/resource" + errorsutil "k8s.io/apimachinery/pkg/util/errors" "k8s.io/apimachinery/pkg/util/sets" utilfeature "k8s.io/apiserver/pkg/util/feature" pluginapi "k8s.io/kubelet/pkg/apis/deviceplugin/v1beta1" @@ -189,6 +190,7 @@ func (m *ManagerImpl) removeContents(dir string) error { if err != nil { return err } + var errs []error for _, name := range names { filePath := filepath.Join(dir, name) if filePath == m.checkpointFile() { @@ -204,10 +206,12 @@ func (m *ManagerImpl) removeContents(dir string) error { } err = os.RemoveAll(filePath) if err != nil { - return err + errs = append(errs, err) + klog.Errorf("Failed to remove file %s: %v", filePath, err) + continue } } - return nil + return errorsutil.NewAggregate(errs) } // checkpointFile returns device plugin checkpoint file path.