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
List snapshot resources:kubectl get virtualmachinesnapshots -n <namespace>
Identify snapshots associated with affected VMs (for example, restored VMs)
Verify that no corresponding snapshots exist in vCenter
Delete the stale snapshot resources:kubectl delete virtualmachinesnapshot <snapshot-name> -n <namespace>