in controllers/policyendpoints_controller.go [646:675]
func (r *PolicyEndpointsReconciler) updatePodIdentifierToPEMap(ctx context.Context, podIdentifier string,
parentPEList []string) {
r.podIdentifierToPolicyEndpointMapMutex.Lock()
defer r.podIdentifierToPolicyEndpointMapMutex.Unlock()
var policyEndpoints []string
r.log.Info("Current PE Count for Parent NP:", "Count: ", len(parentPEList))
if currentPESet, ok := r.podIdentifierToPolicyEndpointMap.Load(podIdentifier); ok {
policyEndpoints = currentPESet.([]string)
for _, policyEndpointResourceName := range parentPEList {
r.log.Info("PE for parent NP", "name", policyEndpointResourceName)
addPEResource := true
for _, pe := range currentPESet.([]string) {
if pe == policyEndpointResourceName {
//Nothing to do if this PE is already tracked against this podIdentifier
addPEResource = false
break
}
}
if addPEResource {
r.log.Info("Adding PE", "name", policyEndpointResourceName, "for podIdentifier", podIdentifier)
policyEndpoints = append(policyEndpoints, policyEndpointResourceName)
}
}
} else {
policyEndpoints = append(policyEndpoints, parentPEList...)
}
r.podIdentifierToPolicyEndpointMap.Store(podIdentifier, policyEndpoints)
return
}