From e25e2038a4e50af6acd2a8c680135b5b3990b92e Mon Sep 17 00:00:00 2001 From: changzhen Date: Thu, 30 Sep 2021 11:15:30 +0800 Subject: [PATCH] retain original code style Signed-off-by: changzhen --- .../app/controllermanager.go | 28 ++++----- pkg/controllers/binding/binding_controller.go | 61 ++++++++----------- .../cluster_resource_binding_controller.go | 56 +++++++---------- 3 files changed, 61 insertions(+), 84 deletions(-) diff --git a/cmd/controller-manager/app/controllermanager.go b/cmd/controller-manager/app/controllermanager.go index 9dcabdb69..9ffb1ba8d 100644 --- a/cmd/controller-manager/app/controllermanager.go +++ b/cmd/controller-manager/app/controllermanager.go @@ -199,24 +199,24 @@ func setupControllers(mgr controllerruntime.Manager, opts *options.Options, stop klog.Fatalf("Failed to setup policy controller: %v", err) } - bindingController := binding.NewResourceBindingController( - mgr.GetClient(), - dynamicClientSet, - mgr.GetEventRecorderFor(binding.ControllerName), - mgr.GetRESTMapper(), - overrideManager, - ) + bindingController := &binding.ResourceBindingController{ + Client: mgr.GetClient(), + DynamicClient: dynamicClientSet, + EventRecorder: mgr.GetEventRecorderFor(binding.ControllerName), + RESTMapper: mgr.GetRESTMapper(), + OverrideManager: overrideManager, + } if err := bindingController.SetupWithManager(mgr); err != nil { klog.Fatalf("Failed to setup binding controller: %v", err) } - clusterResourceBindingController := binding.NewClusterResourceBindingController( - mgr.GetClient(), - dynamicClientSet, - mgr.GetEventRecorderFor(binding.ClusterResourceBindingControllerName), - mgr.GetRESTMapper(), - overrideManager, - ) + clusterResourceBindingController := &binding.ClusterResourceBindingController{ + Client: mgr.GetClient(), + DynamicClient: dynamicClientSet, + EventRecorder: mgr.GetEventRecorderFor(binding.ClusterResourceBindingControllerName), + RESTMapper: mgr.GetRESTMapper(), + OverrideManager: overrideManager, + } if err := clusterResourceBindingController.SetupWithManager(mgr); err != nil { klog.Fatalf("Failed to setup cluster resource binding controller: %v", err) } diff --git a/pkg/controllers/binding/binding_controller.go b/pkg/controllers/binding/binding_controller.go index 09ba36527..1ea5f350a 100644 --- a/pkg/controllers/binding/binding_controller.go +++ b/pkg/controllers/binding/binding_controller.go @@ -31,6 +31,7 @@ import ( const ( // ControllerName is the controller name that will be used when reporting events. ControllerName = "binding-controller" + eventTypeFindOrphanWorks = "FindOrphanWorks" eventTypeFetchWorkload = "FetchWorkload" eventTypeTransformResourceBinding = "TransformResourceBinding" @@ -39,23 +40,11 @@ const ( // ResourceBindingController is to sync ResourceBinding. type ResourceBindingController struct { - client client.Client // used to operate ResourceBinding resources. - dynamicClient dynamic.Interface // used to fetch arbitrary resources. - recorder record.EventRecorder - restMapper meta.RESTMapper - overrideManager overridemanager.OverrideManager -} - -// NewResourceBindingController creates a new ResourceBindingController. -func NewResourceBindingController(client client.Client, dynamicClient dynamic.Interface, recorder record.EventRecorder, restMapper meta.RESTMapper, overrideManager overridemanager.OverrideManager) *ResourceBindingController { - rbConroller := ResourceBindingController{ - client: client, - dynamicClient: dynamicClient, - recorder: recorder, - restMapper: restMapper, - overrideManager: overrideManager, - } - return &rbConroller + client.Client // used to operate ResourceBinding resources. + DynamicClient dynamic.Interface // used to fetch arbitrary resources. + EventRecorder record.EventRecorder + RESTMapper meta.RESTMapper + OverrideManager overridemanager.OverrideManager } // Reconcile performs a full reconciliation for the object referred to by the Request. @@ -65,7 +54,7 @@ func (c *ResourceBindingController) Reconcile(ctx context.Context, req controlle klog.V(4).Infof("Reconciling ResourceBinding %s.", req.NamespacedName.String()) binding := &workv1alpha2.ResourceBinding{} - if err := c.client.Get(context.TODO(), req.NamespacedName, binding); err != nil { + if err := c.Client.Get(context.TODO(), req.NamespacedName, binding); err != nil { // The resource no longer exist, in which case we stop processing. if apierrors.IsNotFound(err) { return controllerruntime.Result{}, nil @@ -75,7 +64,7 @@ func (c *ResourceBindingController) Reconcile(ctx context.Context, req controlle } if !binding.DeletionTimestamp.IsZero() { - if err := helper.DeleteWorks(c.client, labels.Set{ + if err := helper.DeleteWorks(c.Client, labels.Set{ workv1alpha2.ResourceBindingNamespaceLabel: req.Namespace, workv1alpha2.ResourceBindingNameLabel: req.Name, }); err != nil { @@ -89,7 +78,7 @@ func (c *ResourceBindingController) Reconcile(ctx context.Context, req controlle if !isReady { msg := fmt.Sprintf("ResourceBinding %s is not ready.", req.NamespacedName.String()) klog.Infof(msg) - c.recorder.Event(binding, corev1.EventTypeWarning, "ResourceBindingNotReady", msg) + c.EventRecorder.Event(binding, corev1.EventTypeWarning, "ResourceBindingNotReady", msg) return controllerruntime.Result{}, nil } @@ -104,7 +93,7 @@ func (c *ResourceBindingController) removeFinalizer(rb *workv1alpha2.ResourceBin } controllerutil.RemoveFinalizer(rb, util.BindingControllerFinalizer) - err := c.client.Update(context.TODO(), rb) + err := c.Client.Update(context.TODO(), rb) if err != nil { return controllerruntime.Result{Requeue: true}, err } @@ -114,47 +103,47 @@ func (c *ResourceBindingController) removeFinalizer(rb *workv1alpha2.ResourceBin // syncBinding will sync resourceBinding to Works. func (c *ResourceBindingController) syncBinding(binding *workv1alpha2.ResourceBinding) (controllerruntime.Result, error) { clusterNames := helper.GetBindingClusterNames(binding.Spec.Clusters) - works, err := helper.FindOrphanWorks(c.client, binding.Namespace, binding.Name, clusterNames, apiextensionsv1.NamespaceScoped) + works, err := helper.FindOrphanWorks(c.Client, binding.Namespace, binding.Name, clusterNames, apiextensionsv1.NamespaceScoped) if err != nil { klog.Errorf("Failed to find orphan works by resourceBinding(%s/%s). Error: %v.", binding.GetNamespace(), binding.GetName(), err) - c.recorder.Event(binding, corev1.EventTypeWarning, fmt.Sprintf("Failed %s", eventTypeFindOrphanWorks), err.Error()) + c.EventRecorder.Event(binding, corev1.EventTypeWarning, fmt.Sprintf("Failed %s", eventTypeFindOrphanWorks), err.Error()) return controllerruntime.Result{Requeue: true}, err } - err = helper.RemoveOrphanWorks(c.client, works) + err = helper.RemoveOrphanWorks(c.Client, works) if err != nil { klog.Errorf("Failed to remove orphan works by resourceBinding(%s/%s). Error: %v.", binding.GetNamespace(), binding.GetName(), err) - c.recorder.Event(binding, corev1.EventTypeWarning, fmt.Sprintf("Failed %s", eventTypeFindOrphanWorks), err.Error()) + c.EventRecorder.Event(binding, corev1.EventTypeWarning, fmt.Sprintf("Failed %s", eventTypeFindOrphanWorks), err.Error()) return controllerruntime.Result{Requeue: true}, err } - workload, err := helper.FetchWorkload(c.dynamicClient, c.restMapper, binding.Spec.Resource) + workload, err := helper.FetchWorkload(c.DynamicClient, c.RESTMapper, binding.Spec.Resource) if err != nil { klog.Errorf("Failed to fetch workload for resourceBinding(%s/%s). Error: %v.", binding.GetNamespace(), binding.GetName(), err) - c.recorder.Event(binding, corev1.EventTypeWarning, fmt.Sprintf("Failed %s", eventTypeFetchWorkload), err.Error()) + c.EventRecorder.Event(binding, corev1.EventTypeWarning, fmt.Sprintf("Failed %s", eventTypeFetchWorkload), err.Error()) return controllerruntime.Result{Requeue: true}, err } - err = ensureWork(c.client, workload, c.overrideManager, binding, apiextensionsv1.NamespaceScoped) + err = ensureWork(c.Client, workload, c.OverrideManager, binding, apiextensionsv1.NamespaceScoped) if err != nil { klog.Errorf("Failed to transform resourceBinding(%s/%s) to works. Error: %v.", binding.GetNamespace(), binding.GetName(), err) - c.recorder.Event(binding, corev1.EventTypeWarning, fmt.Sprintf("Failed %s", eventTypeTransformResourceBinding), err.Error()) + c.EventRecorder.Event(binding, corev1.EventTypeWarning, fmt.Sprintf("Failed %s", eventTypeTransformResourceBinding), err.Error()) return controllerruntime.Result{Requeue: true}, err } - err = helper.AggregateResourceBindingWorkStatus(c.client, binding, workload) + err = helper.AggregateResourceBindingWorkStatus(c.Client, binding, workload) if err != nil { klog.Errorf("Failed to aggregate workStatuses to resourceBinding(%s/%s). Error: %v.", binding.GetNamespace(), binding.GetName(), err) - c.recorder.Event(binding, corev1.EventTypeWarning, fmt.Sprintf("Failed %s", eventTypeAggregateWorkStatuses), err.Error()) + c.EventRecorder.Event(binding, corev1.EventTypeWarning, fmt.Sprintf("Failed %s", eventTypeAggregateWorkStatuses), err.Error()) return controllerruntime.Result{Requeue: true}, err } klog.V(4).Infof("Update resourceBinding(%s/%s) with AggregatedStatus successfully.", binding.Namespace, binding.Name) - c.recorder.Event(binding, corev1.EventTypeNormal, "SyncResourceBinding", "ResourceBinding synced successfully") + c.EventRecorder.Event(binding, corev1.EventTypeNormal, "SyncResourceBinding", "ResourceBinding synced successfully") return controllerruntime.Result{}, nil } @@ -201,14 +190,14 @@ func (c *ResourceBindingController) newOverridePolicyFunc() handler.MapFunc { } bindingList := &workv1alpha2.ResourceBindingList{} - if err := c.client.List(context.TODO(), bindingList); err != nil { + if err := c.Client.List(context.TODO(), bindingList); err != nil { klog.Errorf("Failed to list resourceBindings, error: %v", err) return nil } var requests []reconcile.Request for _, binding := range bindingList.Items { - workload, err := helper.FetchWorkload(c.dynamicClient, c.restMapper, binding.Spec.Resource) + workload, err := helper.FetchWorkload(c.DynamicClient, c.RESTMapper, binding.Spec.Resource) if err != nil { klog.Errorf("Failed to fetch workload for resourceBinding(%s/%s). Error: %v.", binding.Namespace, binding.Name, err) return nil @@ -230,14 +219,14 @@ func (c *ResourceBindingController) newReplicaSchedulingPolicyFunc() handler.Map return func(a client.Object) []reconcile.Request { rspResourceSelectors := a.(*policyv1alpha1.ReplicaSchedulingPolicy).Spec.ResourceSelectors bindingList := &workv1alpha2.ResourceBindingList{} - if err := c.client.List(context.TODO(), bindingList); err != nil { + if err := c.Client.List(context.TODO(), bindingList); err != nil { klog.Errorf("Failed to list resourceBindings, error: %v", err) return nil } var requests []reconcile.Request for _, binding := range bindingList.Items { - workload, err := helper.FetchWorkload(c.dynamicClient, c.restMapper, binding.Spec.Resource) + workload, err := helper.FetchWorkload(c.DynamicClient, c.RESTMapper, binding.Spec.Resource) if err != nil { klog.Errorf("Failed to fetch workload for resourceBinding(%s/%s). Error: %v.", binding.Namespace, binding.Name, err) return nil diff --git a/pkg/controllers/binding/cluster_resource_binding_controller.go b/pkg/controllers/binding/cluster_resource_binding_controller.go index cb77f37ff..28997ec75 100644 --- a/pkg/controllers/binding/cluster_resource_binding_controller.go +++ b/pkg/controllers/binding/cluster_resource_binding_controller.go @@ -33,23 +33,11 @@ const ClusterResourceBindingControllerName = "cluster-resource-binding-controlle // ClusterResourceBindingController is to sync ClusterResourceBinding. type ClusterResourceBindingController struct { - client client.Client // used to operate ClusterResourceBinding resources. - dynamicClient dynamic.Interface // used to fetch arbitrary resources. - recorder record.EventRecorder - restMapper meta.RESTMapper - overrideManager overridemanager.OverrideManager -} - -// NewClusterResourceBindingController creates a new ClusterResourceBindingController. -func NewClusterResourceBindingController(client client.Client, dynamicClient dynamic.Interface, recorder record.EventRecorder, restMapper meta.RESTMapper, overrideManager overridemanager.OverrideManager) *ClusterResourceBindingController { - crbConroller := ClusterResourceBindingController{ - client: client, - dynamicClient: dynamicClient, - recorder: recorder, - restMapper: restMapper, - overrideManager: overrideManager, - } - return &crbConroller + client.Client // used to operate ClusterResourceBinding resources. + DynamicClient dynamic.Interface // used to fetch arbitrary resources. + EventRecorder record.EventRecorder + RESTMapper meta.RESTMapper + OverrideManager overridemanager.OverrideManager } // Reconcile performs a full reconciliation for the object referred to by the Request. @@ -59,7 +47,7 @@ func (c *ClusterResourceBindingController) Reconcile(ctx context.Context, req co klog.V(4).Infof("Reconciling ClusterResourceBinding %s.", req.NamespacedName.String()) clusterResourceBinding := &workv1alpha2.ClusterResourceBinding{} - if err := c.client.Get(context.TODO(), req.NamespacedName, clusterResourceBinding); err != nil { + if err := c.Client.Get(context.TODO(), req.NamespacedName, clusterResourceBinding); err != nil { // The resource no longer exist, in which case we stop processing. if apierrors.IsNotFound(err) { return controllerruntime.Result{}, nil @@ -69,7 +57,7 @@ func (c *ClusterResourceBindingController) Reconcile(ctx context.Context, req co } if !clusterResourceBinding.DeletionTimestamp.IsZero() { - if err := helper.DeleteWorks(c.client, labels.Set{ + if err := helper.DeleteWorks(c.Client, labels.Set{ workv1alpha2.ClusterResourceBindingLabel: req.Name, }); err != nil { klog.Errorf("Failed to delete works related to %s: %v", clusterResourceBinding.GetName(), err) @@ -82,7 +70,7 @@ func (c *ClusterResourceBindingController) Reconcile(ctx context.Context, req co if !isReady { msg := fmt.Sprintf("ClusterResourceBinding %s is not ready to sync.", clusterResourceBinding.GetName()) klog.Infof(msg) - c.recorder.Event(clusterResourceBinding, corev1.EventTypeWarning, "ResourceBindingNotReady", msg) + c.EventRecorder.Event(clusterResourceBinding, corev1.EventTypeWarning, "ResourceBindingNotReady", msg) return controllerruntime.Result{}, nil } @@ -97,7 +85,7 @@ func (c *ClusterResourceBindingController) removeFinalizer(crb *workv1alpha2.Clu } controllerutil.RemoveFinalizer(crb, util.ClusterResourceBindingControllerFinalizer) - err := c.client.Update(context.TODO(), crb) + err := c.Client.Update(context.TODO(), crb) if err != nil { return controllerruntime.Result{Requeue: true}, err } @@ -107,37 +95,37 @@ func (c *ClusterResourceBindingController) removeFinalizer(crb *workv1alpha2.Clu // syncBinding will sync clusterResourceBinding to Works. func (c *ClusterResourceBindingController) syncBinding(binding *workv1alpha2.ClusterResourceBinding) (controllerruntime.Result, error) { clusterNames := helper.GetBindingClusterNames(binding.Spec.Clusters) - works, err := helper.FindOrphanWorks(c.client, "", binding.Name, clusterNames, apiextensionsv1.ClusterScoped) + works, err := helper.FindOrphanWorks(c.Client, "", binding.Name, clusterNames, apiextensionsv1.ClusterScoped) if err != nil { klog.Errorf("Failed to find orphan works by ClusterResourceBinding(%s). Error: %v.", binding.GetName(), err) - c.recorder.Event(binding, corev1.EventTypeWarning, fmt.Sprintf("Failed %s", eventTypeFindOrphanWorks), err.Error()) + c.EventRecorder.Event(binding, corev1.EventTypeWarning, fmt.Sprintf("Failed %s", eventTypeFindOrphanWorks), err.Error()) return controllerruntime.Result{Requeue: true}, err } - err = helper.RemoveOrphanWorks(c.client, works) + err = helper.RemoveOrphanWorks(c.Client, works) if err != nil { klog.Errorf("Failed to remove orphan works by clusterResourceBinding(%s). Error: %v.", binding.GetName(), err) - c.recorder.Event(binding, corev1.EventTypeWarning, fmt.Sprintf("Failed %s", eventTypeFindOrphanWorks), err.Error()) + c.EventRecorder.Event(binding, corev1.EventTypeWarning, fmt.Sprintf("Failed %s", eventTypeFindOrphanWorks), err.Error()) return controllerruntime.Result{Requeue: true}, err } - workload, err := helper.FetchWorkload(c.dynamicClient, c.restMapper, binding.Spec.Resource) + workload, err := helper.FetchWorkload(c.DynamicClient, c.RESTMapper, binding.Spec.Resource) if err != nil { klog.Errorf("Failed to fetch workload for clusterResourceBinding(%s). Error: %v.", binding.GetName(), err) - c.recorder.Event(binding, corev1.EventTypeWarning, fmt.Sprintf("Failed %s", eventTypeFetchWorkload), err.Error()) + c.EventRecorder.Event(binding, corev1.EventTypeWarning, fmt.Sprintf("Failed %s", eventTypeFetchWorkload), err.Error()) return controllerruntime.Result{Requeue: true}, err } - err = ensureWork(c.client, workload, c.overrideManager, binding, apiextensionsv1.ClusterScoped) + err = ensureWork(c.Client, workload, c.OverrideManager, binding, apiextensionsv1.ClusterScoped) if err != nil { klog.Errorf("Failed to transform clusterResourceBinding(%s) to works. Error: %v.", binding.GetName(), err) return controllerruntime.Result{Requeue: true}, err } - err = helper.AggregateClusterResourceBindingWorkStatus(c.client, binding, workload) + err = helper.AggregateClusterResourceBindingWorkStatus(c.Client, binding, workload) if err != nil { klog.Errorf("Failed to aggregate workStatuses to clusterResourceBinding(%s). Error: %v.", binding.GetName(), err) - c.recorder.Event(binding, corev1.EventTypeWarning, fmt.Sprintf("Failed %s", eventTypeTransformResourceBinding), err.Error()) + c.EventRecorder.Event(binding, corev1.EventTypeWarning, fmt.Sprintf("Failed %s", eventTypeTransformResourceBinding), err.Error()) return controllerruntime.Result{Requeue: true}, err } klog.V(4).Infof("Update clusterResourceBinding(%s) with AggregatedStatus successfully.", binding.Name) @@ -185,14 +173,14 @@ func (c *ClusterResourceBindingController) newOverridePolicyFunc() handler.MapFu } bindingList := &workv1alpha2.ClusterResourceBindingList{} - if err := c.client.List(context.TODO(), bindingList); err != nil { + if err := c.Client.List(context.TODO(), bindingList); err != nil { klog.Errorf("Failed to list clusterResourceBindings, error: %v", err) return nil } var requests []reconcile.Request for _, binding := range bindingList.Items { - workload, err := helper.FetchWorkload(c.dynamicClient, c.restMapper, binding.Spec.Resource) + workload, err := helper.FetchWorkload(c.DynamicClient, c.RESTMapper, binding.Spec.Resource) if err != nil { klog.Errorf("Failed to fetch workload for clusterResourceBinding(%s). Error: %v.", binding.Name, err) return nil @@ -214,14 +202,14 @@ func (c *ClusterResourceBindingController) newReplicaSchedulingPolicyFunc() hand return func(a client.Object) []reconcile.Request { rspResourceSelectors := a.(*policyv1alpha1.ReplicaSchedulingPolicy).Spec.ResourceSelectors bindingList := &workv1alpha2.ClusterResourceBindingList{} - if err := c.client.List(context.TODO(), bindingList); err != nil { + if err := c.Client.List(context.TODO(), bindingList); err != nil { klog.Errorf("Failed to list clusterResourceBindings, error: %v", err) return nil } var requests []reconcile.Request for _, binding := range bindingList.Items { - workload, err := helper.FetchWorkload(c.dynamicClient, c.restMapper, binding.Spec.Resource) + workload, err := helper.FetchWorkload(c.DynamicClient, c.RESTMapper, binding.Spec.Resource) if err != nil { klog.Errorf("Failed to fetch workload for clusterResourceBinding(%s). Error: %v.", binding.Name, err) return nil