YanChii commented on issue #14481:
URL: https://github.com/apache/cloudstack/issues/14481#issuecomment-6359411608

   Hi.
   
   Some context that may help when fixing this:
   
   - The orphaned row only appears when DefaultVMSnapshotStrategy is excluded 
(vmSnapshot.strategies.exclude = 
StorageVMSnapshotStrategy,DefaultVMSnapshotStrategy). With the default strategy 
enabled, it can delete the Error row; that is also the current workaround 
(remove it from the exclude list, restart the management servers, delete, 
restore, restart again).
   - Cause: KvmFileBasedStorageVmSnapshotStrategy.canHandle(VMSnapshot) returns 
CANT_HANDLE for any snapshot that is no longer Allocated unless it has the 
kvmFileBasedStorageSnapshot detail, and that detail is only persisted after a 
successful create. So the strategy that created the row refuses its own failed 
row, and VMSnapshotManagerImpl.findVMSnapshotStrategy throws "Can't find 
Instance Snapshot strategy". deleteAllVMSnapshots propagates this, which is why 
destroyVirtualMachine fails.
   - Impact: the row also counts toward vmsnapshot.max, and any user can 
trigger it (quiescevm=true on a guest without a running agent).
   
   Jan


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to