VirtualMachineSnapshot Reconciler Error: "Failed to get snapshot size: no snapshots for this VM" After VADP Restore
search cancel

VirtualMachineSnapshot Reconciler Error: "Failed to get snapshot size: no snapshots for this VM" After VADP Restore

book

Article ID: 427810

calendar_today

Updated On:

Products

VMware Cloud Foundation

Issue/Introduction

  • In environments using the Supervisor Cluster, users may observe repeated error messages in vm-operator logs similar to the following:
    • kubectl logs -n vmware-system-vmop vmware-system-vmop-controller-manager-<POD_ID> -c manager | less
      • "Reconciler error" err="failed to get snapshot size: failed to find snapshot \"snapshot-<vm-id>-<id>\": no snapshots for this VM" logger="virtualmachinesnapshot-controller" VirtualMachineSnapshot="<namespace>/snapshot-<vm-id>-<id>"
  • This issue is typically observed after performing a VADP-based backup and restore workflow on virtual machines where snapshots were previously created.
  • Even though the virtual machines are successfully restored and operational, the system continues to generate reconciliation errors related to snapshot resources.

Environment

VMware Cloud Foundation 9.1

Cause

This behavior occurs due to a state mismatch between vCenter and the Supervisor cluster:

  • During the backup process, VM snapshots are created and corresponding VirtualMachineSnapshot are registered in the Supervisor cluster
  • When a VADP restore is performed:
    • The virtual machines are restored successfully
    • Snapshots are not restored by design and therefore no longer exist in vCenter
  • However, the associated VirtualMachineSnapshot custom resources are not automatically deleted
  • These stale resources still indicate that snapshots exist (VirtualMachineSnapshotCreated=true)
  • The vm-operator attempts to reconcile these objects and calculate snapshot size
  • Since no snapshots exist in vCenter, the reconciliation fails and logs the error

Resolution

  • This issue does not impact VM functionality and is limited to log noise. To resolve the errors, stale VirtualMachineSnapshot resources must be manually cleaned up.

Steps to Clean Up Stale Snapshot Resources

    1. List snapshot resources:kubectl get virtualmachinesnapshots -n <namespace>
    2. Identify snapshots associated with affected VMs (for example, restored VMs)
    3. Verify that no corresponding snapshots exist in vCenter
    4. Delete the stale snapshot resources:kubectl delete virtualmachinesnapshot <snapshot-name> -n <namespace>