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]
