From 7937275a72f72eb60922bf302161485b3423e3ab Mon Sep 17 00:00:00 2001 From: Pablo Fontanilla Date: Fri, 19 Sep 2025 19:01:24 +0200 Subject: [PATCH 1/3] 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 803c48a1e28..4f602651bc7 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 @@ -1054,6 +1054,7 @@ spec: - HighlyAvailable - HighlyAvailableArbiter - SingleReplica + - DualReplica - External type: string cpuPartitioning: diff --git a/features/features.go b/features/features.go index 588f39e7f3b..82e50d86ca7 100644 --- a/features/features.go +++ b/features/features.go @@ -701,7 +701,7 @@ var ( contactPerson("jaypoulz"). productScope(ocpSpecific). enhancementPR("https://github.com/openshift/enhancements/pull/1675"). - enable(inTechPreviewNoUpgrade(), inDevPreviewNoUpgrade()). + enable(inDefault(), inTechPreviewNoUpgrade(), inDevPreviewNoUpgrade()). mustRegister() FeatureGateGatewayAPIController = newFeatureGate("GatewayAPIController"). 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 a921ed5d346..b11e4b0f464 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 @@ -1335,6 +1335,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 803c48a1e28..4f602651bc7 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 @@ -1054,6 +1054,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 a921ed5d346..b11e4b0f464 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 @@ -1335,6 +1335,7 @@ spec: - HighlyAvailable - HighlyAvailableArbiter - SingleReplica + - DualReplica - External type: string cpuPartitioning: From 6698d6edba937ca2a675a76d6811d4db7ffc45ab Mon Sep 17 00:00:00 2001 From: Pablo Fontanilla Date: Fri, 6 Feb 2026 15:54:10 +0100 Subject: [PATCH 2/3] 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 adfd5a7e76b..e1be8e8f6e8 100644 --- a/features.md +++ b/features.md @@ -83,6 +83,7 @@ | AzureWorkloadIdentity| 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 | +| 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 | | GCPClusterHostedDNSInstall| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | diff --git a/features/features.go b/features/features.go index 82e50d86ca7..0c44758dbfb 100644 --- a/features/features.go +++ b/features/features.go @@ -701,7 +701,7 @@ var ( contactPerson("jaypoulz"). productScope(ocpSpecific). enhancementPR("https://github.com/openshift/enhancements/pull/1675"). - enable(inDefault(), inTechPreviewNoUpgrade(), inDevPreviewNoUpgrade()). + enable(inDefault(), inOKD(), inTechPreviewNoUpgrade(), inDevPreviewNoUpgrade()). mustRegister() FeatureGateGatewayAPIController = newFeatureGate("GatewayAPIController"). From 81c74f231aa4da4bc79a90b9ae250a2044b0a215 Mon Sep 17 00:00:00 2001 From: Pablo Fontanilla Date: Mon, 9 Feb 2026 12:05:54 +0100 Subject: [PATCH 3/3] Regenerate CRDs and features.md after rebase onto master Co-Authored-By: Claude Opus 4.6 Signed-off-by: ehila --- .../0000_10_config-operator_01_infrastructures-OKD.crd.yaml | 1 + .../0000_25_etcd_01_pacemakerclusters.crd.yaml | 1 - features.md | 1 - ...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, 16 insertions(+), 15 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 245bc3ea638..38daa6c0a46 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 @@ -1054,6 +1054,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 e1be8e8f6e8..72a58611b57 100644 --- a/features.md +++ b/features.md @@ -42,7 +42,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 | 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 678e5a4202f..f2cf9ae99a9 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 @@ -1335,6 +1335,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 245bc3ea638..38daa6c0a46 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 @@ -1054,6 +1054,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 678e5a4202f..f2cf9ae99a9 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 @@ -1335,6 +1335,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 16be81b8dab..d7283b8665c 100644 --- a/payload-manifests/featuregates/featureGate-4-10-Hypershift-Default.yaml +++ b/payload-manifests/featuregates/featureGate-4-10-Hypershift-Default.yaml @@ -101,9 +101,6 @@ { "name": "DRAPartitionableDevices" }, - { - "name": "DualReplica" - }, { "name": "DyanmicServiceEndpointIBMCloud" }, @@ -262,6 +259,9 @@ { "name": "ConsolePluginContentSecurityPolicy" }, + { + "name": "DualReplica" + }, { "name": "ExternalOIDC" }, diff --git a/payload-manifests/featuregates/featureGate-4-10-Hypershift-OKD.yaml b/payload-manifests/featuregates/featureGate-4-10-Hypershift-OKD.yaml index 5858e3ae87c..946e1e769ba 100644 --- a/payload-manifests/featuregates/featureGate-4-10-Hypershift-OKD.yaml +++ b/payload-manifests/featuregates/featureGate-4-10-Hypershift-OKD.yaml @@ -103,9 +103,6 @@ { "name": "DRAPartitionableDevices" }, - { - "name": "DualReplica" - }, { "name": "DyanmicServiceEndpointIBMCloud" }, @@ -264,6 +261,9 @@ { "name": "ConsolePluginContentSecurityPolicy" }, + { + "name": "DualReplica" + }, { "name": "ExternalOIDC" }, diff --git a/payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-Default.yaml b/payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-Default.yaml index 8dfb8b67188..018db143913 100644 --- a/payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-Default.yaml +++ b/payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-Default.yaml @@ -101,9 +101,6 @@ { "name": "DRAPartitionableDevices" }, - { - "name": "DualReplica" - }, { "name": "DyanmicServiceEndpointIBMCloud" }, @@ -256,6 +253,9 @@ { "name": "ConsolePluginContentSecurityPolicy" }, + { + "name": "DualReplica" + }, { "name": "ExternalOIDC" }, diff --git a/payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-OKD.yaml b/payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-OKD.yaml index c2e2d383345..aaed3438877 100644 --- a/payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-OKD.yaml +++ b/payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-OKD.yaml @@ -103,9 +103,6 @@ { "name": "DRAPartitionableDevices" }, - { - "name": "DualReplica" - }, { "name": "DyanmicServiceEndpointIBMCloud" }, @@ -258,6 +255,9 @@ { "name": "ConsolePluginContentSecurityPolicy" }, + { + "name": "DualReplica" + }, { "name": "ExternalOIDC" },