Skip to content

Commit fea2ad7

Browse files
authored
Merge pull request #3235 from rikatz/fix-context-logging
🌱 Fix return messages to contain proper VM information
2 parents 19f1a8f + 8e95493 commit fea2ad7

File tree

4 files changed

+27
-27
lines changed

4 files changed

+27
-27
lines changed

pkg/services/govmomi/power.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ func (vms *VMService) getPowerState(ctx context.Context, virtualMachineCtx *virt
4444
case types.VirtualMachinePowerStateSuspended:
4545
return infrav1.VirtualMachinePowerStateSuspended, nil
4646
default:
47-
return "", errors.Errorf("unexpected power state %q for vm %s", powerState, ctx)
47+
return "", errors.Errorf("unexpected power state %q for vm %s", powerState, virtualMachineCtx)
4848
}
4949
}
5050

pkg/services/govmomi/service.go

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -335,7 +335,7 @@ func (vms *VMService) reconcileMetadata(ctx context.Context, virtualMachineCtx *
335335
log.Info("Updating VM metadata")
336336
taskRef, err := vms.setMetadata(ctx, virtualMachineCtx, newMetadata)
337337
if err != nil {
338-
return false, errors.Wrapf(err, "unable to set metadata on vm %s", ctx)
338+
return false, errors.Wrapf(err, "unable to set metadata on vm %s", virtualMachineCtx)
339339
}
340340

341341
virtualMachineCtx.VSphereVM.Status.TaskRef = taskRef
@@ -356,7 +356,7 @@ func (vms *VMService) reconcilePowerState(ctx context.Context, virtualMachineCtx
356356
task, err := virtualMachineCtx.Obj.PowerOn(ctx)
357357
if err != nil {
358358
conditions.MarkFalse(virtualMachineCtx.VSphereVM, infrav1.VMProvisionedCondition, infrav1.PoweringOnFailedReason, clusterv1.ConditionSeverityWarning, err.Error())
359-
return false, errors.Wrapf(err, "failed to trigger power on op for vm %s", ctx)
359+
return false, errors.Wrapf(err, "failed to trigger power on op for vm %s", virtualMachineCtx)
360360
}
361361
conditions.MarkFalse(virtualMachineCtx.VSphereVM, infrav1.VMProvisionedCondition, infrav1.PoweringOnReason, clusterv1.ConditionSeverityInfo, "")
362362

@@ -376,7 +376,7 @@ func (vms *VMService) reconcilePowerState(ctx context.Context, virtualMachineCtx
376376
log.Info("VM is powered on")
377377
return true, nil
378378
default:
379-
return false, errors.Errorf("unexpected power state %q for vm %s", powerState, ctx)
379+
return false, errors.Errorf("unexpected power state %q for vm %s", powerState, virtualMachineCtx)
380380
}
381381
}
382382

@@ -465,7 +465,7 @@ func (vms *VMService) reconcileStoragePolicy(ctx context.Context, virtualMachine
465465
DeviceChange: changes,
466466
})
467467
if err != nil {
468-
return errors.Wrapf(err, "unable to set storagePolicy on vm %s", ctx)
468+
return errors.Wrapf(err, "unable to set storagePolicy on vm %s", virtualMachineCtx)
469469
}
470470
virtualMachineCtx.VSphereVM.Status.TaskRef = task.Reference().Value
471471
}
@@ -492,7 +492,7 @@ func (vms *VMService) reconcileHardwareVersion(ctx context.Context, virtualMachi
492492
log.Info("Upgrading hardware version", "fromVersion", virtualMachine.Config.Version, "toVersion", virtualMachineCtx.VSphereVM.Spec.HardwareVersion)
493493
task, err := virtualMachineCtx.Obj.UpgradeVM(ctx, virtualMachineCtx.VSphereVM.Spec.HardwareVersion)
494494
if err != nil {
495-
return false, errors.Wrapf(err, "error trigging upgrade op for machine %s", ctx)
495+
return false, errors.Wrapf(err, "error trigging upgrade op for machine %s", virtualMachineCtx)
496496
}
497497
virtualMachineCtx.VSphereVM.Status.TaskRef = task.Reference().Value
498498
return false, nil
@@ -535,7 +535,7 @@ func (vms *VMService) reconcilePCIDevices(ctx context.Context, virtualMachineCtx
535535
}
536536
log.Info("PCI devices to be added", "number", len(specsToBeAdded))
537537
if err := virtualMachineCtx.Obj.AddDevice(ctx, pci.ConstructDeviceSpecs(specsToBeAdded)...); err != nil {
538-
return errors.Wrapf(err, "error adding pci devices for %q", ctx)
538+
return errors.Wrapf(err, "error adding pci devices for %q", virtualMachineCtx)
539539
}
540540
}
541541
return nil
@@ -550,7 +550,7 @@ func (vms *VMService) getMetadata(ctx context.Context, virtualMachineCtx *virtua
550550
)
551551

