@@ -85,29 +85,35 @@ func (ais *AIStore) validateAutoScaling() (admission.Warnings, error) {
8585}
8686
8787func (ss * ServiceSpec ) validate (path * field.Path ) field.ErrorList {
88- allErrs := field.ErrorList {}
88+ svcMsgs := validation .IsValidPortNum (ss .ServicePort .IntValue ())
89+ pubMsgs := validation .IsValidPortNum (ss .PublicPort .IntValue ())
90+ ctrlMsgs := validation .IsValidPortNum (ss .IntraControlPort .IntValue ())
91+ dataMsgs := validation .IsValidPortNum (ss .IntraDataPort .IntValue ())
8992
90- for _ , msg := range validation .IsValidPortNum (ss .ServicePort .IntValue ()) {
93+ allErrs := make (field.ErrorList , 0 , len (svcMsgs )+ len (pubMsgs )+ len (ctrlMsgs )+ len (dataMsgs ))
94+ for _ , msg := range svcMsgs {
9195 allErrs = append (allErrs , field .Invalid (path .Child ("servicePort" ), ss .ServicePort .IntValue (), msg ))
9296 }
93- for _ , msg := range validation . IsValidPortNum ( ss . PublicPort . IntValue ()) {
97+ for _ , msg := range pubMsgs {
9498 allErrs = append (allErrs , field .Invalid (path .Child ("portPublic" ), ss .PublicPort .IntValue (), msg ))
9599 }
96- for _ , msg := range validation . IsValidPortNum ( ss . IntraControlPort . IntValue ()) {
100+ for _ , msg := range ctrlMsgs {
97101 allErrs = append (allErrs , field .Invalid (path .Child ("portIntraControl" ), ss .IntraControlPort .IntValue (), msg ))
98102 }
99- for _ , msg := range validation . IsValidPortNum ( ss . IntraDataPort . IntValue ()) {
103+ for _ , msg := range dataMsgs {
100104 allErrs = append (allErrs , field .Invalid (path .Child ("portIntraData" ), ss .IntraDataPort .IntValue (), msg ))
101105 }
102106
103107 return allErrs
104108}
105109
106110func (ais * AIStore ) validateServiceSpec () (admission.Warnings , error ) {
107- allErrs := field.ErrorList {}
111+ proxyErrs := ais .Spec .ProxySpec .validate (field .NewPath ("spec" , "proxySpec" ))
112+ targetErrs := ais .Spec .TargetSpec .validate (field .NewPath ("spec" , "targetSpec" ))
108113
109- allErrs = append (allErrs , ais .Spec .ProxySpec .validate (field .NewPath ("spec" , "proxySpec" ))... )
110- allErrs = append (allErrs , ais .Spec .TargetSpec .validate (field .NewPath ("spec" , "targetSpec" ))... )
114+ allErrs := make (field.ErrorList , 0 , len (proxyErrs )+ len (targetErrs ))
115+ allErrs = append (allErrs , proxyErrs ... )
116+ allErrs = append (allErrs , targetErrs ... )
111117
112118 return nil , allErrs .ToAggregate ()
113119}
0 commit comments