diff --git a/controllers/common/common_status_update.go b/controllers/common/common_status_update.go index ac197688..928b4179 100644 --- a/controllers/common/common_status_update.go +++ b/controllers/common/common_status_update.go @@ -151,7 +151,7 @@ func GetPolicyPlacementDecisions(ctx context.Context, c client.Client, return decisions, placements, err } -type DecisionSet map[appsv1.PlacementDecision]bool +type DecisionSet map[string]bool // GetClusterDecisions identifies all managed clusters which should have a replicated policy using the root policy // This returns unique decisions and placements that are NOT under Restricted subset. @@ -166,7 +166,7 @@ func GetClusterDecisions( []*policiesv1.Placement, DecisionSet, error, ) { log := log.WithValues("policyName", rootPolicy.GetName(), "policyNamespace", rootPolicy.GetNamespace()) - decisions := make(map[appsv1.PlacementDecision]bool) + decisions := make(map[string]bool) pbList := &policiesv1.PlacementBindingList{} @@ -197,7 +197,7 @@ func GetClusterDecisions( // Decisions are all unique for _, plcDecision := range plcDecisions { - decisions[plcDecision] = true + decisions[plcDecision.ClusterName] = true } placements = append(placements, plcPlacements...) @@ -223,11 +223,11 @@ func GetClusterDecisions( // Decisions are all unique for _, plcDecision := range plcDecisions { - if _, ok := decisions[plcDecision]; ok { + if _, ok := decisions[plcDecision.ClusterName]; ok { foundInDecisions = true } - decisions[plcDecision] = true + decisions[plcDecision.ClusterName] = true } if foundInDecisions { @@ -268,15 +268,15 @@ func CalculatePerClusterStatus( for dec := range decisions { replicatedPolicy := &policiesv1.Policy{} key := types.NamespacedName{ - Namespace: dec.ClusterNamespace, Name: rootPolicy.Namespace + "." + rootPolicy.Name, + Namespace: dec, Name: rootPolicy.Namespace + "." + rootPolicy.Name, } err := c.Get(ctx, key, replicatedPolicy) if err != nil { if k8serrors.IsNotFound(err) { status = append(status, &policiesv1.CompliancePerClusterStatus{ - ClusterName: dec.ClusterName, - ClusterNamespace: dec.ClusterNamespace, + ClusterName: dec, + ClusterNamespace: dec, }) continue @@ -287,8 +287,8 @@ func CalculatePerClusterStatus( status = append(status, &policiesv1.CompliancePerClusterStatus{ ComplianceState: replicatedPolicy.Status.ComplianceState, - ClusterName: dec.ClusterName, - ClusterNamespace: dec.ClusterNamespace, + ClusterName: dec, + ClusterNamespace: dec, }) } diff --git a/controllers/propagator/propagation.go b/controllers/propagator/propagation.go index 8e42b185..e79bc142 100644 --- a/controllers/propagator/propagation.go +++ b/controllers/propagator/propagation.go @@ -62,11 +62,7 @@ func (r *RootPolicyReconciler) cleanUpOrphanedRplPolicies( log := log.WithValues("policyName", instance.GetName(), "policyNamespace", instance.GetNamespace()) for _, cluster := range originalCPCS { - key := appsv1.PlacementDecision{ - ClusterName: cluster.ClusterNamespace, - ClusterNamespace: cluster.ClusterNamespace, - } - if allDecisions[key] { + if allDecisions[cluster.ClusterName] { continue } @@ -78,7 +74,7 @@ func (r *RootPolicyReconciler) cleanUpOrphanedRplPolicies( }, ObjectMeta: metav1.ObjectMeta{ Name: common.FullNameForPolicy(instance), - Namespace: cluster.ClusterNamespace, + Namespace: cluster.ClusterName, }, } @@ -138,7 +134,7 @@ func (r *RootPolicyReconciler) handleRootPolicy(ctx context.Context, instance *p }, ObjectMeta: metav1.ObjectMeta{ Name: common.FullNameForPolicy(instance), - Namespace: decision.ClusterNamespace, + Namespace: decision, }, }