AsyncCallFuture<VolumeApiResult> future = volService.expungeVolumeAsync(volOnSecondary); VolumeApiResult result = future.get(); if (!result.isSuccess()) { s_logger.warn("Failed to expunge volume " + volume.getUuid() + " from the image store " + dataStore.getName() + " due to: " + result.getResult());
try { VolumeApiResult result = future.get(); if (result.isFailed()) { s_logger.debug("Failed to create volume from snapshot:" + result.getResult()); throw new CloudRuntimeException("Failed to create volume from snapshot:" + result.getResult()); return result.getVolume(); } catch (InterruptedException e) { s_logger.debug("Failed to create volume from snapshot", e);
templateOnPrimaryStoreObj.processEvent(Event.OperationFailed); VolumeApiResult result = new VolumeApiResult(volume); result.setResult(e.toString()); future.complete(result); } finally {
try { result = future.get(); if (result.isFailed()) { if (result.getResult().contains("request template reload") && (i == 0)) { s_logger.debug("Retry template re-deploy for vmware"); continue; } else { s_logger.debug("Unable to create " + newVol + ":" + result.getResult()); throw new StorageUnavailableException("Unable to create " + newVol + ":" + result.getResult(), destPool.getId());
public AsyncCallFuture<VolumeApiResult> expungeVolumeAsync(VolumeInfo volume) { AsyncCallFuture<VolumeApiResult> future = new AsyncCallFuture<VolumeApiResult>(); VolumeApiResult result = new VolumeApiResult(volume); if (volume.getDataStore() == null) { s_logger.info("Expunge volume with no data store specified");
if (result.isFailed()) { if (result.getResult().contains("request template reload") && (i == 0)) { s_logger.debug("Retry template re-deploy for vmware"); continue; } else { s_logger.debug("create volume failed: " + result.getResult()); throw new CloudRuntimeException("create volume failed:" + result.getResult()); return result.getVolume(); } catch (InterruptedException e) { s_logger.error("create volume failed", e);
VolumeApiResult res = new VolumeApiResult(vo); context.future.complete(res); return null; volDao.remove(vo.getId()); VolumeApiResult res = new VolumeApiResult(null); context.future.complete(res); return null;
VolumeApiResult createVolumeResult = createVolumeFuture.get(); if (createVolumeResult.isFailed()) { throw new CloudRuntimeException("Creation of a volume failed: " + createVolumeResult.getResult()); if (expungeVolumeResult.isFailed()) { errMsg += " : Failed to expunge a volume that was created"; VolumeApiResult result = new VolumeApiResult(volumeInfo); result.setResult(errMsg);
VolumeApiResult res = new VolumeApiResult(srcVolume); try { if (!snapshotMgr.canOperateOnVolume(srcVolume)) { s_logger.debug("There are snapshots creating on this volume, can not move this volume"); res.setResult("There are snapshots creating on this volume, can not move this volume"); future.complete(res); return future; s_logger.debug("Failed to copy volume.", e); res.setResult(e.toString()); future.complete(res);
DataObject tmplOnPrimary = context.templateOnStore; CopyCommandResult result = callback.getResult(); VolumeApiResult volResult = new VolumeApiResult((VolumeObject)vo); volResult.setResult(result.getResult());
CopyCommandResult result = callback.getResult(); AsyncCallFuture<VolumeApiResult> future = context.future; VolumeApiResult res = new VolumeApiResult(destVolume); try { if (result.isFailed()) { res.setResult(result.getResult()); destVolume.processEvent(Event.MigrationCopyFailed); srcVolume.processEvent(Event.OperationFailed); AsyncCallFuture<VolumeApiResult> destroyFuture = expungeVolumeAsync(srcVolume); if (destroyFuture.get().isFailed()) { Thread.sleep(5 * 1000); destroyFuture = expungeVolumeAsync(srcVolume); res.setResult(e.toString()); future.complete(res);
throw new CloudRuntimeException("Failed to copy volume", e1); if (cvResult == null || cvResult.isFailed()) { String errorString = "Failed to copy the volume from the source primary storage pool to secondary storage."; throw new CloudRuntimeException(errorString); VolumeInfo vol = cvResult.getVolume();
public Void deleteVolumeCallback(AsyncCallbackDispatcher<VolumeServiceImpl, CommandResult> callback, DeleteVolumeContext<VolumeApiResult> context) { CommandResult result = callback.getResult(); VolumeObject vo = context.getVolume(); VolumeApiResult apiResult = new VolumeApiResult(vo); try { if (result.isSuccess()) { apiResult.setResult(result.getResult());