Skip to content

Commit

Permalink
MESH-1413 Use deployment/rollout template spec for GTP matching (isti…
Browse files Browse the repository at this point in the history
  • Loading branch information
aattuluri authored and GitHub Enterprise committed Nov 2, 2021
1 parent 22bbec9 commit 479a267
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 19 deletions.
3 changes: 2 additions & 1 deletion admiral/pkg/clusters/serviceentry.go
Original file line number Diff line number Diff line change
Expand Up @@ -377,11 +377,12 @@ func createSeAndDrSetFromGtp(env, region string, se *networking.ServiceEntry, gl
if globalTrafficPolicy != nil {
gtp := globalTrafficPolicy.Spec
for _, gtpTrafficPolicy := range gtp.Policy {
log.Infof("Processing dnsPrefix=%s on gtp=%s from namespace=%s ", gtpTrafficPolicy.DnsPrefix, globalTrafficPolicy.Name, globalTrafficPolicy.Namespace)
var modifiedSe = se
var host = se.Hosts[0]
var drName, seName = defaultDrName, defaultSeName
if gtpTrafficPolicy.Dns != "" {
log.Warnf("Using the deprecated field `dns` in gtp: %v in namespace: %v", globalTrafficPolicy.Name, globalTrafficPolicy.Namespace)
log.Warnf("Using the deprecated field `dns` in gtp=%v in namespace=%v", globalTrafficPolicy.Name, globalTrafficPolicy.Namespace)
}
if gtpTrafficPolicy.DnsPrefix != env && gtpTrafficPolicy.DnsPrefix != common.Default &&
gtpTrafficPolicy.Dns != host {
Expand Down
20 changes: 10 additions & 10 deletions admiral/pkg/clusters/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -125,19 +125,19 @@ func (g *globalTrafficCache) Put(gtp *v1.GlobalTrafficPolicy, deployment *k8sApp
defer g.mutex.Unlock()
g.mutex.Lock()
var gtpEnv = common.GetGtpEnv(gtp)
if deployment != nil && deployment.Labels != nil {
if deployment != nil {
log.Infof("Adding Deployment with name %v and gtp with name %v to GTP cache. LabelMatch=%v env=%v", deployment.Name, gtp.Name, gtp.Labels[common.GetGlobalTrafficDeploymentLabel()], gtpEnv)
//we have a valid deployment
env := common.GetEnv(deployment)
identity := deployment.Labels[common.GetWorkloadIdentifier()]
identity := common.GetValueForKeyFromDeployment(common.GetWorkloadIdentifier(), deployment)
key := getCacheKey(env, identity)
g.identityCache[key] = gtp
} else if g.dependencyCache[gtp.Name] != nil {
log.Infof("Adding gtp with name %v to GTP cache. LabelMatch=%v env=%v", gtp.Name, gtp.Labels[common.GetGlobalTrafficDeploymentLabel()], gtpEnv)
//The old GTP matched a deployment, the new one doesn't. So we need to clear that cache.
oldDeployment := g.dependencyCache[gtp.Name]
env := common.GetEnv(oldDeployment)
identity := oldDeployment.Labels[common.GetWorkloadIdentifier()]
identity := common.GetValueForKeyFromDeployment(common.GetWorkloadIdentifier(), oldDeployment)
key := getCacheKey(env, identity)
delete(g.identityCache, key)
}
Expand All @@ -155,19 +155,19 @@ func (g *globalTrafficCache) PutRollout(gtp *v1.GlobalTrafficPolicy, rollout *ar
defer g.mutex.Unlock()
g.mutex.Lock()
var gtpEnv = common.GetGtpEnv(gtp)
if rollout != nil && rollout.Labels != nil {
if rollout != nil {
log.Infof("Adding Rollout with name %v and gtp with name %v to GTP cache. LabelMatch=%v env=%v", rollout.Name, gtp.Name, gtp.Labels[common.GetGlobalTrafficDeploymentLabel()], gtpEnv)
//we have a valid rollout
env := common.GetEnvForRollout(rollout)
identity := rollout.Labels[common.GetWorkloadIdentifier()]
identity := common.GetValueForKeyFromRollout(common.GetWorkloadIdentifier(), rollout)
key := getCacheKey(env, identity)
g.identityCache[key] = gtp
} else if g.dependencyRolloutCache[gtp.Name] != nil {
log.Infof("Adding gtp with name %v to GTP cache. LabelMatch=%v env=%v", gtp.Name, gtp.Labels[common.GetGlobalTrafficDeploymentLabel()], gtpEnv)
//The old GTP matched a rollout, the new one doesn't. So we need to clear that cache.
oldRollout := g.dependencyRolloutCache[gtp.Name]
env := common.GetEnvForRollout(oldRollout)
identity := oldRollout.Labels[common.GetWorkloadIdentifier()]
identity := common.GetValueForKeyFromRollout(common.GetWorkloadIdentifier(), oldRollout)
key := getCacheKey(env, identity)
delete(g.identityCache, key)
}
Expand All @@ -188,21 +188,21 @@ func (g *globalTrafficCache) Delete(gtp *v1.GlobalTrafficPolicy) {

deployment := g.dependencyCache[gtp.Name]

if deployment != nil && deployment.Labels != nil {
if deployment != nil {

//we have a valid deployment
env := common.GetEnv(deployment)
identity := deployment.Labels[common.GetWorkloadIdentifier()]
identity := common.GetValueForKeyFromDeployment(common.GetWorkloadIdentifier(), deployment)
key := getCacheKey(env, identity)
delete(g.identityCache, key)
}
rollout := g.dependencyRolloutCache[gtp.Name]

if rollout != nil && rollout.Labels != nil {
if rollout != nil {

//we have a valid rollout
env := common.GetEnvForRollout(rollout)
identity := rollout.Labels[common.GetWorkloadIdentifier()]
identity := common.GetValueForKeyFromRollout(common.GetWorkloadIdentifier(), rollout)
key := getCacheKey(env, identity)
delete(g.identityCache, key)
}
Expand Down
8 changes: 0 additions & 8 deletions admiral/pkg/clusters/types_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,6 @@ func TestGlobalTrafficHandler(t *testing.T) {
},
},
}
deployment.Labels = map[string]string{"identity": "app1"}

deployment2 := v12.Deployment{}
deployment2.Namespace = "namespace"
Expand All @@ -78,7 +77,6 @@ func TestGlobalTrafficHandler(t *testing.T) {
},
},
}
deployment2.Labels = map[string]string{"identity": "app1"}

deployment3 := v12.Deployment{}
deployment3.Namespace = "namespace"
Expand All @@ -91,7 +89,6 @@ func TestGlobalTrafficHandler(t *testing.T) {
},
},
}
deployment3.Labels = map[string]string{"identity": "app1"}

deployment4 := v12.Deployment{}
deployment4.Namespace = "namespace"
Expand All @@ -104,7 +101,6 @@ func TestGlobalTrafficHandler(t *testing.T) {
},
},
}
deployment4.Labels = map[string]string{"identity": "app1"}

_, err := fakeClient.AppsV1().Deployments("namespace").Create(&deployment)
_, err = fakeClient.AppsV1().Deployments("namespace").Create(&deployment2)
Expand Down Expand Up @@ -234,7 +230,6 @@ func TestGlobalTrafficHandler_Updated(t *testing.T) {
},
},
}
deployment.Labels = map[string]string{"identity": "app1"}

deployment2 := v12.Deployment{}
deployment2.Namespace = "namespace"
Expand All @@ -246,7 +241,6 @@ func TestGlobalTrafficHandler_Updated(t *testing.T) {
},
},
}
deployment2.Labels = map[string]string{"identity": "app1"}

deployment3 := v12.Deployment{}
deployment3.Namespace = "namespace"
Expand All @@ -259,7 +253,6 @@ func TestGlobalTrafficHandler_Updated(t *testing.T) {
},
},
}
deployment3.Labels = map[string]string{"identity": "app1"}

deployment4 := v12.Deployment{}
deployment4.Namespace = "namespace"
Expand All @@ -272,7 +265,6 @@ func TestGlobalTrafficHandler_Updated(t *testing.T) {
},
},
}
deployment4.Labels = map[string]string{"identity": "app1"}

_, err := fakeClient.AppsV1().Deployments("namespace").Create(&deployment)
_, err = fakeClient.AppsV1().Deployments("namespace").Create(&deployment2)
Expand Down

0 comments on commit 479a267

Please sign in to comment.