From 7c269e1304a0105a346719c608a7ce1c5574c99e Mon Sep 17 00:00:00 2001 From: Harrison Affel Date: Wed, 5 Mar 2025 11:45:36 -0500 Subject: [PATCH] Do not validate PC and PDB settings if they have not been customized --- .../management.cattle.io/v3/setting/validator.go | 8 ++++++++ .../management.cattle.io/v3/setting/validator_test.go | 11 +++++++++++ 2 files changed, 19 insertions(+) diff --git a/pkg/resources/management.cattle.io/v3/setting/validator.go b/pkg/resources/management.cattle.io/v3/setting/validator.go index 832757085..fa5a1039f 100644 --- a/pkg/resources/management.cattle.io/v3/setting/validator.go +++ b/pkg/resources/management.cattle.io/v3/setting/validator.go @@ -400,6 +400,10 @@ func (a *admitter) validateAgentTLSMode(oldSetting, newSetting *v3.Setting) erro } func (a *admitter) validateClusterAgentPriorityClass(newSetting *v3.Setting) error { + if newSetting.Value == "" { + return nil + } + pc := provv1.PriorityClassSpec{} err := json.Unmarshal([]byte(newSetting.Value), &pc) @@ -423,6 +427,10 @@ func (a *admitter) validateClusterAgentPriorityClass(newSetting *v3.Setting) err } func (a *admitter) validateClusterAgentPodDisruptionBudget(newSetting *v3.Setting) error { + if newSetting.Value == "" { + return nil + } + pdb := provv1.PodDisruptionBudgetSpec{} err := json.Unmarshal([]byte(newSetting.Value), &pdb) diff --git a/pkg/resources/management.cattle.io/v3/setting/validator_test.go b/pkg/resources/management.cattle.io/v3/setting/validator_test.go index 397448c6b..6dc0af36a 100644 --- a/pkg/resources/management.cattle.io/v3/setting/validator_test.go +++ b/pkg/resources/management.cattle.io/v3/setting/validator_test.go @@ -424,6 +424,11 @@ func (s *SettingSuite) TestValidateClusterAgentSchedulingPriorityClass() { } `, }, + { + name: "base case - no customization", + allowed: true, + newValue: "", + }, } for _, test := range tests { @@ -537,7 +542,13 @@ func (s *SettingSuite) TestValidateClusterAgentSchedulingPodDisruptionBudget() { "fake": "0", }`, }, + { + name: "base case - no customization", + allowed: true, + newValue: "", + }, } + for _, test := range tests { test := test s.T().Run(test.name, func(t *testing.T) {