552552
if err := pc.RetrieveOne(ctx, virtualMachineCtx.Ref, props, &obj); err != nil {
553-
return "", errors.Wrapf(err, "unable to fetch props %v for vm %s", props, ctx)
553+
return "", errors.Wrapf(err, "unable to fetch props %v for vm %s", props, virtualMachineCtx)
554554
}
555555
if obj.Config == nil {
556556
return "", nil
@@ -571,7 +571,7 @@ func (vms *VMService) getMetadata(ctx context.Context, virtualMachineCtx *virtua
571571

572572
metadataBuf, err := base64.StdEncoding.DecodeString(metadataBase64)
573573
if err != nil {
574-
return "", errors.Wrapf(err, "unable to decode metadata for %s", ctx)
574+
return "", errors.Wrapf(err, "unable to decode metadata for %s", virtualMachineCtx)
575575
}
576576

577577
return string(metadataBuf), nil
@@ -599,7 +599,7 @@ func (vms *VMService) setMetadata(ctx context.Context, virtualMachineCtx *virtua
599599
ExtraConfig: extraConfig,
600600
})
601601
if err != nil {
602-
return "", errors.Wrapf(err, "unable to set metadata on vm %s", ctx)
602+
return "", errors.Wrapf(err, "unable to set metadata on vm %s", virtualMachineCtx)
603603
}
604604

605605
return task.Reference().Value, nil
@@ -641,7 +641,7 @@ func (vms *VMService) getBootstrapData(ctx context.Context, vmCtx *capvcontext.V
641641
Name: vmCtx.VSphereVM.Spec.BootstrapRef.Name,
642642
}
643643
if err := vmCtx.Client.Get(ctx, secretKey, secret); err != nil {
644-
return nil, "", errors.Wrapf(err, "failed to get bootstrap data secret for %s", ctx)
644+
return nil, "", errors.Wrapf(err, "failed to get bootstrap data secret for %s", vmCtx)
645645
}
646646

647647
format, ok := secret.Data["format"]

pkg/services/govmomi/util.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -194,11 +194,11 @@ func reconcileVSphereVMWhenNetworkIsReady(ctx context.Context, virtualMachineCtx
194194
// Wait for the VM to be powered on.
195195
powerOnTaskInfo, err := powerOnTask.WaitForResult(ctx)
196196
if err != nil && powerOnTaskInfo == nil {
197-
return nil, nil, errors.Wrapf(err, "failed to wait for power on op for vm %s", ctx)
197+
return nil, nil, errors.Wrapf(err, "failed to wait for power on op for vm %s", virtualMachineCtx)
198198
}
199199
powerState, err := virtualMachineCtx.Obj.PowerState(ctx)
200200
if err != nil {
201-
return nil, nil, errors.Wrapf(err, "failed to get power state for vm %s", ctx)
201+
return nil, nil, errors.Wrapf(err, "failed to get power state for vm %s", virtualMachineCtx)
202202
}
203203
if powerState != types.VirtualMachinePowerStatePoweredOn {
204204
return nil, nil, errors.Errorf(
@@ -208,7 +208,7 @@ func reconcileVSphereVMWhenNetworkIsReady(ctx context.Context, virtualMachineCtx
208208

209209
// Wait for all NICs to have valid MAC addresses.
210210
if err := waitForMacAddresses(ctx, virtualMachineCtx); err != nil {
211-
return nil, nil, errors.Wrapf(err, "failed to wait for mac addresses for vm %s", ctx)
211+
return nil, nil, errors.Wrapf(err, "failed to wait for mac addresses for vm %s", virtualMachineCtx)
212212
}
213213

214214
// Get all the MAC addresses. This is done separately from waiting
@@ -217,7 +217,7 @@ func reconcileVSphereVMWhenNetworkIsReady(ctx context.Context, virtualMachineCtx
217217
// specs, and not the propery change order.
218218
_, macToDeviceIndex, deviceToMacIndex, err := getMacAddresses(ctx, virtualMachineCtx)
219219
if err != nil {
220-
return nil, nil, errors.Wrapf(err, "failed to get mac addresses for vm %s", ctx)
220+
return nil, nil, errors.Wrapf(err, "failed to get mac addresses for vm %s", virtualMachineCtx)
221221
}
222222

223223
// Wait for the IP addresses to show up for the VM.

pkg/services/govmomi/vcenter/clone.go

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -120,17 +120,17 @@ func Clone(ctx context.Context, vmCtx *capvcontext.VMContext, bootstrapData []by
120120

121121
folder, err := vmCtx.Session.Finder.FolderOrDefault(ctx, vmCtx.VSphereVM.Spec.Folder)
122122
if err != nil {
123-
return errors.Wrapf(err, "unable to get folder for %q", ctx)
123+
return errors.Wrapf(err, "unable to get folder for %q", vmCtx)
124124
}
125125

126126
pool, err := vmCtx.Session.Finder.ResourcePoolOrDefault(ctx, vmCtx.VSphereVM.Spec.ResourcePool)
127127
if err != nil {
128-
return errors.Wrapf(err, "unable to get resource pool for %q", ctx)
128+
return errors.Wrapf(err, "unable to get resource pool for %q", vmCtx)
129129
}
130130

131131
devices, err := tpl.Device(ctx)
132132
if err != nil {
133-
return errors.Wrapf(err, "error getting devices for %q", ctx)
133+
return errors.Wrapf(err, "error getting devices for %q", vmCtx)
134134
}
135135

136136
// Create a new list of device specs for cloning the VM.
@@ -140,14 +140,14 @@ func Clone(ctx context.Context, vmCtx *capvcontext.VMContext, bootstrapData []by
140140
if snapshotRef == nil {
141141
diskSpecs, err := getDiskSpec(vmCtx, devices)
142142
if err != nil {
143-
return errors.Wrapf(err, "error getting disk spec for %q", ctx)
143+
return errors.Wrapf(err, "error getting disk spec for %q", vmCtx)
144144
}
145145
deviceSpecs = append(deviceSpecs, diskSpecs...)
146146
}
147147

148148
networkSpecs, err := getNetworkSpecs(ctx, vmCtx, devices)
149149
if err != nil {
150-
return errors.Wrapf(err, "error getting network specs for %q", ctx)
150+
return errors.Wrapf(err, "error getting network specs for %q", vmCtx)
151151
}
152152

153153
deviceSpecs = append(deviceSpecs, networkSpecs...)
@@ -207,7 +207,7 @@ func Clone(ctx context.Context, vmCtx *capvcontext.VMContext, bootstrapData []by
207207
if vmCtx.VSphereVM.Spec.Datastore != "" {
208208
datastore, err := vmCtx.Session.Finder.Datastore(ctx, vmCtx.VSphereVM.Spec.Datastore)
209209
if err != nil {
210-
return errors.Wrapf(err, "unable to get datastore %s for %q", vmCtx.VSphereVM.Spec.Datastore, ctx)
210+
return errors.Wrapf(err, "unable to get datastore %s for %q", vmCtx.VSphereVM.Spec.Datastore, vmCtx)
211211
}
212212
datastoreRef = types.NewReference(datastore.Reference())
213213
spec.Location.Datastore = datastoreRef
@@ -217,12 +217,12 @@ func Clone(ctx context.Context, vmCtx *capvcontext.VMContext, bootstrapData []by
217217
if vmCtx.VSphereVM.Spec.StoragePolicyName != "" {
218218
pbmClient, err := pbm.NewClient(ctx, vmCtx.Session.Client.Client)
219219
if err != nil {
220-
return errors.Wrapf(err, "unable to create pbm client for %q", ctx)
220+
return errors.Wrapf(err, "unable to create pbm client for %q", vmCtx)
221221
}
222222

223223
storageProfileID, err = pbmClient.ProfileIDByName(ctx, vmCtx.VSphereVM.Spec.StoragePolicyName)
224224
if err != nil {
225-
return errors.Wrapf(err, "unable to get storageProfileID from name %s for %q", vmCtx.VSphereVM.Spec.StoragePolicyName, ctx)
225+
return errors.Wrapf(err, "unable to get storageProfileID from name %s for %q", vmCtx.VSphereVM.Spec.StoragePolicyName, vmCtx)
226226
}
227227

228228
var hubs []pbmTypes.PbmPlacementHub
@@ -279,7 +279,7 @@ func Clone(ctx context.Context, vmCtx *capvcontext.VMContext, bootstrapData []by
279279
// if no datastore defined through VM spec or storage policy, use default
280280
datastore, err := vmCtx.Session.Finder.DefaultDatastore(ctx)
281281
if err != nil {
282-
return errors.Wrapf(err, "unable to get default datastore for %q", ctx)
282+
return errors.Wrapf(err, "unable to get default datastore for %q", vmCtx)
283283
}
284284
datastoreRef = types.NewReference(datastore.Reference())
285285
}
@@ -292,7 +292,7 @@ func Clone(ctx context.Context, vmCtx *capvcontext.VMContext, bootstrapData []by
292292
log.Info(fmt.Sprintf("Cloning Machine with clone mode %s", vmCtx.VSphereVM.Status.CloneMode))
293293
task, err := tpl.Clone(ctx, folder, vmCtx.VSphereVM.Name, spec)
294294
if err != nil {
295-
return errors.Wrapf(err, "error trigging clone op for machine %s", ctx)
295+
return errors.Wrapf(err, "error trigging clone op for machine %s", vmCtx)
296296
}
297297

298298
vmCtx.VSphereVM.Status.TaskRef = task.Reference().Value
@@ -415,11 +415,11 @@ func getNetworkSpecs(ctx context.Context, vmCtx *capvcontext.VMContext, devices
415415
}
416416
backing, err := ref.EthernetCardBackingInfo(ctx)
417417
if err != nil {
418-
return nil, errors.Wrapf(err, "unable to create new ethernet card backing info for network %q on %q", netSpec.NetworkName, ctx)
418+
return nil, errors.Wrapf(err, "unable to create new ethernet card backing info for network %q on %q", netSpec.NetworkName, vmCtx)
419419
}
420420
dev, err := object.EthernetCardTypes().CreateEthernetCard(ethCardType, backing)
421421
if err != nil {
422-
return nil, errors.Wrapf(err, "unable to create new ethernet card %q for network %q on %q", ethCardType, netSpec.NetworkName, ctx)
422+
return nil, errors.Wrapf(err, "unable to create new ethernet card %q for network %q on %q", ethCardType, netSpec.NetworkName, vmCtx)
423423
}
424424

425425
// Get the actual NIC object. This is safe to assert without a check

0 commit comments

Comments
 (0)