From 4c75dbac7d92006d6a784d5e39e2bf98fffb05f2 Mon Sep 17 00:00:00 2001 From: Haowei Cai Date: Wed, 22 Jul 2020 18:53:54 -0700 Subject: [PATCH] keep processing partial discovery result when failure occurs --- pkg/trigger/discovery_handler.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/pkg/trigger/discovery_handler.go b/pkg/trigger/discovery_handler.go index 1a102fae5..a489e90be 100644 --- a/pkg/trigger/discovery_handler.go +++ b/pkg/trigger/discovery_handler.go @@ -26,6 +26,7 @@ import ( "k8s.io/apimachinery/pkg/runtime/schema" utilruntime "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/client-go/discovery" "k8s.io/klog" migrationv1alpha1 "sigs.k8s.io/kube-storage-version-migrator/pkg/apis/migration/v1alpha1" @@ -44,8 +45,13 @@ func (mt *MigrationTrigger) processDiscovery(ctx context.Context) { return true, nil }) if err != nil { - utilruntime.HandleError(fmt.Errorf("Abort processing discovery document: %v", err)) - return + if discovery.IsGroupDiscoveryFailedError(err2) { + // process the partial discovery result, and update the heartbeat for + // resources that do have a valid discovery document + klog.Warningf("failed to discover some groups: %v; processing partial result", err2.(*discovery.ErrGroupDiscoveryFailed).Groups) + } else { + klog.Warningf("failed to discover preferred resources: %v", err2) + } } mt.heartbeat = metav1.Now() for _, l := range resources {