From dae6950f04b1aa4ef670e8af8a4b7e18387325ea Mon Sep 17 00:00:00 2001 From: Ted Yu Date: Mon, 18 Feb 2019 13:29:16 -0800 Subject: [PATCH] Aggregate errors for kube runtime GC Signed-off-by: Ted Yu --- pkg/kubelet/kuberuntime/kuberuntime_gc.go | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/pkg/kubelet/kuberuntime/kuberuntime_gc.go b/pkg/kubelet/kuberuntime/kuberuntime_gc.go index 1bc77c1739c..c25bdaf8744 100644 --- a/pkg/kubelet/kuberuntime/kuberuntime_gc.go +++ b/pkg/kubelet/kuberuntime/kuberuntime_gc.go @@ -24,6 +24,7 @@ import ( "time" "k8s.io/apimachinery/pkg/types" + utilerrors "k8s.io/apimachinery/pkg/util/errors" "k8s.io/apimachinery/pkg/util/sets" "k8s.io/klog" internalapi "k8s.io/kubernetes/pkg/kubelet/apis/cri" @@ -375,16 +376,20 @@ func (cgc *containerGC) evictPodLogsDirectories(allSourcesReady bool) error { // * gets evictable sandboxes which are not ready and contains no containers. // * removes evictable sandboxes. func (cgc *containerGC) GarbageCollect(gcPolicy kubecontainer.ContainerGCPolicy, allSourcesReady bool, evictTerminatedPods bool) error { + errors := []error{} // Remove evictable containers if err := cgc.evictContainers(gcPolicy, allSourcesReady, evictTerminatedPods); err != nil { - return err + errors = append(errors, err) } // Remove sandboxes with zero containers if err := cgc.evictSandboxes(evictTerminatedPods); err != nil { - return err + errors = append(errors, err) } // Remove pod sandbox log directory - return cgc.evictPodLogsDirectories(allSourcesReady) + if err := cgc.evictPodLogsDirectories(allSourcesReady); err != nil { + errors = append(errors, err) + } + return utilerrors.NewAggregate(errors) }