Add execution event
Signed-off-by: wawa0210 <xiaozhang0210@hotmail.com>
This commit is contained in:
parent
c018f79695
commit
b247085261
|
@ -0,0 +1,10 @@
|
|||
package v1alpha1
|
||||
|
||||
// Define events for work objects.
|
||||
const (
|
||||
// EventReasonSyncWorkFailed indicates that Sync work failed.
|
||||
EventReasonSyncWorkFailed = "SyncFailed"
|
||||
|
||||
// EventReasonSyncWorkSucceed indicates that Sync work succeed.
|
||||
EventReasonSyncWorkSucceed = "SyncSucceed"
|
||||
)
|
|
@ -0,0 +1,15 @@
|
|||
package v1alpha2
|
||||
|
||||
// Define events for ResourceBinding and ClusterResourceBinding objects.
|
||||
const (
|
||||
// EventReasonCleanupWorkFailed indicates that Cleanup work failed.
|
||||
EventReasonCleanupWorkFailed = "CleanupWorkFailed"
|
||||
// EventReasonSyncWorkFailed indicates that Sync work failed.
|
||||
EventReasonSyncWorkFailed = "SyncWorkFailed"
|
||||
// EventReasonSyncWorkSucceed indicates that Sync work succeed.
|
||||
EventReasonSyncWorkSucceed = "SyncWorkSucceed"
|
||||
// EventReasonAggregateStatusFailed indicates that aggregate status failed.
|
||||
EventReasonAggregateStatusFailed = "AggregateStatusFailed"
|
||||
// EventReasonAggregateStatusSucceed indicates that aggregate status succeed.
|
||||
EventReasonAggregateStatusSucceed = "AggregateStatusSucceed"
|
||||
)
|
|
@ -97,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, eventReasonCleanupWorkFailed, err.Error())
|
||||
c.EventRecorder.Event(binding, corev1.EventTypeWarning, workv1alpha2.EventReasonCleanupWorkFailed, err.Error())
|
||||
return controllerruntime.Result{Requeue: true}, err
|
||||
}
|
||||
|
||||
|
@ -105,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, eventReasonCleanupWorkFailed, err.Error())
|
||||
c.EventRecorder.Event(binding, corev1.EventTypeWarning, workv1alpha2.EventReasonCleanupWorkFailed, err.Error())
|
||||
return controllerruntime.Result{Requeue: true}, err
|
||||
}
|
||||
|
||||
|
@ -120,24 +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, eventReasonSyncWorkFailed, err.Error())
|
||||
c.EventRecorder.Event(binding, corev1.EventTypeWarning, workv1alpha2.EventReasonSyncWorkFailed, err.Error())
|
||||
errs = append(errs, err)
|
||||
} else {
|
||||
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)
|
||||
c.EventRecorder.Event(binding, corev1.EventTypeNormal, workv1alpha2.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, eventReasonAggregateStatusFailed, err.Error())
|
||||
c.EventRecorder.Event(binding, corev1.EventTypeWarning, workv1alpha2.EventReasonAggregateStatusFailed, err.Error())
|
||||
errs = append(errs, err)
|
||||
} else {
|
||||
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)
|
||||
c.EventRecorder.Event(binding, corev1.EventTypeNormal, workv1alpha2.EventReasonAggregateStatusSucceed, msg)
|
||||
}
|
||||
if len(errs) > 0 {
|
||||
return controllerruntime.Result{Requeue: true}, errors.NewAggregate(errs)
|
||||
|
|
|
@ -96,14 +96,14 @@ 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, eventReasonCleanupWorkFailed, err.Error())
|
||||
c.EventRecorder.Event(binding, corev1.EventTypeWarning, workv1alpha2.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, eventReasonCleanupWorkFailed, err.Error())
|
||||
c.EventRecorder.Event(binding, corev1.EventTypeWarning, workv1alpha2.EventReasonCleanupWorkFailed, err.Error())
|
||||
return controllerruntime.Result{Requeue: true}, err
|
||||
}
|
||||
|
||||
|
@ -116,23 +116,22 @@ func (c *ClusterResourceBindingController) syncBinding(binding *workv1alpha2.Clu
|
|||
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())
|
||||
c.EventRecorder.Event(binding, corev1.EventTypeWarning, workv1alpha2.EventReasonSyncWorkFailed, err.Error())
|
||||
errs = append(errs, err)
|
||||
} else {
|
||||
msg := fmt.Sprintf("Sync work of clusterResourceBinding(%s) successful.", binding.GetName())
|
||||
klog.V(4).Infof(msg)
|
||||
c.EventRecorder.Event(binding, corev1.EventTypeNormal, eventReasonSyncWorkSucceed, msg)
|
||||
c.EventRecorder.Event(binding, corev1.EventTypeNormal, workv1alpha2.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, eventReasonAggregateStatusFailed, err.Error())
|
||||
c.EventRecorder.Event(binding, corev1.EventTypeWarning, workv1alpha2.EventReasonAggregateStatusFailed, err.Error())
|
||||
errs = append(errs, err)
|
||||
} else {
|
||||
msg := fmt.Sprintf("Update clusterResourceBinding(%s) with AggregatedStatus successfully.", binding.Name)
|
||||
klog.V(4).Infof(msg)
|
||||
c.EventRecorder.Event(binding, corev1.EventTypeNormal, eventReasonAggregateStatusSucceed, msg)
|
||||
c.EventRecorder.Event(binding, corev1.EventTypeNormal, workv1alpha2.EventReasonAggregateStatusSucceed, msg)
|
||||
}
|
||||
if len(errs) > 0 {
|
||||
return controllerruntime.Result{Requeue: true}, errors.NewAggregate(errs)
|
||||
|
|
|
@ -24,14 +24,6 @@ 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
|
||||
|
|
|
@ -4,6 +4,7 @@ import (
|
|||
"context"
|
||||
"fmt"
|
||||
|
||||
corev1 "k8s.io/api/core/v1"
|
||||
apierrors "k8s.io/apimachinery/pkg/api/errors"
|
||||
"k8s.io/apimachinery/pkg/api/meta"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
|
@ -101,10 +102,14 @@ func (c *Controller) syncWork(cluster *clusterv1alpha1.Cluster, work *workv1alph
|
|||
|
||||
err := c.syncToClusters(cluster, work)
|
||||
if err != nil {
|
||||
klog.Errorf("Failed to sync work(%s) to cluster(%s): %v", work.Name, cluster.Name, err)
|
||||
msg := fmt.Sprintf("Failed to sync work(%s) to cluster(%s): %v", work.Name, cluster.Name, err)
|
||||
klog.Errorf(msg)
|
||||
c.EventRecorder.Event(work, corev1.EventTypeWarning, workv1alpha1.EventReasonSyncWorkFailed, msg)
|
||||
return controllerruntime.Result{Requeue: true}, err
|
||||
}
|
||||
|
||||
msg := fmt.Sprintf("Sync work (%s) to cluster(%s) successful.", work.Name, cluster.Name)
|
||||
klog.V(4).Infof(msg)
|
||||
c.EventRecorder.Event(work, corev1.EventTypeNormal, workv1alpha1.EventReasonSyncWorkSucceed, msg)
|
||||
return controllerruntime.Result{}, nil
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue