From b7bc39f5b688f29017b82c516228e473a2ebb32e Mon Sep 17 00:00:00 2001 From: Maru Newby Date: Mon, 15 May 2017 11:19:34 -0700 Subject: [PATCH] fed: Update sync controller to use runtime.HandleError --- .../pkg/federation-controller/sync/BUILD | 1 + .../federation-controller/sync/controller.go | 29 ++++++++++++------- 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/federation/pkg/federation-controller/sync/BUILD b/federation/pkg/federation-controller/sync/BUILD index d7f595e4950..a597ede5e78 100644 --- a/federation/pkg/federation-controller/sync/BUILD +++ b/federation/pkg/federation-controller/sync/BUILD @@ -27,6 +27,7 @@ go_library( "//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", "//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library", "//vendor/k8s.io/apimachinery/pkg/types:go_default_library", + "//vendor/k8s.io/apimachinery/pkg/util/runtime:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/wait:go_default_library", "//vendor/k8s.io/apimachinery/pkg/watch:go_default_library", "//vendor/k8s.io/client-go/pkg/api/v1:go_default_library", diff --git a/federation/pkg/federation-controller/sync/controller.go b/federation/pkg/federation-controller/sync/controller.go index 5786a35d0f1..0d607e6915b 100644 --- a/federation/pkg/federation-controller/sync/controller.go +++ b/federation/pkg/federation-controller/sync/controller.go @@ -24,6 +24,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" pkgruntime "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/apimachinery/pkg/util/wait" "k8s.io/apimachinery/pkg/watch" clientv1 "k8s.io/client-go/pkg/api/v1" @@ -298,7 +299,7 @@ func (s *FederationSyncController) isSynced() bool { } clusters, err := s.informer.GetReadyClusters() if err != nil { - glog.Errorf("Failed to get ready clusters: %v", err) + runtime.HandleError(fmt.Errorf("Failed to get ready clusters: %v", err)) return false } if !s.informer.GetTargetStore().ClustersSynced(clusters) { @@ -328,7 +329,6 @@ func (s *FederationSyncController) reconcile(namespacedName types.NamespacedName obj, err := s.objFromCache(kind, key) if err != nil { - glog.Error(err) return statusError } if obj == nil { @@ -341,7 +341,7 @@ func (s *FederationSyncController) reconcile(namespacedName types.NamespacedName if err != nil { msg := "Failed to delete %s %q: %v" args := []interface{}{kind, namespacedName, err} - glog.Errorf(msg, args...) + runtime.HandleError(fmt.Errorf(msg, args...)) s.eventRecorder.Eventf(obj, api.EventTypeWarning, "DeleteFailed", msg, args...) return statusError } @@ -351,7 +351,7 @@ func (s *FederationSyncController) reconcile(namespacedName types.NamespacedName glog.V(3).Infof("Ensuring finalizers exist on %s %q", kind, key) obj, err = s.deletionHelper.EnsureFinalizers(obj) if err != nil { - glog.Errorf("Failed to ensure finalizers for %s %q: %v", kind, key, err) + runtime.HandleError(fmt.Errorf("Failed to ensure finalizers for %s %q: %v", kind, key, err)) return statusError } @@ -372,7 +372,9 @@ func (s *FederationSyncController) reconcile(namespacedName types.NamespacedName func (s *FederationSyncController) objFromCache(kind, key string) (pkgruntime.Object, error) { cachedObj, exist, err := s.store.GetByKey(key) if err != nil { - return nil, fmt.Errorf("Failed to query %s store for %q: %v", kind, key, err) + wrappedErr := fmt.Errorf("Failed to query %s store for %q: %v", kind, key, err) + runtime.HandleError(wrappedErr) + return nil, err } if !exist { return nil, nil @@ -381,10 +383,14 @@ func (s *FederationSyncController) objFromCache(kind, key string) (pkgruntime.Ob // Create a copy before modifying the resource to prevent racing with other readers. copiedObj, err := api.Scheme.DeepCopy(cachedObj) if err != nil { - return nil, fmt.Errorf("Error in retrieving %s %q from store: %v", kind, key, err) + wrappedErr := fmt.Errorf("Error in retrieving %s %q from store: %v", kind, key, err) + runtime.HandleError(wrappedErr) + return nil, err } if !s.adapter.IsExpectedType(copiedObj) { - return nil, fmt.Errorf("Object is not the expected type: %v", copiedObj) + err = fmt.Errorf("Object is not the expected type: %v", copiedObj) + runtime.HandleError(err) + return nil, err } return copiedObj.(pkgruntime.Object), nil } @@ -422,13 +428,12 @@ func syncToClusters(clustersAccessor clustersAccessorFunc, operationsAccessor op clusters, err := clustersAccessor() if err != nil { - glog.Errorf("Failed to get cluster list: %v", err) + runtime.HandleError(fmt.Errorf("Failed to get cluster list: %v", err)) return statusNotSynced } operations, err := operationsAccessor(adapter, clusters, obj) if err != nil { - glog.Error(err) return statusError } if len(operations) == 0 { @@ -437,7 +442,7 @@ func syncToClusters(clustersAccessor clustersAccessorFunc, operationsAccessor op err = execute(operations) if err != nil { - glog.Errorf("Failed to execute updates for %s %q: %v", kind, key, err) + runtime.HandleError(fmt.Errorf("Failed to execute updates for %s %q: %v", kind, key, err)) return statusError } @@ -454,7 +459,9 @@ func clusterOperations(adapter federatedtypes.FederatedTypeAdapter, clusters []* for _, cluster := range clusters { clusterObj, found, err := accessor(cluster.Name) if err != nil { - return nil, fmt.Errorf("Failed to get %s %q from cluster %q: %v", adapter.Kind(), key, cluster.Name, err) + wrappedErr := fmt.Errorf("Failed to get %s %q from cluster %q: %v", adapter.Kind(), key, cluster.Name, err) + runtime.HandleError(wrappedErr) + return nil, wrappedErr } // The data should not be modified. desiredObj := adapter.Copy(obj)