Skip to content
This repository was archived by the owner on Mar 16, 2024. It is now read-only.

Commit 43dbcbf

Browse files
authored
Merge pull request #2403 from tylerslaton/fix-2401
2 parents e533da1 + ac027ad commit 43dbcbf

File tree

1 file changed

+23
-18
lines changed
  • pkg/server/registry/apigroups/admin/computeclass

1 file changed

+23
-18
lines changed

pkg/server/registry/apigroups/admin/computeclass/validator.go

Lines changed: 23 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -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+
158163
func (s *ClusterValidator) ValidateUpdate(ctx context.Context, newObj, _ runtime.Object) field.ErrorList {
159164
return s.Validate(ctx, newObj)
160165
}

0 commit comments

Comments
 (0)