pkg/types: add feature set support#6336
pkg/types: add feature set support#6336openshift-merge-robot merged 4 commits intoopenshift:masterfrom
Conversation
|
/wip Needs further work for |
|
Oops. Need to run go gen to bump explain |
84b714b to
97517a0
Compare
93906b9 to
0fbb2a6
Compare
Adds feature gate support: - featureset field in installconfig - validation for this field - featuregate manifest This change allows users to specify featuresets in the install config, most notably TechPreview. When a featureset is specified, the installer will validate the provided value against the valid values in the OpenShift API, and, if valid, create the cluster featuregate manifest.
Indicate that the networkProjectID field is in tech preview. This is important for the output of openshift-install explain. In future work, we hope to have a structured way of decorating fields, such as // +openshift:enable:FeatureSets=TechPreviewNoUpgrade.
Emit a warning when feature sets are enabled so that users understand the impact of the feature set.
0fbb2a6 to
0d9b518
Compare
|
@jcpowermac @rvanderp3 0d9b518 sets vsphere multizone as tech preview. PTAL |
Looks great, thanks @patrickdillon ! |
very cool, lgtm. thanks Patrick! |
There was a problem hiding this comment.
Do we need to include the other tech preview variables added to the GCP platform in #6288?
There was a problem hiding this comment.
Only if those features are "tech preview." I think those were going to be released as GA (not tech preview), but if they are tech preview we can add them (in a later PR).
|
/retest |
Enforces that vSphere multizone fields in the install config are only enabled with tech preview.
0d9b518 to
d97b684
Compare
|
/approve |
wking
left a comment
There was a problem hiding this comment.
/lgtm
docs/ entries to come in follow-up work.
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: sdodson, wking The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
| } | ||
|
|
||
| o.FileList = append(o.FileList, openshiftInstall.Files()...) | ||
| o.FileList = append(o.FileList, featureGate.Files()...) |
There was a problem hiding this comment.
Since FeatureGate's Generate() could return nil, do we want to check for that before calling the append()?
There was a problem hiding this comment.
append should gracefully handle this case:
https://go.dev/play/p/tOrMzBn_wS_I
| } | ||
|
|
||
| if c.FeatureSet != configv1.TechPreviewNoUpgrade { | ||
| errMsg := "the TechPreviewNoUpgrade feature set must be enabled to use this field" |
There was a problem hiding this comment.
Could CustomNoUpgrade also be allowed? Could there be a scenario where a custome feature and a tech preview need to be tested together?
|
Couple of comments below. Not need to stop the merge for that:
|
This is a good idea. I want to get this PR in before FF, so I'm not going to try to push this suggestion in this PR. But I am hoping there are other ways we could make it easier to add/remove fields from this protection (I've been hoping reflection could be a solution for this, but so far no dice). So I will create a card for this idea and include your suggestion there. |
|
/skip |
|
/override ci/prow/e2e-aws-ovn ci/prow/e2e-azure-ovn ci/prow/e2e-gcp-ovn ci/prow/e2e-vsphere-ovn |
|
@patrickdillon: Overrode contexts on behalf of patrickdillon: ci/prow/e2e-aws-ovn, ci/prow/e2e-azure-ovn, ci/prow/e2e-gcp-ovn, ci/prow/e2e-vsphere-ovn DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
|
@patrickdillon: The following tests failed, say
Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. |
Adds basic support for feature sets in the install config, as well as validation for gated features.
See openshift/enhancements#1239