From 3cd7ac8c0789a5f808f0a387d27ff952918c2c79 Mon Sep 17 00:00:00 2001 From: Shriram Sharma Date: Fri, 24 Jun 2022 09:30:04 -0700 Subject: [PATCH] Force all GTP events to update only (#235) * Fixes: #234 force GTPs to update only Signed-off-by: Shriram Sharma * fixed linting errors Signed-off-by: Shriram Sharma --- admiral/pkg/clusters/types.go | 13 ++++++++----- admiral/pkg/clusters/types_test.go | 3 +-- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/admiral/pkg/clusters/types.go b/admiral/pkg/clusters/types.go index 336a60612..108e4eff5 100644 --- a/admiral/pkg/clusters/types.go +++ b/admiral/pkg/clusters/types.go @@ -182,7 +182,7 @@ func (dh *DependencyHandler) Deleted(obj *v1.Dependency) { func (gtp *GlobalTrafficHandler) Added(obj *v1.GlobalTrafficPolicy) { log.Infof(LogFormat, "Added", "globaltrafficpolicy", obj.Name, gtp.ClusterID, "received") - err := HandleEventForGlobalTrafficPolicy(admiral.Add, obj, gtp.RemoteRegistry, gtp.ClusterID) + err := HandleEventForGlobalTrafficPolicy(obj, gtp.RemoteRegistry, gtp.ClusterID) if err != nil { log.Infof(err.Error()) } @@ -190,7 +190,7 @@ func (gtp *GlobalTrafficHandler) Added(obj *v1.GlobalTrafficPolicy) { func (gtp *GlobalTrafficHandler) Updated(obj *v1.GlobalTrafficPolicy) { log.Infof(LogFormat, "Updated", "globaltrafficpolicy", obj.Name, gtp.ClusterID, "received") - err := HandleEventForGlobalTrafficPolicy(admiral.Update, obj, gtp.RemoteRegistry, gtp.ClusterID) + err := HandleEventForGlobalTrafficPolicy(obj, gtp.RemoteRegistry, gtp.ClusterID) if err != nil { log.Infof(err.Error()) } @@ -198,7 +198,7 @@ func (gtp *GlobalTrafficHandler) Updated(obj *v1.GlobalTrafficPolicy) { func (gtp *GlobalTrafficHandler) Deleted(obj *v1.GlobalTrafficPolicy) { log.Infof(LogFormat, "Deleted", "globaltrafficpolicy", obj.Name, gtp.ClusterID, "received") - err := HandleEventForGlobalTrafficPolicy(admiral.Delete, obj, gtp.RemoteRegistry, gtp.ClusterID) + err := HandleEventForGlobalTrafficPolicy(obj, gtp.RemoteRegistry, gtp.ClusterID) if err != nil { log.Infof(err.Error()) } @@ -259,7 +259,7 @@ func HandleEventForDeployment(event admiral.EventType, obj *k8sAppsV1.Deployment } // HandleEventForGlobalTrafficPolicy processes all the events related to GTPs -func HandleEventForGlobalTrafficPolicy(event admiral.EventType, gtp *v1.GlobalTrafficPolicy, remoteRegistry *RemoteRegistry, clusterName string) error { +func HandleEventForGlobalTrafficPolicy(gtp *v1.GlobalTrafficPolicy, remoteRegistry *RemoteRegistry, clusterName string) error { globalIdentifier := common.GetGtpIdentity(gtp) @@ -269,7 +269,10 @@ func HandleEventForGlobalTrafficPolicy(event admiral.EventType, gtp *v1.GlobalTr env := common.GetGtpEnv(gtp) + // For now we're going to force all the events to update only in order to prevent + // the endpoints from being deleted. + // TODO: Need to come up with a way to prevent deleting default endpoints so that this hack can be removed. // Use the same function as added deployment function to update and put new service entry in place to replace old one - modifyServiceEntryForNewServiceOrPod(event, env, globalIdentifier, remoteRegistry) + modifyServiceEntryForNewServiceOrPod(admiral.Update, env, globalIdentifier, remoteRegistry) return nil } diff --git a/admiral/pkg/clusters/types_test.go b/admiral/pkg/clusters/types_test.go index eb2fced2e..d010f76df 100644 --- a/admiral/pkg/clusters/types_test.go +++ b/admiral/pkg/clusters/types_test.go @@ -206,7 +206,6 @@ func TestRolloutHandler(t *testing.T) { } func TestHandleEventForGlobalTrafficPolicy(t *testing.T) { - event := admiral.EventType("Add") p := common.AdmiralParams{ KubeconfigPath: "testdata/fake.config", } @@ -253,7 +252,7 @@ func TestHandleEventForGlobalTrafficPolicy(t *testing.T) { for _, c := range testcases { t.Run(c.name, func(t *testing.T) { - err := HandleEventForGlobalTrafficPolicy(event, c.gtp, registry, "testcluster") + err := HandleEventForGlobalTrafficPolicy(c.gtp, registry, "testcluster") assert.Equal(t, err != nil, c.doesError) }) }