From 79ae641898e4975f4f7d2dc3a87bb6de1d8c3f99 Mon Sep 17 00:00:00 2001 From: Patrick Dillon Date: Thu, 12 Feb 2026 16:12:53 -0500 Subject: [PATCH] OCPBUGS-76326: Azure set failure domains from zones Sets failure domains on the Azure cluster spec when zones are specified in the control plane machine pool. --- pkg/asset/manifests/azure/cluster.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/pkg/asset/manifests/azure/cluster.go b/pkg/asset/manifests/azure/cluster.go index fb9a8ab3ff..edab6a5730 100644 --- a/pkg/asset/manifests/azure/cluster.go +++ b/pkg/asset/manifests/azure/cluster.go @@ -15,6 +15,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/utils/ptr" capz "sigs.k8s.io/cluster-api-provider-azure/api/v1beta1" + "sigs.k8s.io/cluster-api/api/core/v1beta1" "sigs.k8s.io/controller-runtime/pkg/client" "github.com/openshift/installer/pkg/asset" @@ -211,6 +212,7 @@ func GenerateClusterAssets(installConfig *installconfig.InstallConfig, clusterID Kind: "AzureClusterIdentity", Name: clusterID.InfraID, }, + FailureDomains: setFailureDomains(installConfig), }, NetworkSpec: capz.NetworkSpec{ NetworkClassSpec: capz.NetworkClassSpec{ @@ -678,3 +680,15 @@ func deepCopy(src, dst interface{}) error { } return json.Unmarshal(bytes, dst) } + +func setFailureDomains(installConfig *installconfig.InstallConfig) v1beta1.FailureDomains { + failureDomains := v1beta1.FailureDomains{} + if cp := installConfig.Config.ControlPlane; cp != nil && cp.Platform.Azure != nil { + if len(cp.Platform.Azure.Zones) > 0 { + for _, zone := range cp.Platform.Azure.Zones { + failureDomains[zone] = v1beta1.FailureDomainSpec{} + } + } + } + return failureDomains +}