From ae12431b6c94ab9ea5d81b14aba24cc132467c26 Mon Sep 17 00:00:00 2001 From: Tom Pantelis Date: Tue, 25 Jul 2023 08:39:13 -0400 Subject: [PATCH] DEBUG E2E tests Signed-off-by: Tom Pantelis --- pkg/agent/controller/endpoint_slice.go | 13 ++++++++++++- pkg/agent/controller/service_import_aggregator.go | 7 +++++++ test/e2e/discovery/headless_services.go | 2 +- test/e2e/discovery/service_discovery.go | 2 +- test/e2e/discovery/statefulsets.go | 4 ++-- 5 files changed, 23 insertions(+), 5 deletions(-) diff --git a/pkg/agent/controller/endpoint_slice.go b/pkg/agent/controller/endpoint_slice.go index 6cbb84b5f..bc2e50192 100644 --- a/pkg/agent/controller/endpoint_slice.go +++ b/pkg/agent/controller/endpoint_slice.go @@ -26,6 +26,7 @@ import ( "github.com/pkg/errors" "github.com/submariner-io/admiral/pkg/log" + "github.com/submariner-io/admiral/pkg/resource" "github.com/submariner-io/admiral/pkg/slices" "github.com/submariner-io/admiral/pkg/syncer" "github.com/submariner-io/admiral/pkg/syncer/broker" @@ -100,6 +101,11 @@ func (c *EndpointSliceController) start(stopCh <-chan struct{}) error { func (c *EndpointSliceController) onLocalEndpointSlice(obj runtime.Object, _ int, op syncer.Operation) (runtime.Object, bool) { endpointSlice := obj.(*discovery.EndpointSlice) + logger.V(log.DEBUG).Infof("Local EndpointSlice %q for service \"%s/%s\" %sd locally", + endpointSlice.Name, endpointSlice.Labels[constants.LabelSourceNamespace], + endpointSlice.Labels[mcsv1a1.LabelServiceName], op) + logger.Infof("***hasNoRemainingEndpointSlices: %v", c.hasNoRemainingEndpointSlices(endpointSlice)) + if op != syncer.Delete && isLegacyEndpointSlice(endpointSlice) { logger.Infof("Found legacy EndpointSlice %s/%s - deleting it", endpointSlice.Namespace, endpointSlice.Name) @@ -144,7 +150,8 @@ func (c *EndpointSliceController) onLocalEndpointSliceSynced(obj runtime.Object, serviceName := endpointSlice.Labels[mcsv1a1.LabelServiceName] serviceNamespace := endpointSlice.Labels[constants.LabelSourceNamespace] - logger.V(log.DEBUG).Infof("Local EndpointSlice for service \"%s/%s\" %sd on broker", serviceNamespace, serviceName, op) + logger.V(log.DEBUG).Infof("Local EndpointSlice %q for service \"%s/%s\" %sd on broker", + endpointSlice.Name, serviceNamespace, serviceName, op) var err error @@ -180,9 +187,13 @@ func (c *EndpointSliceController) hasNoRemainingEndpointSlices(endpointSlice *di constants.MCSLabelSourceCluster: endpointSlice.Labels[constants.MCSLabelSourceCluster], })) + logger.Infof("***hasNoRemainingEndpointSlices - is headless: %s", resource.ToJSON(list)) + return len(list) == 0 } + logger.Info("***hasNoRemainingEndpointSlices - not headless") + return true } diff --git a/pkg/agent/controller/service_import_aggregator.go b/pkg/agent/controller/service_import_aggregator.go index ffba527ea..6f2f527dc 100644 --- a/pkg/agent/controller/service_import_aggregator.go +++ b/pkg/agent/controller/service_import_aggregator.go @@ -121,16 +121,23 @@ func (a *ServiceImportAggregator) update(name, namespace string, mutate func(*mc }, } + _, err := resource.ForDynamic(a.brokerServiceImportClient()).Get(context.TODO(), aggregate.GetName(), metav1.GetOptions{}) + logger.Infof("***In ServiceImportAggregator.update: %s/%s, get err: %v", namespace, name, err) + //nolint:wrapcheck // No need to wrap the return error. return util.Update(context.Background(), resource.ForDynamic(a.brokerServiceImportClient()), a.converter.toUnstructured(aggregate), func(obj runtime.Object) (runtime.Object, error) { existing := a.converter.toServiceImport(obj) + logger.Infof("***Found existing: %s", resource.ToJSON(existing)) + err := mutate(existing) if err != nil { return nil, err } + logger.Infof("***After mutate: %s", resource.ToJSON(existing)) + if len(existing.Status.Clusters) == 0 { logger.V(log.DEBUG).Infof("Deleting aggregated ServiceImport %q", existing.Name) diff --git a/test/e2e/discovery/headless_services.go b/test/e2e/discovery/headless_services.go index 989cd4d66..0ef71de14 100644 --- a/test/e2e/discovery/headless_services.go +++ b/test/e2e/discovery/headless_services.go @@ -35,7 +35,7 @@ const ( opAre = "are" ) -var _ = Describe("[discovery] Test Headless Service Discovery Across Clusters", func() { +var _ = PDescribe("[discovery] Test Headless Service Discovery Across Clusters", func() { f := lhframework.NewFramework("discovery") When("a pod tries to resolve a headless service in a remote cluster", func() { diff --git a/test/e2e/discovery/service_discovery.go b/test/e2e/discovery/service_discovery.go index 0fbfb9933..dee02179c 100644 --- a/test/e2e/discovery/service_discovery.go +++ b/test/e2e/discovery/service_discovery.go @@ -38,7 +38,7 @@ const ( var checkedDomains = lhframework.CheckedDomains -var _ = Describe("[discovery] Test Service Discovery Across Clusters", func() { +var _ = PDescribe("[discovery] Test Service Discovery Across Clusters", func() { f := lhframework.NewFramework("discovery") When("a pod tries to resolve a service in a remote cluster", func() { diff --git a/test/e2e/discovery/statefulsets.go b/test/e2e/discovery/statefulsets.go index bb18493e2..a29e87384 100644 --- a/test/e2e/discovery/statefulsets.go +++ b/test/e2e/discovery/statefulsets.go @@ -33,7 +33,7 @@ import ( var _ = Describe("[discovery] Test Stateful Sets Discovery Across Clusters", func() { f := lhframework.NewFramework("discovery") - When("a pod tries to resolve a podname from stateful set in a remote cluster", func() { + PWhen("a pod tries to resolve a podname from stateful set in a remote cluster", func() { It("should resolve the pod IP from the remote cluster", func() { RunSSDiscoveryTest(f) }) @@ -45,7 +45,7 @@ var _ = Describe("[discovery] Test Stateful Sets Discovery Across Clusters", fun }) }) - When("the number of active pods backing a stateful set changes", func() { + PWhen("the number of active pods backing a stateful set changes", func() { It("should only resolve the IPs from the active pods", func() { RunSSPodsAvailabilityTest(f) })