Document release.openshift.io/feature-gate annotation and CVO manifest inclusion#112607
Conversation
…and CVO manifest inclusion Add a new section "Understanding feature-gate-based manifest inclusion" to the feature gates guide documenting the CVO capability introduced in OCP 4.22 that conditionally includes or excludes release payload manifests based on which feature gates are enabled. Covers: - How CVO uses the release.openshift.io/feature-gate annotation - Annotation syntax (positive, negated, AND logic) - How to discover gated manifests in a release using oc adm release extract - Orphaned resource behavior when a gate is disabled - CVO log messages for manifest inclusion/exclusion Co-authored-by: Cursor <cursoragent@cursor.com>
|
@nikhilprajapati-world: This pull request references OCPSTRAT-2485 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the feature to target either version "5.0." or "openshift-5.0.", but it targets "openshift-4.22" instead. 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 openshift-eng/jira-lifecycle-plugin repository. |
|
🤖 Tue Jun 02 02:11:43 - Prow CI generated the docs preview: |
|
|
||
| [NOTE] | ||
| ==== | ||
| Starting in {product-title} 4.22, the Cluster Version Operator (CVO) can conditionally include or exclude release payload manifests based on which feature gates are enabled. For details, see xref:../../nodes/clusters/nodes-cluster-enabling-features.adoc#nodes-cluster-enabling-features-manifest-inclusion_nodes-cluster-enabling[Understanding feature-gate-based manifest inclusion]. |
There was a problem hiding this comment.
🤖 [error] OpenShiftAsciiDoc.NoXrefInModules: Do not include xrefs in modules, only assemblies (exception: release notes modules).
|
|
||
| [NOTE] | ||
| ==== | ||
| Starting in {product-title} 4.22, the Cluster Version Operator (CVO) can conditionally include or exclude release payload manifests based on which feature gates are enabled. For details, see xref:../../nodes/clusters/nodes-cluster-enabling-features.adoc#nodes-cluster-enabling-features-manifest-inclusion_nodes-cluster-enabling[Understanding feature-gate-based manifest inclusion]. |
There was a problem hiding this comment.
🤖 [error] AsciiDocDITA.ConceptLink: Move all links and cross references to Additional resources.
|
|
||
| You can discover which manifests in a release payload are gated behind feature gates by extracting the payload and searching for the annotation. | ||
|
|
||
| .Prerequisites |
There was a problem hiding this comment.
🤖 [error] AsciiDocDITA.BlockTitle: Block titles can only be assigned to examples, figures, and tables in DITA.
| * You have installed the {oc-first}. | ||
| * You have access to the release image for your cluster version. | ||
|
|
||
| .Procedure |
There was a problem hiding this comment.
🤖 [error] AsciiDocDITA.BlockTitle: Block titles can only be assigned to examples, figures, and tables in DITA.
|
|
||
| CVO logs information about excluded and included gated manifests. You can view these messages to understand which manifests are affected by your feature gate configuration. | ||
|
|
||
| .Procedure |
There was a problem hiding this comment.
🤖 [error] AsciiDocDITA.BlockTitle: Block titles can only be assigned to examples, figures, and tables in DITA.
|
@nikhilprajapati-world: No Jira issue is referenced in the title of this pull request. 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 openshift-eng/jira-lifecycle-plugin repository. |
…ocks to prose - Remove xref NOTE from about.adoc module (NoXrefInModules, ConceptLink) - Move cross-reference to assembly Additional resources section - Convert .Prerequisites and .Procedure block titles to prose in the CONCEPT module (AsciiDocDITA.BlockTitle) Co-authored-by: Cursor <cursoragent@cursor.com>
|
@nikhilprajapati-world: all tests passed! 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-sigs/prow repository. I understand the commands that are listed here. |
Summary
Why this is needed
OpenShift 4.22 introduces a CVO capability where release payload manifests annotated with
release.openshift.io/feature-gateare conditionally included or excluded based on which feature gates are enabled on the cluster. There is zero user-facing documentation for this feature despite:ClusterAPIMachineManagement,CRDCompatibilityRequirementOperator,GatewayAPIWithoutOLM,InsightsConfig,CRIOCredentialProviderConfig)excluding ... feature gate ClusterAPIMachineManagement is required but not enabled— administrators have no documentation to explain these messagesfeature-gatesplural vsfeature-gatesingular) and couldn't get the feature to workWhat changed
New file
modules/nodes-cluster-enabling-features-manifest-inclusion.adoc— New CONCEPT module covering:release.openshift.io/feature-gateannotationoc adm release extractandgrepModified files
nodes/clusters/nodes-cluster-enabling-features.adoc— Addedincludefor the new modulemodules/nodes-cluster-enabling-features-about.adoc— Added a NOTE with cross-reference to the new sectionImplementation references
oc adm release extractsupport: openshift/oc#2222Duplicate check
No existing PR or doc bug found. Searched:
openshift/openshift-docsPRs — none documentrelease.openshift.io/feature-gateOCPDOCS-*ticket found referencing this annotationTesting
Verified on OCP 4.22.0-rc.4 (AWS us-east-2):
CustomNoUpgradewith the target gateTest plan
oc adm release extractMade with Cursor