Merge pull request #1706 from likakuli/feature_fixemptyselectorerr

fix empty resource selectors which result to policy will not be consi…
This commit is contained in:
karmada-bot 2022-05-10 17:03:31 +08:00 committed by GitHub
commit 977725d479
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 31 additions and 1 deletions

View File

@ -167,7 +167,7 @@ func (o *overrideManagerImpl) applyNamespacedOverrides(rawObj *unstructured.Unst
func (o *overrideManagerImpl) getOverridersFromOverridePolicies(policies []GeneralOverridePolicy, resource *unstructured.Unstructured, cluster *clusterv1alpha1.Cluster) []policyOverriders {
resourceMatchingPolicies := make([]GeneralOverridePolicy, 0)
for _, policy := range policies {
if policy.GetOverrideSpec().ResourceSelectors == nil {
if len(policy.GetOverrideSpec().ResourceSelectors) == 0 {
resourceMatchingPolicies = append(resourceMatchingPolicies, policy)
continue
}

View File

@ -93,6 +93,23 @@ func TestGetMatchingOverridePolicies(t *testing.T) {
},
},
}
overridePolicy3 := &policyv1alpha1.OverridePolicy{
ObjectMeta: metav1.ObjectMeta{
Namespace: metav1.NamespaceDefault,
Name: "overridePolicy3",
},
Spec: policyv1alpha1.OverrideSpec{
ResourceSelectors: []policyv1alpha1.ResourceSelector{},
OverrideRules: []policyv1alpha1.RuleWithCluster{
{
TargetCluster: &policyv1alpha1.ClusterAffinity{
ClusterNames: []string{cluster1.Name, cluster2.Name},
},
Overriders: overriders3,
},
},
},
}
oldOverridePolicy := &policyv1alpha1.ClusterOverridePolicy{
ObjectMeta: metav1.ObjectMeta{
Namespace: metav1.NamespaceDefault,
@ -155,6 +172,19 @@ func TestGetMatchingOverridePolicies(t *testing.T) {
},
},
},
{
name: "OverrideRules test 3",
policies: []GeneralOverridePolicy{overridePolicy3},
resource: deploymentObj,
cluster: cluster2,
wantedOverriders: []policyOverriders{
{
name: overridePolicy3.Name,
namespace: overridePolicy3.Namespace,
overriders: overriders3,
},
},
},
{
name: "TargetCluster and Overriders test",
policies: []GeneralOverridePolicy{oldOverridePolicy},