From a53bebf2f33e9011bb82c5a1979d5c5645937757 Mon Sep 17 00:00:00 2001 From: Shriram Sharma Date: Fri, 24 Jun 2022 07:09:15 -0700 Subject: [PATCH 1/2] Fixes: #234 force GTPs to update only Signed-off-by: Shriram Sharma --- admiral/pkg/clusters/types.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/admiral/pkg/clusters/types.go b/admiral/pkg/clusters/types.go index 336a6061..a8c28d42 100644 --- a/admiral/pkg/clusters/types.go +++ b/admiral/pkg/clusters/types.go @@ -269,6 +269,11 @@ 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. + event = admiral.Update + // 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) return nil From f10e68c683d5527e4d3197b1d8776639da140047 Mon Sep 17 00:00:00 2001 From: Shriram Sharma Date: Fri, 24 Jun 2022 09:01:11 -0700 Subject: [PATCH 2/2] fixed linting errors Signed-off-by: Shriram Sharma --- admiral/pkg/clusters/types.go | 12 +++++------- admiral/pkg/clusters/types_test.go | 3 +-- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/admiral/pkg/clusters/types.go b/admiral/pkg/clusters/types.go index a8c28d42..108e4eff 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) @@ -272,9 +272,7 @@ func HandleEventForGlobalTrafficPolicy(event admiral.EventType, gtp *v1.GlobalTr // 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. - event = admiral.Update - // 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 eb2fced2..d010f76d 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) }) }