@@ -42,15 +42,8 @@ func (s *ProjectValidator) Validate(ctx context.Context, obj runtime.Object) (re
4242 }
4343
4444 invalidResources := []corev1.ResourceName {corev1 .ResourceCPU , corev1 .ResourceMemory }
45-
46- for _ , resource := range invalidResources {
47- if _ , specified := cc .Resources .Requests [resource ]; specified {
48- return append (result , field .Invalid (field .NewPath (fmt .Sprintf ("spec.resources.requests%s" , string (resource ))), cc .Default , fmt .Sprintf ("Cannot specifiy spec.resources.requests.%s. Use explicit spec.cpuScaler and spec.memory instead" , string (resource ))))
49- }
50-
51- if _ , specified := cc .Resources .Limits [resource ]; specified {
52- return append (result , field .Invalid (field .NewPath (fmt .Sprintf ("spec.resources.limits%s" , string (resource ))), cc .Default , fmt .Sprintf ("Cannot specifiy spec.resources.limits.%s. Use explicit spec.cpuScaler and spec.memory instead" , string (resource ))))
53- }
45+ if err := checkForInvalidResources (cc .Resources , invalidResources ); err != nil {
46+ return append (result , err )
5447 }
5548
5649 if _ , err := computeclasses .ParseComputeClassMemory (cc .Memory ); err != nil {
@@ -91,15 +84,8 @@ func (s *ClusterValidator) Validate(ctx context.Context, obj runtime.Object) (re
9184 }
9285
9386 invalidResources := []corev1.ResourceName {corev1 .ResourceCPU , corev1 .ResourceMemory }
94-
95- for _ , resource := range invalidResources {
96- if _ , specified := cc .Resources .Requests [resource ]; specified {
97- return append (result , field .Invalid (field .NewPath (fmt .Sprintf ("spec.resources.requests%s" , string (resource ))), cc .Default , fmt .Sprintf ("Cannot specifiy spec.resources.requests.%s. Use explicit spec.cpuScaler and spec.memory instead" , string (resource ))))
98- }
99-
100- if _ , specified := cc .Resources .Limits [resource ]; specified {
101- return append (result , field .Invalid (field .NewPath (fmt .Sprintf ("spec.resources.limits%s" , string (resource ))), cc .Default , fmt .Sprintf ("Cannot specifiy spec.resources.limits.%s. Use explicit spec.cpuScaler and spec.memory instead" , string (resource ))))
102- }
87+ if err := checkForInvalidResources (cc .Resources , invalidResources ); err != nil {
88+ return append (result , err )
10389 }
10490
10591 if _ , err := computeclasses .ParseComputeClassMemory (cc .Memory ); err != nil {
@@ -155,6 +141,25 @@ func validateMemorySpec(memory admininternalv1.ComputeClassMemory) field.ErrorLi
155141 return errors
156142}
157143
144+ // checkForInvalidResources checks if the given resources contains any of the invalid resources.
145+ func checkForInvalidResources (resources * corev1.ResourceRequirements , invalidResources []corev1.ResourceName ) * field.Error {
146+ if resources == nil {
147+ return nil
148+ }
149+
150+ for _ , resource := range invalidResources {
151+ if val , specified := resources .Requests [resource ]; specified {
152+ return field .Invalid (field .NewPath (fmt .Sprintf ("spec.resources.requests.%s" , string (resource ))), val , fmt .Sprintf ("Cannot specifiy spec.resources.requests.%s. Use explicit spec.cpuScaler and spec.memory instead" , string (resource )))
153+ }
154+
155+ if val , specified := resources .Limits [resource ]; specified {
156+ return field .Invalid (field .NewPath (fmt .Sprintf ("spec.resources.limits.%s" , string (resource ))), val , fmt .Sprintf ("Cannot specifiy spec.resources.limits.%s. Use explicit spec.cpuScaler and spec.memory instead" , string (resource )))
157+ }
158+ }
159+
160+ return nil
161+ }
162+
158163func (s * ClusterValidator ) ValidateUpdate (ctx context.Context , newObj , _ runtime.Object ) field.ErrorList {
159164 return s .Validate (ctx , newObj )
160165}
0 commit comments