Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions features.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
| EventedPLEG| | | | | | | | |
| MachineAPIOperatorDisableMachineHealthCheckController| | | | | | | | |
| MultiArchInstallAzure| | | | | | | | |
| RHCOS10DefaultInstall| | | | | | | | |
| ShortCertRotation| | | | | | | | |
| ClusterAPIComputeInstall| | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | | | | |
| ClusterAPIControlPlaneInstall| | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | | | | |
Expand Down
20 changes: 14 additions & 6 deletions features/features.go
Original file line number Diff line number Diff line change
Expand Up @@ -457,12 +457,12 @@ var (
mustRegister()

FeatureGateOLMLifecycleAndCompatibility = newFeatureGate("OLMLifecycleAndCompatibility").
reportProblemsToJiraComponent("olm").
contactPerson("joelanford").
productScope(ocpSpecific).
enhancementPR("https://github.com/openshift/enhancements/pull/1991").
enable(inClusterProfile(SelfManaged), inTechPreviewNoUpgrade(), inDevPreviewNoUpgrade()).
mustRegister()
reportProblemsToJiraComponent("olm").
contactPerson("joelanford").
productScope(ocpSpecific).
enhancementPR("https://github.com/openshift/enhancements/pull/1991").
enable(inClusterProfile(SelfManaged), inTechPreviewNoUpgrade(), inDevPreviewNoUpgrade()).
mustRegister()

FeatureGateInsightsOnDemandDataGather = newFeatureGate("InsightsOnDemandDataGather").
reportProblemsToJiraComponent("insights").
Expand Down Expand Up @@ -883,6 +883,14 @@ var (
enable(inTechPreviewNoUpgrade(), inDevPreviewNoUpgrade()).
mustRegister()

FeatureGateRHCOS10DefaultInstall = newFeatureGate("RHCOS10DefaultInstall").
reportProblemsToJiraComponent("MachineConfigOperator").
contactPerson("zzlotnik").
productScope(ocpSpecific).
enhancementPR("https://github.com/openshift/enhancements/pull/1874").
enable(inVersion(5, greaterThanOrEqual)).
mustRegister()

FeatureGateCRDCompatibilityRequirementOperator = newFeatureGate("CRDCompatibilityRequirementOperator").
reportProblemsToJiraComponent("Cloud Compute / Cluster API Providers").
contactPerson("ddonati").
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -248,6 +248,9 @@
{
"name": "ProvisioningRequestAvailable"
},
{
"name": "RHCOS10DefaultInstall"
},
Comment on lines +251 to +253
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | 🏗️ Heavy lift

Version mismatch: gate enabled for v5+ in code but disabled in cross-version manifest.

This manifest covers versions 4,5,6,7,8,9,10 (line 8) but has a single featureGates entry with version: "" (line 365), meaning the disabled list applies to all versions. However, features/features.go line 891 enables this gate for version >=5 via enable(inVersion(5, greaterThanOrEqual)). Operators reading this manifest for v5+ will see RHCOS10DefaultInstall as disabled, conflicting with the code definition.

Consider splitting into version-specific entries (disabled for v<5, enabled/absent for v>=5) or separate per-major-version manifests so v4.x shows disabled and v5+ resolves to enabled.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@payload-manifests/featuregates/featureGate-4-10-Hypershift-Default.yaml`
around lines 251 - 253, The manifest currently disables the
"RHCOS10DefaultInstall" feature for all versions because the featureGates entry
uses version: "" while the code (features/features.go via enable(inVersion(5,
greaterThanOrEqual))) expects it enabled for v>=5; update the manifest to match
the code by removing "RHCOS10DefaultInstall" from the global disabled list or
split the featureGates into version-specific entries so that it's explicitly
disabled for v<5 and absent/enabled for v>=5 (alternatively create separate
per-major-version manifests), ensuring the entry that references
"RHCOS10DefaultInstall" is scoped to the correct version range to avoid the
mismatch.

{
"name": "SELinuxMount"
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,9 @@
{
"name": "OLMLifecycleAndCompatibility"
},
{
"name": "RHCOS10DefaultInstall"
},
Comment on lines +61 to +63
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | 🏗️ Heavy lift

Version mismatch: gate enabled for v5+ in code but disabled in cross-version manifest.

This manifest covers versions 4,5,6,7,8,9,10 (line 8) but has a single featureGates entry with version: "" (line 367), applying the disabled list to all versions. features/features.go line 891 enables RHCOS10DefaultInstall for version >=5, but this manifest will show it as disabled for v5+ operators, conflicting with the code definition.

Consider version-specific entries or per-major-version manifests so v4.x and v5+ resolve correctly.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@payload-manifests/featuregates/featureGate-4-10-Hypershift-DevPreviewNoUpgrade.yaml`
around lines 61 - 63, The manifest's featureGates block is applying a disabled
list to all versions because the single entry uses version: "" which overrides
code's intent (features/features.go where RHCOS10DefaultInstall is enabled for
version >=5); update the manifest to make featureGates version-specific (e.g.,
add an entry with version ">=5" that enables RHCOS10DefaultInstall or split into
per-major-version manifests) so that RHCOS10DefaultInstall is not globally
disabled and matches the code's >=5 enablement.

{
"name": "ShortCertRotation"
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -250,6 +250,9 @@
{
"name": "ProvisioningRequestAvailable"
},
{
"name": "RHCOS10DefaultInstall"
},
{
"name": "SELinuxMount"
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,9 @@
{
"name": "ProvisioningRequestAvailable"
},
{
"name": "RHCOS10DefaultInstall"
},
{
"name": "ShortCertRotation"
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -242,6 +242,9 @@
{
"name": "ProvisioningRequestAvailable"
},
{
"name": "RHCOS10DefaultInstall"
},
Comment on lines +245 to +247
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | 🏗️ Heavy lift

Version mismatch: gate enabled for v5+ in code but disabled in cross-version manifest.

This manifest covers versions 4,5,6,7,8,9,10 (line 8) with a single featureGates entry at version: "" (line 365), applying the disabled list to all versions. features/features.go line 891 enables RHCOS10DefaultInstall for version >=5, creating a conflict where v5+ operators will see the gate as disabled in this manifest.

Consider version-specific entries or per-major-version manifests to align v4.x (disabled) and v5+ (enabled) behavior.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-Default.yaml`
around lines 245 - 247, Manifest currently lists "RHCOS10DefaultInstall" in the
disabled/global entry that applies to all versions, which conflicts with the
enablement logic in features/features.go that enables RHCOS10DefaultInstall for
version >=5; update the manifest so the gate is disabled for v4 but enabled for
v5+ by adding version-scoped featureGates (or split into per-major-version
manifests) instead of a single version:"" entry—ensure the manifest's
featureGates entries align with the RHCOS10DefaultInstall enablement in
features/features.go so v5+ operators see it enabled while v4 remains disabled.

{
"name": "SELinuxMount"
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,9 @@
{
"name": "MultiArchInstallAzure"
},
{
"name": "RHCOS10DefaultInstall"
},
{
"name": "ShortCertRotation"
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -244,6 +244,9 @@
{
"name": "ProvisioningRequestAvailable"
},
{
"name": "RHCOS10DefaultInstall"
},
{
"name": "SELinuxMount"
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,9 @@
{
"name": "ProvisioningRequestAvailable"
},
{
"name": "RHCOS10DefaultInstall"
},
Comment on lines +67 to +69
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | 🏗️ Heavy lift

Version mismatch: gate enabled for v5+ in code but disabled in cross-version manifest.

This manifest covers versions 4,5,6,7,8,9,10 (line 8) with a single featureGates entry at version: "" (line 367), applying the disabled list to all versions. features/features.go line 891 enables RHCOS10DefaultInstall for version >=5, but this manifest will show the gate as disabled for v5+ operators, conflicting with the code.

Consider version-specific entries or per-major-version manifests to correctly represent v4.x (disabled) and v5+ (enabled).

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-TechPreviewNoUpgrade.yaml`
around lines 67 - 69, The manifest currently lists "RHCOS10DefaultInstall" in
the global disabled list, which conflicts with the logic in features/features.go
that enables RHCOS10DefaultInstall for operator versions >=5; update the
manifest so the gate is disabled for v4.x but enabled for v5+ — either split the
global featureGates into version-specific entries (add a specific entry for
major version 4 that includes "RHCOS10DefaultInstall" in disabled, and a
separate entry for versions 5+ that does not list it) or create
per-major-version manifests so the runtime behavior of RHCOS10DefaultInstall
matches the code path in features/features.go.

{
"name": "ShortCertRotation"
},
Expand Down