use of org.ovirt.engine.core.common.queries.GetUnregisteredDisksQueryParameters in project ovirt-engine by oVirt.
the class StorageHandlingCommandBase method getAllOVFDisks.
protected List<DiskImage> getAllOVFDisks(Guid storageDomainId, Guid storagePoolId) {
// fetched yet.
if (ovfDisks == null) {
ovfDisks = new ArrayList<>();
// Get all unregistered disks.
List<DiskImage> disksFromStorage = backend.runInternalQuery(QueryType.GetUnregisteredDisks, new GetUnregisteredDisksQueryParameters(storageDomainId, storagePoolId)).getReturnValue();
if (disksFromStorage == null) {
log.error("An error occurred while fetching unregistered disks from Storage Domain id '{}'", storageDomainId);
return ovfDisks;
} else {
castDiskImagesToUnregisteredDisks(disksFromStorage, storageDomainId);
}
for (Disk disk : disksFromStorage) {
DiskImage ovfStoreDisk = (DiskImage) disk;
String diskDescription = ovfStoreDisk.getDescription();
if (ovfStoreDisk.isOvfStore() || diskDescription.contains(OvfInfoFileConstants.OvfStoreDescriptionLabel)) {
Map<String, Object> diskDescriptionMap;
try {
diskDescriptionMap = JsonHelper.jsonToMap(diskDescription);
} catch (IOException e) {
log.warn("Exception while generating json containing ovf store info: {}", e.getMessage());
log.debug("Exception", e);
continue;
}
// Domain.
if (!isDomainExistsInDiskDescription(diskDescriptionMap, storageDomainId)) {
log.warn("The disk description does not contain the storage domain id '{}'", storageDomainId);
continue;
}
ovfDisks.add(ovfStoreDisk);
}
}
}
return ovfDisks;
}
Aggregations