Search in sources :

Example 1 with GetUnregisteredDisksQueryParameters

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;
}
Also used : GetUnregisteredDisksQueryParameters(org.ovirt.engine.core.common.queries.GetUnregisteredDisksQueryParameters) IOException(java.io.IOException) DiskImage(org.ovirt.engine.core.common.businessentities.storage.DiskImage) Disk(org.ovirt.engine.core.common.businessentities.storage.Disk) UnregisteredDisk(org.ovirt.engine.core.common.businessentities.storage.UnregisteredDisk)

Aggregations

IOException (java.io.IOException)1 Disk (org.ovirt.engine.core.common.businessentities.storage.Disk)1 DiskImage (org.ovirt.engine.core.common.businessentities.storage.DiskImage)1 UnregisteredDisk (org.ovirt.engine.core.common.businessentities.storage.UnregisteredDisk)1 GetUnregisteredDisksQueryParameters (org.ovirt.engine.core.common.queries.GetUnregisteredDisksQueryParameters)1