Skip to content

Commit ad3f6b0

Browse files
jcpowermack8s-infra-cherrypick-robot
authored andcommitted
fix: use vspheremachine fd if machine is empty
This commit sets failureDomain string defaulting to `machine.Spec.FailureDomain`. If failureDomain is an empty string then `vsphereMachine.Spec.FailureDomain` is checked for nil, if defined `failureDomain` is set to `vsphereMachine.Spec.FailureDomain`. This resolves an issue where virtual machines are not placed within vm-host groups in a timely manner causing misplacement in the topology.
1 parent e52eb19 commit ad3f6b0

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

controllers/vspherevm_controller.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,8 +233,13 @@ func (r vmReconciler) Reconcile(ctx context.Context, req ctrl.Request) (_ ctrl.R
233233
return ctrl.Result{}, err
234234
}
235235

236+
failureDomain := machine.Spec.FailureDomain
237+
if failureDomain == "" && vsphereMachine.Spec.FailureDomain != nil {
238+
failureDomain = *vsphereMachine.Spec.FailureDomain
239+
}
240+
236241
var vsphereFailureDomain *infrav1.VSphereFailureDomain
237-
if failureDomain := machine.Spec.FailureDomain; failureDomain != "" {
242+
if failureDomain != "" {
238243
vsphereDeploymentZone := &infrav1.VSphereDeploymentZone{}
239244
if err := r.Client.Get(ctx, apitypes.NamespacedName{Name: failureDomain}, vsphereDeploymentZone); err != nil {
240245
return reconcile.Result{}, errors.Wrapf(err, "failed to get VSphereDeploymentZone %s", failureDomain)

0 commit comments

Comments
 (0)