Skip to content

Commit

Permalink
core: perform cleanup for failure during clone LSM phase
Browse files Browse the repository at this point in the history
In case of Live Storage Migration failure during
"LiveDiskMigrateStage.CLONE_IMAGE_STRUCTURE" the "removeImage()"
cleanup was skipped. It should be performed in order to free
the already allocated space on the target Storage Domain.

Signed-off-by: Pavel Bar <pbar@redhat.com>
Bug-Url: https://bugzilla.redhat.com/2102149
  • Loading branch information
barpavel committed Aug 3, 2022
1 parent a99a42c commit 0612c36
Showing 1 changed file with 13 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -745,9 +745,12 @@ private String getDiskIsBeingMigratedMessage(Disk disk) {
}

private void cleanupDestDiskAfterFailure() {
if (getParameters().getLiveDiskMigrateStage() != LiveDiskMigrateStage.CREATE_SNAPSHOT &&
getParameters().getLiveDiskMigrateStage() != LiveDiskMigrateStage.CLONE_IMAGE_STRUCTURE &&
getParameters().getLiveDiskMigrateStage() != LiveDiskMigrateStage.SOURCE_IMAGE_DELETION) {
if (getParameters().getLiveDiskMigrateStage() == LiveDiskMigrateStage.CREATE_SNAPSHOT ||
getParameters().getLiveDiskMigrateStage() == LiveDiskMigrateStage.SOURCE_IMAGE_DELETION) {
return;
}

if (getParameters().getLiveDiskMigrateStage() != LiveDiskMigrateStage.CLONE_IMAGE_STRUCTURE) {
if (Guid.Empty.equals(getParameters().getVdsId())) {
log.error("Failed during live storage migration of disk '{}' of vm '{}', as the vm is not running" +
" on any host not attempting to end the replication before the target disk deletion",
Expand All @@ -770,14 +773,14 @@ private void cleanupDestDiskAfterFailure() {
}
}
}

log.error("Attempting to delete the target of disk '{}' of vm '{}'",
getParameters().getImageGroupID(), getParameters().getVmId());
removeImage(getParameters().getTargetStorageDomainId(),
getParameters().getImageGroupID(),
getParameters().getDestinationImageId(),
AuditLogType.USER_MOVE_IMAGE_GROUP_FAILED_TO_DELETE_DST_IMAGE);
}

log.error("Attempting to delete the target of disk '{}' of vm '{}'",
getParameters().getImageGroupID(), getParameters().getVmId());
removeImage(getParameters().getTargetStorageDomainId(),
getParameters().getImageGroupID(),
getParameters().getDestinationImageId(),
AuditLogType.USER_MOVE_IMAGE_GROUP_FAILED_TO_DELETE_DST_IMAGE);
}

@Override
Expand Down

0 comments on commit 0612c36

Please sign in to comment.