From 9b9ba7bcfc2753a250b9f4a5937c7973d5a69b2d 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 b9f04dadd4b..59cc5c75533 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 fb532c14969..313e0a8f4fd 100644 --- a/features/features.go +++ b/features/features.go @@ -750,7 +750,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 0de5b2b7795..1e4f002181c 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 b9f04dadd4b..59cc5c75533 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 0de5b2b7795..1e4f002181c 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 aafc5ee1f3e9733e457fc4ae15a9d62673c8dcb0 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 aea0d6e2207..938ada02414 100644 --- a/features.md +++ b/features.md @@ -97,6 +97,7 @@ | 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 | +| 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 313e0a8f4fd..4b70dfe9081 100644 --- a/features/features.go +++ b/features/features.go @@ -750,7 +750,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 b6febf672f26b3a06febca9ddd461509b28b2464 Mon Sep 17 00:00:00 2001 From: Pablo Fontanilla Date: Tue, 31 Mar 2026 16:11:15 +0200 Subject: [PATCH 3/3] Regenerate CRDs and features.md after rebase onto master Co-Authored-By: Claude Opus 4.6 --- .../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 0bcd07d5f34..7ed8470644b 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 938ada02414..7379fd26eec 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 | 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 2ab3d05d256..811de5c8dc3 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 0bcd07d5f34..7ed8470644b 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 2ab3d05d256..811de5c8dc3 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 7a5a007c719..1d522c302b7 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" }, @@ -304,6 +301,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 c65b5c4f925..a39276625e0 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" }, @@ -306,6 +303,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 c73424671b3..fe59ce2edff 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" }, @@ -301,6 +298,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 b2566e467b0..f782a76a649 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" }, @@ -303,6 +300,9 @@ { "name": "ConsolePluginContentSecurityPolicy" }, + { + "name": "DualReplica" + }, { "name": "ExternalOIDC" },