diff --git a/pkg/util/validation/validation.go b/pkg/util/validation/validation.go index b6ee5a72a134..58ad48d91115 100644 --- a/pkg/util/validation/validation.go +++ b/pkg/util/validation/validation.go @@ -333,7 +333,7 @@ func ValidateApplicationFailover(applicationFailoverBehavior *policyv1alpha1.App return nil } - if *applicationFailoverBehavior.DecisionConditions.TolerationSeconds < 0 { + if applicationFailoverBehavior.DecisionConditions.TolerationSeconds != nil && *applicationFailoverBehavior.DecisionConditions.TolerationSeconds < 0 { allErrs = append(allErrs, field.Invalid(fldPath.Child("decisionConditions").Child("tolerationSeconds"), *applicationFailoverBehavior.DecisionConditions.TolerationSeconds, "must be greater than or equal to 0")) } diff --git a/pkg/util/validation/validation_test.go b/pkg/util/validation/validation_test.go index 2273719ed384..c61af6eeee81 100644 --- a/pkg/util/validation/validation_test.go +++ b/pkg/util/validation/validation_test.go @@ -922,6 +922,15 @@ func TestValidateApplicationFailover(t *testing.T) { applicationFailoverBehavior: nil, expectedErr: "", }, + { + name: "tolerationSeconds is nil", + applicationFailoverBehavior: &policyv1alpha1.ApplicationFailoverBehavior{ + DecisionConditions: policyv1alpha1.DecisionConditions{ + TolerationSeconds: nil, + }, + }, + expectedErr: "", + }, { name: "the tolerationSeconds is less than zero", applicationFailoverBehavior: &policyv1alpha1.ApplicationFailoverBehavior{