From 682edbd4e78449bd893f643a2b5cf214815b4a2c 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 bc83f5afdb103ba9241da60ca68ed567c1b986c3 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 e7b9c574d845a4136751e130570f0341391cc0c2 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 - .../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 + ...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/v1/zz_generated.crd-manifests/0000_25_etcd_01_pacemakerclusters.crd.yaml b/etcd/v1/zz_generated.crd-manifests/0000_25_etcd_01_pacemakerclusters.crd.yaml index 4cc193fe3b3..0cad7e278b2 100644 --- a/etcd/v1/zz_generated.crd-manifests/0000_25_etcd_01_pacemakerclusters.crd.yaml +++ b/etcd/v1/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/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 36cf07186c1..e26afefbb18 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_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 1966dc1a21a77990ed71151e9892c036c4f94826 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 | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tools/codegen/cmd/featuregate-test-analyzer.go b/tools/codegen/cmd/featuregate-test-analyzer.go index a70397b27a2..725c0057b77 100644 --- a/tools/codegen/cmd/featuregate-test-analyzer.go +++ b/tools/codegen/cmd/featuregate-test-analyzer.go @@ -578,18 +578,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", }, }