diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StorageHandlingCommandBase.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StorageHandlingCommandBase.java index 8344c23aab4..fe8344074cc 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StorageHandlingCommandBase.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StorageHandlingCommandBase.java @@ -60,6 +60,7 @@ import org.ovirt.engine.core.common.errors.EngineException; import org.ovirt.engine.core.common.errors.EngineMessage; import org.ovirt.engine.core.common.queries.GetUnregisteredDisksQueryParameters; +import org.ovirt.engine.core.common.queries.QueryReturnValue; import org.ovirt.engine.core.common.queries.QueryType; import org.ovirt.engine.core.common.utils.Pair; import org.ovirt.engine.core.common.vdscommands.IrsBaseVDSCommandParameters; @@ -431,16 +432,23 @@ protected List getAllOVFDisks(Guid storageDomainId, Guid storagePoolI ovfDisks = new ArrayList<>(); // Get all unregistered disks. - List disksFromStorage = backend.runInternalQuery(QueryType.GetUnregisteredDisks, + QueryReturnValue queryReturnValue = backend.runInternalQuery(QueryType.GetUnregisteredDisks, new GetUnregisteredDisksQueryParameters(storageDomainId, - storagePoolId)).getReturnValue(); - if (disksFromStorage == null) { + storagePoolId)); + StorageDomain sd = storageDomainDao.get(storageDomainId); + if (sd.getStorageDomainType() == StorageDomainType.Data && !queryReturnValue.getSucceeded()) { log.error("An error occurred while fetching unregistered disks from Storage Domain id '{}'", storageDomainId); + throw new RuntimeException("Failed to retrieve unregistered disks"); + } + + List disksFromStorage = queryReturnValue.getReturnValue(); + if (disksFromStorage == null) { return ovfDisks; } else { castDiskImagesToUnregisteredDisks(disksFromStorage, storageDomainId); } + for (Disk disk : disksFromStorage) { DiskImage ovfStoreDisk = (DiskImage) disk; String diskDescription = ovfStoreDisk.getDescription();