Skip to content

Commit 2d04a2c

Browse files
committed
Added basic validation for OKD featureset
1 parent 7b25b18 commit 2d04a2c

File tree

3 files changed

+19
-4
lines changed

3 files changed

+19
-4
lines changed

openshift-hack/images/hyperkube/Dockerfile.rhel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ RUN make WHAT='cmd/kube-apiserver cmd/kube-controller-manager cmd/kube-scheduler
88
/tmp/build && \
99
gzip /tmp/build/k8s-tests-ext
1010

11-
FROM registry.ci.openshift.org/ocp/4.20:base-rhel9
11+
FROM registry.ci.openshift.org/origin/scos-4.20:base-stream9
1212
RUN yum install -y --setopt=tsflags=nodocs --setopt=skip_missing_names_on_install=False iproute && yum clean all
1313
COPY --from=builder /tmp/build/* /usr/bin/
1414
LABEL io.k8s.display-name="OpenShift Kubernetes Server Commands" \

openshift-kube-apiserver/admission/customresourcevalidation/features/validate_features.go

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,14 +50,23 @@ func toFeatureGateV1(uncastObj runtime.Object) (*configv1.FeatureGate, field.Err
5050
type featureGateV1 struct {
5151
}
5252

53+
func validateOKDFeatureSet(spec configv1.FeatureGateSpec) field.ErrorList {
54+
allErrs := field.ErrorList{}
55+
if spec.FeatureSet == configv1.OKD {
56+
allErrs = append(allErrs, field.NotSupported(field.NewPath("spec.featureSet"), spec.FeatureSet, []string{"OKD"}))
57+
}
58+
59+
return allErrs
60+
}
61+
5362
func (featureGateV1) ValidateCreate(_ context.Context, uncastObj runtime.Object) field.ErrorList {
5463
obj, allErrs := toFeatureGateV1(uncastObj)
5564
if len(allErrs) > 0 {
5665
return allErrs
5766
}
5867

5968
allErrs = append(allErrs, validation.ValidateObjectMeta(&obj.ObjectMeta, false, customresourcevalidation.RequireNameCluster, field.NewPath("metadata"))...)
60-
69+
allErrs = append(allErrs, validateOKDFeatureSet(obj.Spec)...)
6170
return allErrs
6271
}
6372

@@ -72,6 +81,7 @@ func (featureGateV1) ValidateUpdate(_ context.Context, uncastObj runtime.Object,
7281
}
7382

7483
allErrs = append(allErrs, validation.ValidateObjectMetaUpdate(&obj.ObjectMeta, &oldObj.ObjectMeta, field.NewPath("metadata"))...)
84+
allErrs = append(allErrs, validateOKDFeatureSet(obj.Spec)...)
7585

7686
return allErrs
7787
}

vendor/github.com/openshift/api/config/v1/types_feature.go

Lines changed: 7 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)