Skip to content

Commit 5d5ee7b

Browse files
abh1sarDaan Hoogland
authored andcommitted
volume download fix
1 parent 4855d40 commit 5d5ee7b

1 file changed

Lines changed: 10 additions & 7 deletions

File tree

engine/storage/src/main/java/org/apache/cloudstack/storage/image/BaseImageStoreDriverImpl.java

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -286,19 +286,22 @@ protected Void createTemplateAsyncCallback(AsyncCallbackDispatcher<? extends Bas
286286
updateBuilder.setJobId(answer.getJobId());
287287
updateBuilder.setLocalDownloadPath(answer.getDownloadPath());
288288
updateBuilder.setInstallPath(answer.getInstallPath());
289-
updateBuilder.setSize(answer.getTemplateSize());
290-
updateBuilder.setPhysicalSize(answer.getTemplatePhySicalSize());
289+
if (!VMTemplateStorageResourceAssoc.ERROR_DOWNLOAD_STATES.contains(answer.getDownloadStatus())) {
290+
updateBuilder.setSize(answer.getTemplateSize());
291+
updateBuilder.setPhysicalSize(answer.getTemplatePhySicalSize());
292+
}
291293
_volumeStoreDao.update(volStoreVO.getId(), updateBuilder);
292294
// update size in volume table
293-
VolumeVO volUpdater = volumeDao.createForUpdate();
294-
volUpdater.setSize(answer.getTemplateSize());
295-
volumeDao.update(obj.getId(), volUpdater);
295+
if (!VMTemplateStorageResourceAssoc.ERROR_DOWNLOAD_STATES.contains(answer.getDownloadStatus())) {
296+
VolumeVO volUpdater = volumeDao.createForUpdate();
297+
volUpdater.setSize(answer.getTemplateSize());
298+
volumeDao.update(obj.getId(), volUpdater);
299+
}
296300
}
297301

298302
AsyncCompletionCallback<CreateCmdResult> caller = context.getParentCallback();
299303

300-
if (answer.getDownloadStatus() == VMTemplateStorageResourceAssoc.Status.DOWNLOAD_ERROR ||
301-
answer.getDownloadStatus() == VMTemplateStorageResourceAssoc.Status.ABANDONED || answer.getDownloadStatus() == VMTemplateStorageResourceAssoc.Status.UNKNOWN) {
304+
if (VMTemplateStorageResourceAssoc.ERROR_DOWNLOAD_STATES.contains(answer.getDownloadStatus())) {
302305
CreateCmdResult result = new CreateCmdResult(null, null);
303306
result.setSuccess(false);
304307
result.setResult(answer.getErrorString());

0 commit comments

Comments
 (0)