From a0a7674d268bed63fb7db8ddbf0f63eeee4a0008 Mon Sep 17 00:00:00 2001 From: yanggang Date: Sat, 5 Nov 2022 09:26:12 +0800 Subject: [PATCH] reuse context for controller-manager base-context Signed-off-by: yanggang --- cmd/agent/app/agent.go | 3 +++ cmd/controller-manager/app/controllermanager.go | 3 +++ pkg/controllers/binding/binding_controller.go | 2 +- .../binding/cluster_resource_binding_controller.go | 2 +- pkg/controllers/certificate/cert_rotation_controller.go | 4 ++-- pkg/controllers/cluster/cluster_controller.go | 2 +- pkg/controllers/cluster/taint_manager.go | 2 +- pkg/controllers/execution/execution_controller.go | 2 +- .../federated_resource_quota_status_controller.go | 4 ++-- .../federated_resource_quota_sync_controller.go | 4 ++-- .../gracefuleviction/crb_graceful_eviction_controller.go | 2 +- .../gracefuleviction/rb_graceful_eviction_controller.go | 2 +- pkg/controllers/hpa/hpa_controller.go | 2 +- pkg/controllers/mcs/endpointslice_controller.go | 2 +- pkg/controllers/mcs/service_export_controller.go | 2 +- pkg/controllers/mcs/service_import_controller.go | 2 +- pkg/controllers/status/cluster_status_controller.go | 2 +- pkg/controllers/status/workstatus_controller.go | 2 +- pkg/controllers/unifiedauth/unified_auth_controller.go | 2 +- 19 files changed, 26 insertions(+), 20 deletions(-) diff --git a/cmd/agent/app/agent.go b/cmd/agent/app/agent.go index b6b7a0168..11ea53575 100644 --- a/cmd/agent/app/agent.go +++ b/cmd/agent/app/agent.go @@ -190,6 +190,9 @@ func run(ctx context.Context, karmadaConfig karmadactl.KarmadaConfig, opts *opti LivenessEndpointName: "/healthz", MetricsBindAddress: opts.MetricsBindAddress, MapperProvider: restmapper.MapperProvider, + BaseContext: func() context.Context { + return ctx + }, Controller: v1alpha1.ControllerConfigurationSpec{ GroupKindConcurrency: map[string]int{ workv1alpha1.SchemeGroupVersion.WithKind("Work").GroupKind().String(): opts.ConcurrentWorkSyncs, diff --git a/cmd/controller-manager/app/controllermanager.go b/cmd/controller-manager/app/controllermanager.go index b0493aea0..e50bd50d7 100644 --- a/cmd/controller-manager/app/controllermanager.go +++ b/cmd/controller-manager/app/controllermanager.go @@ -129,6 +129,9 @@ func Run(ctx context.Context, opts *options.Options) error { LivenessEndpointName: "/healthz", MetricsBindAddress: opts.MetricsBindAddress, MapperProvider: restmapper.MapperProvider, + BaseContext: func() context.Context { + return ctx + }, Controller: v1alpha1.ControllerConfigurationSpec{ GroupKindConcurrency: map[string]int{ workv1alpha1.SchemeGroupVersion.WithKind("Work").GroupKind().String(): opts.ConcurrentWorkSyncs, diff --git a/pkg/controllers/binding/binding_controller.go b/pkg/controllers/binding/binding_controller.go index 9f42369c9..22d5161c2 100644 --- a/pkg/controllers/binding/binding_controller.go +++ b/pkg/controllers/binding/binding_controller.go @@ -59,7 +59,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(ctx, req.NamespacedName, binding); err != nil { // The resource no longer exist, in which case we stop processing. if apierrors.IsNotFound(err) { return controllerruntime.Result{}, nil diff --git a/pkg/controllers/binding/cluster_resource_binding_controller.go b/pkg/controllers/binding/cluster_resource_binding_controller.go index e5e926055..d8b0a7dd7 100644 --- a/pkg/controllers/binding/cluster_resource_binding_controller.go +++ b/pkg/controllers/binding/cluster_resource_binding_controller.go @@ -59,7 +59,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(ctx, req.NamespacedName, clusterResourceBinding); err != nil { // The resource no longer exist, in which case we stop processing. if apierrors.IsNotFound(err) { return controllerruntime.Result{}, nil diff --git a/pkg/controllers/certificate/cert_rotation_controller.go b/pkg/controllers/certificate/cert_rotation_controller.go index e93c5f80a..489c4b4ac 100644 --- a/pkg/controllers/certificate/cert_rotation_controller.go +++ b/pkg/controllers/certificate/cert_rotation_controller.go @@ -76,7 +76,7 @@ func (c *CertRotationController) Reconcile(ctx context.Context, req controllerru var err error cluster := &clusterv1alpha1.Cluster{} - if err := c.Client.Get(context.TODO(), req.NamespacedName, cluster); err != nil { + if err := c.Client.Get(ctx, req.NamespacedName, cluster); err != nil { // The resource may no longer exist, in which case we stop processing. if apierrors.IsNotFound(err) { return controllerruntime.Result{}, nil @@ -96,7 +96,7 @@ func (c *CertRotationController) Reconcile(ctx context.Context, req controllerru return controllerruntime.Result{Requeue: true}, err } - secret, err := c.ClusterClient.KubeClient.CoreV1().Secrets(c.KarmadaKubeconfigNamespace).Get(context.TODO(), KarmadaKubeconfigName, metav1.GetOptions{}) + secret, err := c.ClusterClient.KubeClient.CoreV1().Secrets(c.KarmadaKubeconfigNamespace).Get(ctx, KarmadaKubeconfigName, metav1.GetOptions{}) if err != nil { klog.Errorf("failed to get karmada kubeconfig secret: %v", err) return controllerruntime.Result{Requeue: true}, err diff --git a/pkg/controllers/cluster/cluster_controller.go b/pkg/controllers/cluster/cluster_controller.go index 640f4a9da..35ede97f7 100644 --- a/pkg/controllers/cluster/cluster_controller.go +++ b/pkg/controllers/cluster/cluster_controller.go @@ -158,7 +158,7 @@ func (c *Controller) Reconcile(ctx context.Context, req controllerruntime.Reques klog.V(4).Infof("Reconciling cluster %s", req.NamespacedName.Name) cluster := &clusterv1alpha1.Cluster{} - if err := c.Client.Get(context.TODO(), req.NamespacedName, cluster); err != nil { + if err := c.Client.Get(ctx, req.NamespacedName, cluster); err != nil { // The resource may no longer exist, in which case we stop processing. if apierrors.IsNotFound(err) { return controllerruntime.Result{}, nil diff --git a/pkg/controllers/cluster/taint_manager.go b/pkg/controllers/cluster/taint_manager.go index a5511fa91..fa9f544e6 100644 --- a/pkg/controllers/cluster/taint_manager.go +++ b/pkg/controllers/cluster/taint_manager.go @@ -47,7 +47,7 @@ func (tc *NoExecuteTaintManager) Reconcile(ctx context.Context, req reconcile.Re klog.V(4).Infof("Reconciling cluster %s for taint manager", req.NamespacedName.Name) cluster := &clusterv1alpha1.Cluster{} - if err := tc.Client.Get(context.TODO(), req.NamespacedName, cluster); err != nil { + if err := tc.Client.Get(ctx, req.NamespacedName, cluster); err != nil { // The resource may no longer exist, in which case we stop processing. if apierrors.IsNotFound(err) { return controllerruntime.Result{}, nil diff --git a/pkg/controllers/execution/execution_controller.go b/pkg/controllers/execution/execution_controller.go index dd9909d89..9cb28f441 100644 --- a/pkg/controllers/execution/execution_controller.go +++ b/pkg/controllers/execution/execution_controller.go @@ -53,7 +53,7 @@ func (c *Controller) Reconcile(ctx context.Context, req controllerruntime.Reques klog.V(4).Infof("Reconciling Work %s", req.NamespacedName.String()) work := &workv1alpha1.Work{} - if err := c.Client.Get(context.TODO(), req.NamespacedName, work); err != nil { + if err := c.Client.Get(ctx, req.NamespacedName, work); err != nil { // The resource may no longer exist, in which case we stop processing. if apierrors.IsNotFound(err) { return controllerruntime.Result{}, nil diff --git a/pkg/controllers/federatedresourcequota/federated_resource_quota_status_controller.go b/pkg/controllers/federatedresourcequota/federated_resource_quota_status_controller.go index b4acf3d96..ccfc5dd3c 100644 --- a/pkg/controllers/federatedresourcequota/federated_resource_quota_status_controller.go +++ b/pkg/controllers/federatedresourcequota/federated_resource_quota_status_controller.go @@ -49,7 +49,7 @@ func (c *StatusController) Reconcile(ctx context.Context, req controllerruntime. klog.V(4).Infof("FederatedResourceQuota status controller reconciling %s", req.NamespacedName.String()) quota := &policyv1alpha1.FederatedResourceQuota{} - if err := c.Get(context.TODO(), req.NamespacedName, quota); err != nil { + if err := c.Get(ctx, req.NamespacedName, quota); err != nil { // The resource may no longer exist, in which case we stop processing. if apierrors.IsNotFound(err) { return controllerruntime.Result{}, nil @@ -62,7 +62,7 @@ func (c *StatusController) Reconcile(ctx context.Context, req controllerruntime. } workList := &workv1alpha1.WorkList{} - if err := c.List(context.TODO(), workList, &client.ListOptions{ + if err := c.List(ctx, workList, &client.ListOptions{ LabelSelector: labels.SelectorFromSet(labels.Set{ util.FederatedResourceQuotaNamespaceLabel: quota.Namespace, util.FederatedResourceQuotaNameLabel: quota.Name, diff --git a/pkg/controllers/federatedresourcequota/federated_resource_quota_sync_controller.go b/pkg/controllers/federatedresourcequota/federated_resource_quota_sync_controller.go index 24314bf42..7abf57fcb 100644 --- a/pkg/controllers/federatedresourcequota/federated_resource_quota_sync_controller.go +++ b/pkg/controllers/federatedresourcequota/federated_resource_quota_sync_controller.go @@ -45,7 +45,7 @@ func (c *SyncController) Reconcile(ctx context.Context, req controllerruntime.Re klog.V(4).Infof("FederatedResourceQuota sync controller reconciling %s", req.NamespacedName.String()) quota := &policyv1alpha1.FederatedResourceQuota{} - if err := c.Client.Get(context.TODO(), req.NamespacedName, quota); err != nil { + if err := c.Client.Get(ctx, req.NamespacedName, quota); err != nil { if apierrors.IsNotFound(err) { klog.V(4).Infof("Begin to cleanup works created by federatedResourceQuota(%s)", req.NamespacedName.String()) if err = c.cleanUpWorks(req.Namespace, req.Name); err != nil { @@ -58,7 +58,7 @@ func (c *SyncController) Reconcile(ctx context.Context, req controllerruntime.Re } clusterList := &clusterv1alpha1.ClusterList{} - if err := c.Client.List(context.TODO(), clusterList); err != nil { + if err := c.Client.List(ctx, clusterList); err != nil { klog.Errorf("Failed to list clusters, error: %v", err) return controllerruntime.Result{Requeue: true}, err } diff --git a/pkg/controllers/gracefuleviction/crb_graceful_eviction_controller.go b/pkg/controllers/gracefuleviction/crb_graceful_eviction_controller.go index 5b4a13d1d..320b08e0f 100644 --- a/pkg/controllers/gracefuleviction/crb_graceful_eviction_controller.go +++ b/pkg/controllers/gracefuleviction/crb_graceful_eviction_controller.go @@ -38,7 +38,7 @@ func (c *CRBGracefulEvictionController) Reconcile(ctx context.Context, req contr klog.V(4).Infof("Reconciling ClusterResourceBinding %s.", req.NamespacedName.String()) binding := &workv1alpha2.ClusterResourceBinding{} - if err := c.Client.Get(context.TODO(), req.NamespacedName, binding); err != nil { + if err := c.Client.Get(ctx, req.NamespacedName, binding); err != nil { if apierrors.IsNotFound(err) { return controllerruntime.Result{}, nil } diff --git a/pkg/controllers/gracefuleviction/rb_graceful_eviction_controller.go b/pkg/controllers/gracefuleviction/rb_graceful_eviction_controller.go index f48f727d9..04cbe50bf 100644 --- a/pkg/controllers/gracefuleviction/rb_graceful_eviction_controller.go +++ b/pkg/controllers/gracefuleviction/rb_graceful_eviction_controller.go @@ -38,7 +38,7 @@ func (c *RBGracefulEvictionController) Reconcile(ctx context.Context, req contro 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(ctx, req.NamespacedName, binding); err != nil { if apierrors.IsNotFound(err) { return controllerruntime.Result{}, nil } diff --git a/pkg/controllers/hpa/hpa_controller.go b/pkg/controllers/hpa/hpa_controller.go index 0f2d9e206..537f4106d 100644 --- a/pkg/controllers/hpa/hpa_controller.go +++ b/pkg/controllers/hpa/hpa_controller.go @@ -44,7 +44,7 @@ func (c *HorizontalPodAutoscalerController) Reconcile(ctx context.Context, req c klog.V(4).Infof("Reconciling HorizontalPodAutoscaler %s.", req.NamespacedName.String()) hpa := &autoscalingv1.HorizontalPodAutoscaler{} - if err := c.Client.Get(context.TODO(), req.NamespacedName, hpa); err != nil { + if err := c.Client.Get(ctx, req.NamespacedName, hpa); err != nil { // The resource may no longer exist, in which case we delete related works. if apierrors.IsNotFound(err) { if err := c.deleteWorks(names.GenerateWorkName(util.HorizontalPodAutoscalerKind, req.Name, req.Namespace)); err != nil { diff --git a/pkg/controllers/mcs/endpointslice_controller.go b/pkg/controllers/mcs/endpointslice_controller.go index bdc5da282..714c29042 100644 --- a/pkg/controllers/mcs/endpointslice_controller.go +++ b/pkg/controllers/mcs/endpointslice_controller.go @@ -36,7 +36,7 @@ func (c *EndpointSliceController) Reconcile(ctx context.Context, req controllerr klog.V(4).Infof("Reconciling Work %s.", req.NamespacedName.String()) work := &workv1alpha1.Work{} - if err := c.Client.Get(context.TODO(), req.NamespacedName, work); err != nil { + if err := c.Client.Get(ctx, req.NamespacedName, work); err != nil { if apierrors.IsNotFound(err) { // Cleanup derived EndpointSlices after work has been removed. err = helper.DeleteEndpointSlice(c.Client, labels.Set{ diff --git a/pkg/controllers/mcs/service_export_controller.go b/pkg/controllers/mcs/service_export_controller.go index 49fd9ba79..a2be9a1b3 100644 --- a/pkg/controllers/mcs/service_export_controller.go +++ b/pkg/controllers/mcs/service_export_controller.go @@ -68,7 +68,7 @@ func (c *ServiceExportController) Reconcile(ctx context.Context, req controllerr klog.V(4).Infof("Reconciling Work %s", req.NamespacedName.String()) work := &workv1alpha1.Work{} - if err := c.Client.Get(context.TODO(), req.NamespacedName, work); err != nil { + if err := c.Client.Get(ctx, req.NamespacedName, work); err != nil { if apierrors.IsNotFound(err) { return controllerruntime.Result{}, nil } diff --git a/pkg/controllers/mcs/service_import_controller.go b/pkg/controllers/mcs/service_import_controller.go index 4c5d520ff..c142ea95c 100644 --- a/pkg/controllers/mcs/service_import_controller.go +++ b/pkg/controllers/mcs/service_import_controller.go @@ -31,7 +31,7 @@ func (c *ServiceImportController) Reconcile(ctx context.Context, req controllerr klog.V(4).Infof("Reconciling ServiceImport %s.", req.NamespacedName.String()) svcImport := &mcsv1alpha1.ServiceImport{} - if err := c.Client.Get(context.TODO(), req.NamespacedName, svcImport); err != nil { + if err := c.Client.Get(ctx, req.NamespacedName, svcImport); err != nil { if apierrors.IsNotFound(err) { return c.deleteDerivedService(req.NamespacedName) } diff --git a/pkg/controllers/status/cluster_status_controller.go b/pkg/controllers/status/cluster_status_controller.go index 09676b24b..bf15690a6 100644 --- a/pkg/controllers/status/cluster_status_controller.go +++ b/pkg/controllers/status/cluster_status_controller.go @@ -108,7 +108,7 @@ func (c *ClusterStatusController) Reconcile(ctx context.Context, req controllerr klog.V(4).Infof("Syncing cluster status: %s", req.NamespacedName.Name) cluster := &clusterv1alpha1.Cluster{} - if err := c.Client.Get(context.TODO(), req.NamespacedName, cluster); err != nil { + if err := c.Client.Get(ctx, req.NamespacedName, cluster); err != nil { // The resource may no longer exist, in which case we stop the informer. if apierrors.IsNotFound(err) { c.GenericInformerManager.Stop(req.NamespacedName.Name) diff --git a/pkg/controllers/status/workstatus_controller.go b/pkg/controllers/status/workstatus_controller.go index e5336b93f..7de4f6af4 100644 --- a/pkg/controllers/status/workstatus_controller.go +++ b/pkg/controllers/status/workstatus_controller.go @@ -63,7 +63,7 @@ func (c *WorkStatusController) Reconcile(ctx context.Context, req controllerrunt klog.V(4).Infof("Reconciling status of Work %s.", req.NamespacedName.String()) work := &workv1alpha1.Work{} - if err := c.Client.Get(context.TODO(), req.NamespacedName, work); err != nil { + if err := c.Client.Get(ctx, req.NamespacedName, work); err != nil { // The resource may no longer exist, in which case we stop processing. if apierrors.IsNotFound(err) { return controllerruntime.Result{}, nil diff --git a/pkg/controllers/unifiedauth/unified_auth_controller.go b/pkg/controllers/unifiedauth/unified_auth_controller.go index 24771a75b..54a51c33d 100644 --- a/pkg/controllers/unifiedauth/unified_auth_controller.go +++ b/pkg/controllers/unifiedauth/unified_auth_controller.go @@ -48,7 +48,7 @@ func (c *Controller) Reconcile(ctx context.Context, req controllerruntime.Reques klog.V(4).Infof("Reconciling cluster %s", req.NamespacedName.String()) cluster := &clusterv1alpha1.Cluster{} - if err := c.Client.Get(context.TODO(), req.NamespacedName, cluster); err != nil { + if err := c.Client.Get(ctx, req.NamespacedName, cluster); err != nil { // The resource may no longer exist, in which case we stop processing. if apierrors.IsNotFound(err) { return controllerruntime.Result{}, nil