From 9282921814490723fd163bc3083b0bd31ab805fa Mon Sep 17 00:00:00 2001 From: Pablo Fontanilla Date: Fri, 19 Sep 2025 19:01:24 +0200 Subject: [PATCH 1/4] Promote DualReplica to default --- .../0000_10_config-operator_01_infrastructures-Default.crd.yaml | 1 + features/features.go | 2 +- ...0000_80_machine-config_01_controllerconfigs-Default.crd.yaml | 1 + .../0000_10_config-operator_01_infrastructures-Default.crd.yaml | 1 + ...0000_80_machine-config_01_controllerconfigs-Default.crd.yaml | 1 + 5 files changed, 5 insertions(+), 1 deletion(-) diff --git a/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-Default.crd.yaml b/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-Default.crd.yaml index cc7fe5e2a2e..8d94616b357 100644 --- a/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-Default.crd.yaml +++ b/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-Default.crd.yaml @@ -1067,6 +1067,7 @@ spec: - HighlyAvailable - HighlyAvailableArbiter - SingleReplica + - DualReplica - External type: string cpuPartitioning: diff --git a/features/features.go b/features/features.go index 8df01c197c5..b384c44704f 100644 --- a/features/features.go +++ b/features/features.go @@ -742,7 +742,7 @@ var ( contactPerson("jaypoulz"). productScope(ocpSpecific). enhancementPR("https://github.com/openshift/enhancements/pull/1675"). - enable(inTechPreviewNoUpgrade(), inDevPreviewNoUpgrade()). + enable(inDefault(), inTechPreviewNoUpgrade(), inDevPreviewNoUpgrade()). mustRegister() FeatureShortCertRotation = newFeatureGate("ShortCertRotation"). diff --git a/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-Default.crd.yaml b/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-Default.crd.yaml index d6ebfd67ce5..df2f24ce080 100644 --- a/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-Default.crd.yaml +++ b/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-Default.crd.yaml @@ -1358,6 +1358,7 @@ spec: - HighlyAvailable - HighlyAvailableArbiter - SingleReplica + - DualReplica - External type: string cpuPartitioning: diff --git a/payload-manifests/crds/0000_10_config-operator_01_infrastructures-Default.crd.yaml b/payload-manifests/crds/0000_10_config-operator_01_infrastructures-Default.crd.yaml index cc7fe5e2a2e..8d94616b357 100644 --- a/payload-manifests/crds/0000_10_config-operator_01_infrastructures-Default.crd.yaml +++ b/payload-manifests/crds/0000_10_config-operator_01_infrastructures-Default.crd.yaml @@ -1067,6 +1067,7 @@ spec: - HighlyAvailable - HighlyAvailableArbiter - SingleReplica + - DualReplica - External type: string cpuPartitioning: diff --git a/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-Default.crd.yaml b/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-Default.crd.yaml index d6ebfd67ce5..df2f24ce080 100644 --- a/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-Default.crd.yaml +++ b/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-Default.crd.yaml @@ -1358,6 +1358,7 @@ spec: - HighlyAvailable - HighlyAvailableArbiter - SingleReplica + - DualReplica - External type: string cpuPartitioning: From 57c4d4d5e03e56211bfa8b5a3a1c4047f63be0c8 Mon Sep 17 00:00:00 2001 From: Pablo Fontanilla Date: Fri, 6 Feb 2026 15:54:10 +0100 Subject: [PATCH 2/4] Enable DualReplica in OKD featureset All features enabled in Default must also be enabled in OKD to maintain feature parity with the community distribution. This fixes the failing TestOKDHasAllDefaultFeatureGates unit test. Co-Authored-By: Claude Opus 4.5 --- features.md | 1 + features/features.go | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/features.md b/features.md index 27fe51f4d32..7179fb807fe 100644 --- a/features.md +++ b/features.md @@ -97,6 +97,7 @@ | BuildCSIVolumes| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | | ConsolePluginContentSecurityPolicy| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | | EventTTL| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | +| DualReplica| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | | ExternalOIDC| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | | ExternalOIDCWithUIDAndExtraClaimMappings| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | | ImageStreamImportMode| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | diff --git a/features/features.go b/features/features.go index b384c44704f..9b6b23dae90 100644 --- a/features/features.go +++ b/features/features.go @@ -742,7 +742,7 @@ var ( contactPerson("jaypoulz"). productScope(ocpSpecific). enhancementPR("https://github.com/openshift/enhancements/pull/1675"). - enable(inDefault(), inTechPreviewNoUpgrade(), inDevPreviewNoUpgrade()). + enable(inDefault(), inOKD(), inTechPreviewNoUpgrade(), inDevPreviewNoUpgrade()). mustRegister() FeatureShortCertRotation = newFeatureGate("ShortCertRotation"). From 54d87864b8be121b3e01c7ac631b2279a13649b6 Mon Sep 17 00:00:00 2001 From: Pablo Fontanilla Date: Mon, 9 Feb 2026 12:05:54 +0100 Subject: [PATCH 3/4] Regenerate CRDs and features.md after rebase onto master Signed-off-by: ehila --- .../0000_10_config-operator_01_infrastructures-OKD.crd.yaml | 1 + .../0000_25_etcd_01_pacemakerclusters.crd.yaml | 1 - features.md | 3 +-- ...0000_80_machine-config_01_controllerconfigs-OKD.crd.yaml | 1 + .../0000_10_config-operator_01_infrastructures-OKD.crd.yaml | 1 + .../crds/0000_25_etcd_01_pacemakerclusters.crd.yaml | 1 - ...0000_80_machine-config_01_controllerconfigs-OKD.crd.yaml | 1 + .../featuregates/featureGate-4-10-Hypershift-Default.yaml | 6 +++--- .../featuregates/featureGate-4-10-Hypershift-OKD.yaml | 6 +++--- .../featureGate-4-10-SelfManagedHA-Default.yaml | 6 +++--- .../featuregates/featureGate-4-10-SelfManagedHA-OKD.yaml | 6 +++--- 11 files changed, 17 insertions(+), 16 deletions(-) diff --git a/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-OKD.crd.yaml b/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-OKD.crd.yaml index 5a105a3c9b0..b107d7e44ca 100644 --- a/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-OKD.crd.yaml +++ b/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-OKD.crd.yaml @@ -1067,6 +1067,7 @@ spec: - HighlyAvailable - HighlyAvailableArbiter - SingleReplica + - DualReplica - External type: string cpuPartitioning: diff --git a/etcd/v1alpha1/zz_generated.crd-manifests/0000_25_etcd_01_pacemakerclusters.crd.yaml b/etcd/v1alpha1/zz_generated.crd-manifests/0000_25_etcd_01_pacemakerclusters.crd.yaml index 370cd8ab1f8..bf22faa11d2 100644 --- a/etcd/v1alpha1/zz_generated.crd-manifests/0000_25_etcd_01_pacemakerclusters.crd.yaml +++ b/etcd/v1alpha1/zz_generated.crd-manifests/0000_25_etcd_01_pacemakerclusters.crd.yaml @@ -6,7 +6,6 @@ metadata: api.openshift.io/merged-by-featuregates: "true" include.release.openshift.io/ibm-cloud-managed: "true" include.release.openshift.io/self-managed-high-availability: "true" - release.openshift.io/feature-set: CustomNoUpgrade,DevPreviewNoUpgrade,TechPreviewNoUpgrade name: pacemakerclusters.etcd.openshift.io spec: group: etcd.openshift.io diff --git a/features.md b/features.md index 7179fb807fe..cde78bf76f6 100644 --- a/features.md +++ b/features.md @@ -54,7 +54,6 @@ | ConfigurablePKI| | | Enabled | Enabled | | | Enabled | Enabled | | DNSNameResolver| | | Enabled | Enabled | | | Enabled | Enabled | | DRAPartitionableDevices| | | Enabled | Enabled | | | Enabled | Enabled | -| DualReplica| | | Enabled | Enabled | | | Enabled | Enabled | | DyanmicServiceEndpointIBMCloud| | | Enabled | Enabled | | | Enabled | Enabled | | EVPN| | | Enabled | Enabled | | | Enabled | Enabled | | EtcdBackendQuota| | | Enabled | Enabled | | | Enabled | Enabled | @@ -96,8 +95,8 @@ | BootImageSkewEnforcement| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | | BuildCSIVolumes| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | | ConsolePluginContentSecurityPolicy| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | -| EventTTL| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | | DualReplica| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | +| EventTTL| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | | ExternalOIDC| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | | ExternalOIDCWithUIDAndExtraClaimMappings| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | | ImageStreamImportMode| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | diff --git a/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-OKD.crd.yaml b/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-OKD.crd.yaml index 512510c2092..e4bef30eb6d 100644 --- a/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-OKD.crd.yaml +++ b/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-OKD.crd.yaml @@ -1358,6 +1358,7 @@ spec: - HighlyAvailable - HighlyAvailableArbiter - SingleReplica + - DualReplica - External type: string cpuPartitioning: diff --git a/payload-manifests/crds/0000_10_config-operator_01_infrastructures-OKD.crd.yaml b/payload-manifests/crds/0000_10_config-operator_01_infrastructures-OKD.crd.yaml index 5a105a3c9b0..b107d7e44ca 100644 --- a/payload-manifests/crds/0000_10_config-operator_01_infrastructures-OKD.crd.yaml +++ b/payload-manifests/crds/0000_10_config-operator_01_infrastructures-OKD.crd.yaml @@ -1067,6 +1067,7 @@ spec: - HighlyAvailable - HighlyAvailableArbiter - SingleReplica + - DualReplica - External type: string cpuPartitioning: diff --git a/payload-manifests/crds/0000_25_etcd_01_pacemakerclusters.crd.yaml b/payload-manifests/crds/0000_25_etcd_01_pacemakerclusters.crd.yaml index 370cd8ab1f8..bf22faa11d2 100644 --- a/payload-manifests/crds/0000_25_etcd_01_pacemakerclusters.crd.yaml +++ b/payload-manifests/crds/0000_25_etcd_01_pacemakerclusters.crd.yaml @@ -6,7 +6,6 @@ metadata: api.openshift.io/merged-by-featuregates: "true" include.release.openshift.io/ibm-cloud-managed: "true" include.release.openshift.io/self-managed-high-availability: "true" - release.openshift.io/feature-set: CustomNoUpgrade,DevPreviewNoUpgrade,TechPreviewNoUpgrade name: pacemakerclusters.etcd.openshift.io spec: group: etcd.openshift.io diff --git a/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-OKD.crd.yaml b/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-OKD.crd.yaml index 512510c2092..e4bef30eb6d 100644 --- a/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-OKD.crd.yaml +++ b/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-OKD.crd.yaml @@ -1358,6 +1358,7 @@ spec: - HighlyAvailable - HighlyAvailableArbiter - SingleReplica + - DualReplica - External type: string cpuPartitioning: diff --git a/payload-manifests/featuregates/featureGate-4-10-Hypershift-Default.yaml b/payload-manifests/featuregates/featureGate-4-10-Hypershift-Default.yaml index bbee08a3391..650fe654a00 100644 --- a/payload-manifests/featuregates/featureGate-4-10-Hypershift-Default.yaml +++ b/payload-manifests/featuregates/featureGate-4-10-Hypershift-Default.yaml @@ -125,9 +125,6 @@ { "name": "DRAPartitionableDevices" }, - { - "name": "DualReplica" - }, { "name": "DyanmicServiceEndpointIBMCloud" }, @@ -301,6 +298,9 @@ { "name": "ConsolePluginContentSecurityPolicy" }, + { + "name": "DualReplica" + }, { "name": "EventTTL" }, diff --git a/payload-manifests/featuregates/featureGate-4-10-Hypershift-OKD.yaml b/payload-manifests/featuregates/featureGate-4-10-Hypershift-OKD.yaml index d0f9a075948..05c6127ef4a 100644 --- a/payload-manifests/featuregates/featureGate-4-10-Hypershift-OKD.yaml +++ b/payload-manifests/featuregates/featureGate-4-10-Hypershift-OKD.yaml @@ -127,9 +127,6 @@ { "name": "DRAPartitionableDevices" }, - { - "name": "DualReplica" - }, { "name": "DyanmicServiceEndpointIBMCloud" }, @@ -303,6 +300,9 @@ { "name": "ConsolePluginContentSecurityPolicy" }, + { + "name": "DualReplica" + }, { "name": "EventTTL" }, diff --git a/payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-Default.yaml b/payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-Default.yaml index 20d8b200706..69da262da1b 100644 --- a/payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-Default.yaml +++ b/payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-Default.yaml @@ -122,9 +122,6 @@ { "name": "DRAPartitionableDevices" }, - { - "name": "DualReplica" - }, { "name": "DyanmicServiceEndpointIBMCloud" }, @@ -298,6 +295,9 @@ { "name": "ConsolePluginContentSecurityPolicy" }, + { + "name": "DualReplica" + }, { "name": "EventTTL" }, diff --git a/payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-OKD.yaml b/payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-OKD.yaml index 44a56c426b0..b61f0c8cb17 100644 --- a/payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-OKD.yaml +++ b/payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-OKD.yaml @@ -124,9 +124,6 @@ { "name": "DRAPartitionableDevices" }, - { - "name": "DualReplica" - }, { "name": "DyanmicServiceEndpointIBMCloud" }, @@ -300,6 +297,9 @@ { "name": "ConsolePluginContentSecurityPolicy" }, + { + "name": "DualReplica" + }, { "name": "EventTTL" }, From 2d2110ea6f942fae2daa379a89b30e243a32252d Mon Sep 17 00:00:00 2001 From: ehila Date: Fri, 27 Mar 2026 10:55:49 -0400 Subject: [PATCH 4/4] upkeep: add jobtier for tnf jobs to allow verify to check tests Signed-off-by: ehila --- tools/codegen/cmd/featuregate-test-analyzer.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/tools/codegen/cmd/featuregate-test-analyzer.go b/tools/codegen/cmd/featuregate-test-analyzer.go index bdc12f9f105..5a5df021352 100644 --- a/tools/codegen/cmd/featuregate-test-analyzer.go +++ b/tools/codegen/cmd/featuregate-test-analyzer.go @@ -586,18 +586,21 @@ var ( Architecture: "amd64", Topology: "two-node-fencing", NetworkStack: "ipv4", + JobTiers: "candidate,standard,informing,blocking", }, { Cloud: "metal", Architecture: "amd64", Topology: "two-node-fencing", NetworkStack: "ipv6", + JobTiers: "candidate,standard,informing,blocking", }, { Cloud: "metal", Architecture: "amd64", Topology: "two-node-fencing", NetworkStack: "dual", + JobTiers: "candidate,standard,informing,blocking", }, } @@ -651,8 +654,8 @@ func (a OrderedJobVariants) Less(i, j int) bool { type TestingResults struct { JobVariant JobVariant - TestResults []TestResults - HasCandidateTierResults bool // true if candidate-tier queries returned any test data + TestResults []TestResults + HasCandidateTierResults bool // true if candidate-tier queries returned any test data } type TestResults struct {