From 553d30f0217adfda2921539c089b8a7305cb46c7 Mon Sep 17 00:00:00 2001 From: David Joshy Date: Mon, 2 Mar 2026 10:25:15 -0500 Subject: [PATCH] bootimage: fix failure domain matching --- pkg/controller/bootimage/vsphere_helpers.go | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/pkg/controller/bootimage/vsphere_helpers.go b/pkg/controller/bootimage/vsphere_helpers.go index b16d56003e..a5d4818d35 100644 --- a/pkg/controller/bootimage/vsphere_helpers.go +++ b/pkg/controller/bootimage/vsphere_helpers.go @@ -456,11 +456,13 @@ func createNewVMTemplate(streamData *stream.Stream, providerSpec *machinev1beta1 } } - // This condition directly follows from https://github.com/openshift/cluster-control-plane-machine-set-operator/blob/main/pkg/machineproviders/providers/openshift/machine/v1beta1/providerconfig/vsphere.go#L194 - if providerSpec.Workspace.Datastore != failureDomain.Topology.Datastore && - vcenter.Server != failureDomain.Server && - providerSpec.Workspace.VMGroup != vmGroup && - path.Clean(providerSpec.Workspace.ResourcePool) == path.Clean(failureDomain.Topology.ResourcePool) { + // Skip failure domains that don't match the providerSpec workspace. + // All fields must match — mirroring the logic in https://github.com/openshift/cluster-control-plane-machine-set-operator/blob/main/pkg/machineproviders/providers/openshift/machine/v1beta1/providerconfig/vsphere.go#L194 + if providerSpec.Workspace.Datacenter != failureDomain.Topology.Datacenter || + providerSpec.Workspace.Datastore != failureDomain.Topology.Datastore || + vcenter.Server != failureDomain.Server || + providerSpec.Workspace.VMGroup != vmGroup || + path.Clean(providerSpec.Workspace.ResourcePool) != path.Clean(failureDomain.Topology.ResourcePool) { continue } infraID := infra.Status.InfrastructureName