@@ -38,6 +38,7 @@ import (
3838
3939 networkingv1alpha1 "github.com/karmada-io/karmada/pkg/apis/networking/v1alpha1"
4040 policyv1alpha1 "github.com/karmada-io/karmada/pkg/apis/policy/v1alpha1"
41+ "github.com/karmada-io/karmada/pkg/events"
4142 "github.com/karmada-io/karmada/pkg/util"
4243 "github.com/karmada-io/karmada/pkg/util/names"
4344 "github.com/karmada-io/karmada/test/e2e/framework"
@@ -343,6 +344,12 @@ var _ = ginkgo.Describe("Multi-Cluster Service testing", func() {
343344 gomega .Expect (err ).ShouldNot (gomega .HaveOccurred ())
344345 })
345346
347+ ginkgo .By (fmt .Sprintf ("Check ServiceImport(%s/%s) SyncDerivedServiceSucceed event" , serviceImport .Namespace , serviceImport .Name ), func () {
348+ framework .WaitEventFitWith (kubeClient , serviceImport .Namespace , serviceImport .Name , func (event corev1.Event ) bool {
349+ return event .Reason == events .EventReasonSyncDerivedServiceSucceed && event .Type == corev1 .EventTypeNormal
350+ })
351+ })
352+
346353 ginkgo .By (fmt .Sprintf ("Wait EndpointSlices have been imported to %s cluster" , serviceImportClusterName ), func () {
347354 gomega .Eventually (func (g gomega.Gomega ) (int , error ) {
348355 endpointSlices , err := importClusterClient .DiscoveryV1 ().EndpointSlices (demoService .Namespace ).List (context .TODO (), metav1.ListOptions {
@@ -439,6 +446,12 @@ var _ = ginkgo.Describe("Multi-Cluster Service testing", func() {
439446 }, pollTimeout , pollInterval ).Should (gomega .Equal (1 ))
440447 })
441448
449+ ginkgo .By (fmt .Sprintf ("Check ServiceImport(%s/%s) SyncDerivedServiceSucceed event" , serviceImport .Namespace , serviceImport .Name ), func () {
450+ framework .WaitEventFitWith (kubeClient , serviceImport .Namespace , serviceImport .Name , func (event corev1.Event ) bool {
451+ return event .Reason == events .EventReasonSyncDerivedServiceSucceed && event .Type == corev1 .EventTypeNormal
452+ })
453+ })
454+
442455 klog .Infof ("Update Deployment's replicas in %s cluster" , serviceExportClusterName )
443456 framework .UpdateDeploymentReplicas (exportClusterClient , & demoDeployment , 2 )
444457
@@ -555,6 +568,18 @@ var _ = ginkgo.Describe("CrossCluster MultiClusterService testing", func() {
555568 return meta .IsStatusConditionTrue (mcs .Status .Conditions , networkingv1alpha1 .EndpointSliceDispatched )
556569 })
557570
571+ ginkgo .By (fmt .Sprintf ("Check MultiClusterService(%s/%s) SyncServiceSucceed event" , testNamespace , mcsName ), func () {
572+ framework .WaitEventFitWith (kubeClient , testNamespace , mcsName , func (event corev1.Event ) bool {
573+ return event .Reason == events .EventReasonSyncServiceSucceed && event .Type == corev1 .EventTypeNormal
574+ })
575+ })
576+
577+ ginkgo .By (fmt .Sprintf ("Check MultiClusterService(%s/%s) DispatchEndpointSliceSucceed event" , testNamespace , mcsName ), func () {
578+ framework .WaitEventFitWith (kubeClient , testNamespace , mcsName , func (event corev1.Event ) bool {
579+ return event .Reason == events .EventReasonDispatchEndpointSliceSucceed && event .Type == corev1 .EventTypeNormal
580+ })
581+ })
582+
558583 gomega .Eventually (func () bool {
559584 return checkEndpointSliceWithMultiClusterService (testNamespace , mcsName , mcs .Spec .ProviderClusters , mcs .Spec .ConsumerClusters )
560585 }, pollTimeout , pollInterval ).Should (gomega .BeTrue ())
@@ -638,6 +663,18 @@ var _ = ginkgo.Describe("CrossCluster MultiClusterService testing", func() {
638663 framework .WaitMultiClusterServicePresentOnClustersFitWith (karmadaClient , testNamespace , mcsName , func (mcs * networkingv1alpha1.MultiClusterService ) bool {
639664 return meta .IsStatusConditionTrue (mcs .Status .Conditions , networkingv1alpha1 .EndpointSliceDispatched )
640665 })
666+
667+ mcs .Spec .ProviderClusters = []networkingv1alpha1.ClusterSelector {
668+ {Name : member2Name },
669+ {Name : "member-not-found" },
670+ }
671+ framework .UpdateMultiClusterService (karmadaClient , mcs )
672+
673+ ginkgo .By (fmt .Sprintf ("Check MultiClusterService(%s/%s) ClusterNotFound event" , testNamespace , mcsName ), func () {
674+ framework .WaitEventFitWith (kubeClient , testNamespace , mcsName , func (event corev1.Event ) bool {
675+ return event .Reason == events .EventReasonClusterNotFound && event .Type == corev1 .EventTypeWarning
676+ })
677+ })
641678 })
642679 })
643680
@@ -739,6 +776,7 @@ var _ = ginkgo.Describe("CrossCluster MultiClusterService testing", func() {
739776 }, pollTimeout , pollInterval ).Should (gomega .BeTrue ())
740777 })
741778 })
779+
742780})
743781
744782func checkEndpointSliceWithMultiClusterService (mcsNamespace , mcsName string , providerClusters , consumerClusters []networkingv1alpha1.ClusterSelector ) bool {
0 commit comments