[BugFix:
support to delete exported image from ceph bs.
@@ -1624,6 +1624,8 @@ public class CephBackupStorageBase extends BackupStorageBase {
handle((APIRemoveMonFromCephBackupStorageMsg) msg);
} else if (msg instanceof APIExportImageFromBackupStorageMsg) {
handle((APIExportImageFromBackupStorageMsg) msg);
+ } else if (msg instanceof APIDeleteExportedImageFromBackupStorageMsg) {
+ handle((APIDeleteExportedImageFromBackupStorageMsg) msg);
} else {
super.handleApiMessage(msg);
}
@@ -1643,6 +1645,15 @@ public class CephBackupStorageBase extends BackupStorageBase {
}
}
+ private void handle(APIDeleteExportedImageFromBackupStorageMsg msg) {
+ SQL.New(ImageBackupStorageRefVO.class).set(ImageBackupStorageRefVO_.exportUrl, null)
+ .eq(ImageBackupStorageRefVO_.backupStorageUuid, msg.getBackupStorageUuid())
+ .eq(ImageBackupStorageRefVO_.imageUuid, msg.getImageUuid())
+ .update();
+
+ bus.publish(new APIDeleteExportedImageFromBackupStorageEvent(msg.getId()));
+ }
+
private void handle(APIExportImageFromBackupStorageMsg msg) {
APIExportImageFromBackupStorageEvent event = exportImage(msg);
bus.publish(event);
