Source:
protected void executeCommand() { switch (getDisk().getDiskStorageType()) { case IMAGE: if (getDisk().getContentType() == DiskContentType.MEMORY_DUMP_VOLUME || getDisk().getContentType() == DiskContentType.MEMORY_METADATA_VOLUME) { ActionReturnValue removeOtherMemoryDiskReturnValue = removeOtherMemoryDisk(); if (removeOtherMemoryDiskReturnValue != null && removeOtherMemoryDiskReturnValue.getSucceeded()) { getReturnValue().getVdsmTaskIdList().addAll(removeOtherMemoryDiskReturnValue.getInternalVdsmTaskIdList()); } } ActionReturnValue actionReturnValue = runInternalActionWithTasksContext(ActionType.RemoveImage, buildRemoveImageParameters(getDiskImage())); if (actionReturnValue.getSucceeded()) { if (getDisk().getContentType() == DiskContentType.MEMORY_DUMP_VOLUME || getDisk().getContentType() == DiskContentType.MEMORY_METADATA_VOLUME) { removeMemoryDiskFromSnapshotIfNeeded(); } incrementVmsGeneration(); getReturnValue().getVdsmTaskIdList().addAll(actionReturnValue.getInternalVdsmTaskIdList()); setSucceeded(true); } break; case LUN: removeLunDisk(); break; case CINDER: RemoveCinderDiskParameters params = new RemoveCinderDiskParameters(getParameters().getDiskId()); params.setEndProcedure(EndProcedure.COMMAND_MANAGED); Future<ActionReturnValue> future = commandCoordinatorUtil.executeAsyncCommand( ActionType.RemoveCinderDisk, params, cloneContextAndDetachFromParent()); try { setReturnValue(future.get()); setSucceeded(getReturnValue().getSucceeded()); } catch (InterruptedException | ExecutionException e) { log.error("Error removing managed block storage disk '{}': {}", getDiskImage().getDiskAlias(), e.getMessage()); log.debug("Exception", e); } break; case MANAGED_BLOCK_STORAGE: removeManagedBlockStorageDisk(); } }

Target:
protected void executeCommand() { switch (getDisk().getDiskStorageType()) { case IMAGE: if (getDisk().getContentType() == DiskContentType.MEMORY_DUMP_VOLUME || getDisk().getContentType() == DiskContentType.MEMORY_METADATA_VOLUME) { ActionReturnValue removeOtherMemoryDiskReturnValue = removeOtherMemoryDisk(); if (removeOtherMemoryDiskReturnValue != null && removeOtherMemoryDiskReturnValue.getSucceeded()) { getReturnValue().getVdsmTaskIdList().addAll(removeOtherMemoryDiskReturnValue.getInternalVdsmTaskIdList()); } } ActionReturnValue actionReturnValue = runInternalActionWithTasksContext(ActionType.RemoveImage, buildRemoveImageParameters(getDiskImage())); if (actionReturnValue.getSucceeded()) { if (getDisk().getContentType() == DiskContentType.MEMORY_DUMP_VOLUME || getDisk().getContentType() == DiskContentType.MEMORY_METADATA_VOLUME) { removeMemoryDiskFromSnapshotIfNeeded(); } incrementVmsGeneration(); getReturnValue().getVdsmTaskIdList().addAll(actionReturnValue.getInternalVdsmTaskIdList()); setSucceeded(true); } break; case LUN: removeLunDisk(); break; case CINDER: RemoveCinderDiskParameters params = new RemoveCinderDiskParameters(getParameters().getDiskId()); params.setEndProcedure(EndProcedure.COMMAND_MANAGED); Future<ActionReturnValue> future = commandCoordinatorUtil.executeAsyncCommand( ActionType.RemoveCinderDisk, params, cloneContextAndDetachFromParent()); try { setReturnValue(future.get()); setSucceeded(getReturnValue().getSucceeded()); } catch (InterruptedException | ExecutionException e) { log.error("Error removing Cinder disk '{}': {}", getDiskImage().getDiskAlias(), e.getMessage()); log.debug("Exception", e); } break; case MANAGED_BLOCK_STORAGE: removeManagedBlockStorageDisk(); } }