From acee9c6a0963d9d5f02edb488d172bbf24e5d4fd Mon Sep 17 00:00:00 2001 From: changzhen Date: Thu, 30 Sep 2021 11:52:47 +0800 Subject: [PATCH] modify event reason Signed-off-by: changzhen --- pkg/controllers/binding/binding_controller.go | 33 ++++++++----------- .../cluster_resource_binding_controller.go | 20 ++++++----- pkg/controllers/binding/common.go | 8 +++++ 3 files changed, 32 insertions(+), 29 deletions(-) diff --git a/pkg/controllers/binding/binding_controller.go b/pkg/controllers/binding/binding_controller.go index 1ea5f350a..23892cfd0 100644 --- a/pkg/controllers/binding/binding_controller.go +++ b/pkg/controllers/binding/binding_controller.go @@ -28,15 +28,8 @@ import ( "github.com/karmada-io/karmada/pkg/util/overridemanager" ) -const ( - // ControllerName is the controller name that will be used when reporting events. - ControllerName = "binding-controller" - - eventTypeFindOrphanWorks = "FindOrphanWorks" - eventTypeFetchWorkload = "FetchWorkload" - eventTypeTransformResourceBinding = "TransformResourceBinding" - eventTypeAggregateWorkStatuses = "AggregateWorkStatuses" -) +// ControllerName is the controller name that will be used when reporting events. +const ControllerName = "binding-controller" // ResourceBindingController is to sync ResourceBinding. type ResourceBindingController struct { @@ -76,10 +69,7 @@ func (c *ResourceBindingController) Reconcile(ctx context.Context, req controlle isReady := helper.IsBindingReady(binding.Spec.Clusters) if !isReady { - msg := fmt.Sprintf("ResourceBinding %s is not ready.", req.NamespacedName.String()) - klog.Infof(msg) - c.EventRecorder.Event(binding, corev1.EventTypeWarning, "ResourceBindingNotReady", msg) - + klog.Infof("ResourceBinding(%s/%s) is not ready to sync", binding.GetNamespace(), binding.GetName()) return controllerruntime.Result{}, nil } @@ -107,7 +97,7 @@ func (c *ResourceBindingController) syncBinding(binding *workv1alpha2.ResourceBi if err != nil { klog.Errorf("Failed to find orphan works by resourceBinding(%s/%s). Error: %v.", binding.GetNamespace(), binding.GetName(), err) - c.EventRecorder.Event(binding, corev1.EventTypeWarning, fmt.Sprintf("Failed %s", eventTypeFindOrphanWorks), err.Error()) + c.EventRecorder.Event(binding, corev1.EventTypeWarning, eventReasonCleanupWorkFailed, err.Error()) return controllerruntime.Result{Requeue: true}, err } @@ -115,7 +105,7 @@ func (c *ResourceBindingController) syncBinding(binding *workv1alpha2.ResourceBi if err != nil { klog.Errorf("Failed to remove orphan works by resourceBinding(%s/%s). Error: %v.", binding.GetNamespace(), binding.GetName(), err) - c.EventRecorder.Event(binding, corev1.EventTypeWarning, fmt.Sprintf("Failed %s", eventTypeFindOrphanWorks), err.Error()) + c.EventRecorder.Event(binding, corev1.EventTypeWarning, eventReasonCleanupWorkFailed, err.Error()) return controllerruntime.Result{Requeue: true}, err } @@ -123,7 +113,6 @@ func (c *ResourceBindingController) syncBinding(binding *workv1alpha2.ResourceBi if err != nil { klog.Errorf("Failed to fetch workload for resourceBinding(%s/%s). Error: %v.", binding.GetNamespace(), binding.GetName(), err) - c.EventRecorder.Event(binding, corev1.EventTypeWarning, fmt.Sprintf("Failed %s", eventTypeFetchWorkload), err.Error()) return controllerruntime.Result{Requeue: true}, err } @@ -131,19 +120,23 @@ func (c *ResourceBindingController) syncBinding(binding *workv1alpha2.ResourceBi if err != nil { klog.Errorf("Failed to transform resourceBinding(%s/%s) to works. Error: %v.", binding.GetNamespace(), binding.GetName(), err) - c.EventRecorder.Event(binding, corev1.EventTypeWarning, fmt.Sprintf("Failed %s", eventTypeTransformResourceBinding), err.Error()) + c.EventRecorder.Event(binding, corev1.EventTypeWarning, eventReasonSyncWorkFailed, err.Error()) return controllerruntime.Result{Requeue: true}, err } + msg := fmt.Sprintf("Sync work of resourceBinding(%s/%s) successful.", binding.Namespace, binding.Name) + klog.V(4).Infof(msg) + c.EventRecorder.Event(binding, corev1.EventTypeNormal, eventReasonSyncWorkSucceed, msg) 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.EventRecorder.Event(binding, corev1.EventTypeWarning, fmt.Sprintf("Failed %s", eventTypeAggregateWorkStatuses), err.Error()) + c.EventRecorder.Event(binding, corev1.EventTypeWarning, eventReasonAggregateStatusFailed, err.Error()) return controllerruntime.Result{Requeue: true}, err } - klog.V(4).Infof("Update resourceBinding(%s/%s) with AggregatedStatus successfully.", binding.Namespace, binding.Name) - c.EventRecorder.Event(binding, corev1.EventTypeNormal, "SyncResourceBinding", "ResourceBinding synced successfully") + msg = fmt.Sprintf("Update resourceBinding(%s/%s) with AggregatedStatus successfully.", binding.Namespace, binding.Name) + klog.V(4).Infof(msg) + c.EventRecorder.Event(binding, corev1.EventTypeNormal, eventReasonAggregateStatusSucceed, msg) 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 28997ec75..e7abc0ece 100644 --- a/pkg/controllers/binding/cluster_resource_binding_controller.go +++ b/pkg/controllers/binding/cluster_resource_binding_controller.go @@ -68,10 +68,7 @@ func (c *ClusterResourceBindingController) Reconcile(ctx context.Context, req co isReady := helper.IsBindingReady(clusterResourceBinding.Spec.Clusters) if !isReady { - msg := fmt.Sprintf("ClusterResourceBinding %s is not ready to sync.", clusterResourceBinding.GetName()) - klog.Infof(msg) - c.EventRecorder.Event(clusterResourceBinding, corev1.EventTypeWarning, "ResourceBindingNotReady", msg) - + klog.Infof("ClusterResourceBinding %s is not ready to sync", clusterResourceBinding.GetName()) return controllerruntime.Result{}, nil } @@ -98,37 +95,42 @@ func (c *ClusterResourceBindingController) syncBinding(binding *workv1alpha2.Clu 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.EventRecorder.Event(binding, corev1.EventTypeWarning, fmt.Sprintf("Failed %s", eventTypeFindOrphanWorks), err.Error()) + c.EventRecorder.Event(binding, corev1.EventTypeWarning, eventReasonCleanupWorkFailed, err.Error()) return controllerruntime.Result{Requeue: true}, err } 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.EventRecorder.Event(binding, corev1.EventTypeWarning, fmt.Sprintf("Failed %s", eventTypeFindOrphanWorks), err.Error()) + c.EventRecorder.Event(binding, corev1.EventTypeWarning, eventReasonCleanupWorkFailed, err.Error()) return controllerruntime.Result{Requeue: true}, err } 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.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) if err != nil { klog.Errorf("Failed to transform clusterResourceBinding(%s) to works. Error: %v.", binding.GetName(), err) + c.EventRecorder.Event(binding, corev1.EventTypeWarning, eventReasonSyncWorkFailed, err.Error()) return controllerruntime.Result{Requeue: true}, err } + msg := fmt.Sprintf("Sync work of clusterResourceBinding(%s) successful.", binding.GetName()) + klog.V(4).Infof(msg) + c.EventRecorder.Event(binding, corev1.EventTypeNormal, eventReasonSyncWorkSucceed, msg) 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.EventRecorder.Event(binding, corev1.EventTypeWarning, fmt.Sprintf("Failed %s", eventTypeTransformResourceBinding), err.Error()) + c.EventRecorder.Event(binding, corev1.EventTypeWarning, eventReasonAggregateStatusFailed, err.Error()) return controllerruntime.Result{Requeue: true}, err } - klog.V(4).Infof("Update clusterResourceBinding(%s) with AggregatedStatus successfully.", binding.Name) + msg = fmt.Sprintf("Update clusterResourceBinding(%s) with AggregatedStatus successfully.", binding.Name) + klog.V(4).Infof(msg) + c.EventRecorder.Event(binding, corev1.EventTypeNormal, eventReasonAggregateStatusSucceed, msg) return controllerruntime.Result{}, nil } diff --git a/pkg/controllers/binding/common.go b/pkg/controllers/binding/common.go index be8dabb4d..12b263e7b 100644 --- a/pkg/controllers/binding/common.go +++ b/pkg/controllers/binding/common.go @@ -24,6 +24,14 @@ import ( "github.com/karmada-io/karmada/pkg/util/overridemanager" ) +const ( + eventReasonCleanupWorkFailed = "CleanupWorkFailed" + eventReasonSyncWorkFailed = "SyncWorkFailed" + eventReasonSyncWorkSucceed = "SyncWorkSucceed" + eventReasonAggregateStatusFailed = "AggregateStatusFailed" + eventReasonAggregateStatusSucceed = "AggregateStatusSucceed" +) + var workPredicateFn = builder.WithPredicates(predicate.Funcs{ CreateFunc: func(e event.CreateEvent) bool { return false