Search in sources :

Example 1 with UnregisteredDisk

use of org.ovirt.engine.core.common.businessentities.storage.UnregisteredDisk in project ovirt-engine by oVirt.

the class StorageRegisterDiskImageListModel method syncSearch.

@Override
protected void syncSearch() {
    if (getEntity() == null) {
        setItems(null);
        return;
    }
    IdQueryParameters parameters = new IdAndBooleanQueryParameters(getEntity().getId(), true);
    parameters.setRefresh(getIsQueryFirstTime());
    Frontend.getInstance().runQuery(QueryType.GetUnregisteredDisksFromDB, parameters, new AsyncQuery<QueryReturnValue>(returnValue -> {
        List<UnregisteredDisk> unregisteredDisks = returnValue.getReturnValue();
        Collections.sort(unregisteredDisks, Comparator.comparing(UnregisteredDisk::getDiskAlias));
        ArrayList<Disk> diskItems = new ArrayList<>();
        for (UnregisteredDisk unregisteredDisk : unregisteredDisks) {
            diskItems.add(unregisteredDisk.getDiskImage());
        }
        setItems(diskItems);
    }));
}
Also used : QueryType(org.ovirt.engine.core.common.queries.QueryType) QueryReturnValue(org.ovirt.engine.core.common.queries.QueryReturnValue) UICommand(org.ovirt.engine.ui.uicommonweb.UICommand) StorageDomain(org.ovirt.engine.core.common.businessentities.StorageDomain) HelpTag(org.ovirt.engine.ui.uicommonweb.help.HelpTag) StorageDomainStatus(org.ovirt.engine.core.common.businessentities.StorageDomainStatus) Disk(org.ovirt.engine.core.common.businessentities.storage.Disk) UnregisteredDisk(org.ovirt.engine.core.common.businessentities.storage.UnregisteredDisk) SearchableListModel(org.ovirt.engine.ui.uicommonweb.models.SearchableListModel) IdQueryParameters(org.ovirt.engine.core.common.queries.IdQueryParameters) ArrayList(java.util.ArrayList) Frontend(org.ovirt.engine.ui.frontend.Frontend) DiskModel(org.ovirt.engine.ui.uicommonweb.models.vms.DiskModel) List(java.util.List) ConstantsManager(org.ovirt.engine.ui.uicompat.ConstantsManager) IdAndBooleanQueryParameters(org.ovirt.engine.core.common.queries.IdAndBooleanQueryParameters) Comparator(java.util.Comparator) Collections(java.util.Collections) AsyncDataProvider(org.ovirt.engine.ui.uicommonweb.dataprovider.AsyncDataProvider) QueryReturnValue(org.ovirt.engine.core.common.queries.QueryReturnValue) UnregisteredDisk(org.ovirt.engine.core.common.businessentities.storage.UnregisteredDisk) IdQueryParameters(org.ovirt.engine.core.common.queries.IdQueryParameters) ArrayList(java.util.ArrayList) IdAndBooleanQueryParameters(org.ovirt.engine.core.common.queries.IdAndBooleanQueryParameters) ArrayList(java.util.ArrayList) List(java.util.List)

Example 2 with UnregisteredDisk

use of org.ovirt.engine.core.common.businessentities.storage.UnregisteredDisk in project ovirt-engine by oVirt.

the class ScanStorageForUnregisteredDisksCommand method initUnregisteredDisksToDB.

protected void initUnregisteredDisksToDB() {
    List<DiskImage> existingDisks = diskImageDao.getAllForStorageDomain(getParameters().getStorageDomainId());
    for (UnregisteredDisk unregisteredDisk : unregisteredDisks) {
        if (existingDisks.stream().anyMatch(diskImage -> diskImage.getId().equals(unregisteredDisk.getDiskImage().getId()))) {
            log.info("Disk {} with id '{}' already exists in the engine, therefore will not be " + "part of the unregistered disks.", unregisteredDisk.getDiskAlias(), unregisteredDisk.getDiskImage().getId());
            continue;
        }
        saveUnregisterDisk(unregisteredDisk);
        log.info("Adding unregistered disk of disk id '{}' and disk alias '{}'", unregisteredDisk.getDiskImage().getId(), unregisteredDisk.getDiskAlias());
    }
}
Also used : UnregisteredDisk(org.ovirt.engine.core.common.businessentities.storage.UnregisteredDisk) DiskImage(org.ovirt.engine.core.common.businessentities.storage.DiskImage)

Example 3 with UnregisteredDisk

use of org.ovirt.engine.core.common.businessentities.storage.UnregisteredDisk in project ovirt-engine by oVirt.

the class OvfUtils method updateUnregisteredDisksWithVMs.

public void updateUnregisteredDisksWithVMs(List<UnregisteredDisk> unregisteredDisks, Guid entityId, String vmName, XmlDocument xmlDocument) {
    for (Guid diskId : fetchVmDisks(xmlDocument)) {
        UnregisteredDisk unregisterDisk = unregisteredDisks.stream().filter(unregrDisk -> diskId.equals(unregrDisk.getDiskId())).findAny().orElse(null);
        VmBase vm = new VmBase();
        vm.setId(entityId);
        vm.setName(vmName);
        if (unregisterDisk != null) {
            unregisterDisk.getVms().add(vm);
        }
    }
}
Also used : UnregisteredDisk(org.ovirt.engine.core.common.businessentities.storage.UnregisteredDisk) VmBase(org.ovirt.engine.core.common.businessentities.VmBase) Guid(org.ovirt.engine.core.compat.Guid)

Example 4 with UnregisteredDisk

use of org.ovirt.engine.core.common.businessentities.storage.UnregisteredDisk in project ovirt-engine by oVirt.

the class StorageHandlingCommandBase method castDiskImagesToUnregisteredDisks.

protected void castDiskImagesToUnregisteredDisks(List<DiskImage> disksFromStorage, Guid storageDomainId) {
    for (DiskImage disk : disksFromStorage) {
        disk.getStorageIds().set(0, storageDomainId);
        UnregisteredDisk unregisteredDisk = new UnregisteredDisk(disk);
        unregisteredDisks.add(unregisteredDisk);
    }
}
Also used : UnregisteredDisk(org.ovirt.engine.core.common.businessentities.storage.UnregisteredDisk) DiskImage(org.ovirt.engine.core.common.businessentities.storage.DiskImage)

Example 5 with UnregisteredDisk

use of org.ovirt.engine.core.common.businessentities.storage.UnregisteredDisk in project ovirt-engine by oVirt.

the class UnregisteredDisksDaoTest method testSaveDiskWithAliasAndDescription.

@Test
public void testSaveDiskWithAliasAndDescription() {
    ArrayList<VmBase> vms = new ArrayList<>();
    UnregisteredDisk unregisteredDisk = initUnregisteredDisks(vms);
    dao.saveUnregisteredDisk(unregisteredDisk);
    List<UnregisteredDisk> fetchedUnregisteredDisk = dao.getByDiskIdAndStorageDomainId(unregisteredDisk.getDiskId(), FixturesTool.STORAGE_DOMAIN_NFS2_1);
    assertTrue("Disk should exists in the UnregisteredDisks table", !fetchedUnregisteredDisk.isEmpty());
    assertTrue("Disk should not have multiple vms attached", fetchedUnregisteredDisk.get(0).getVms().isEmpty());
    assertEquals("Disk alias should be the same as initialized", "Disk Alias", fetchedUnregisteredDisk.get(0).getDiskAlias());
    assertEquals("Disk description should be the same as initialized", "Disk Description", fetchedUnregisteredDisk.get(0).getDiskDescription());
    assertEquals("Storage Domain id should be the same as initialized", 0, fetchedUnregisteredDisk.get(0).getStorageDomainId().compareTo(FixturesTool.STORAGE_DOMAIN_NFS2_1));
}
Also used : UnregisteredDisk(org.ovirt.engine.core.common.businessentities.storage.UnregisteredDisk) VmBase(org.ovirt.engine.core.common.businessentities.VmBase) ArrayList(java.util.ArrayList) Test(org.junit.Test)

Aggregations

UnregisteredDisk (org.ovirt.engine.core.common.businessentities.storage.UnregisteredDisk)14 ArrayList (java.util.ArrayList)7 DiskImage (org.ovirt.engine.core.common.businessentities.storage.DiskImage)6 VmBase (org.ovirt.engine.core.common.businessentities.VmBase)5 UnregisteredDiskId (org.ovirt.engine.core.common.businessentities.storage.UnregisteredDiskId)5 Test (org.junit.Test)4 Guid (org.ovirt.engine.core.compat.Guid)2 XmlDocument (org.ovirt.engine.core.utils.ovf.xml.XmlDocument)2 Collections (java.util.Collections)1 Comparator (java.util.Comparator)1 List (java.util.List)1 StorageDomain (org.ovirt.engine.core.common.businessentities.StorageDomain)1 StorageDomainStatus (org.ovirt.engine.core.common.businessentities.StorageDomainStatus)1 Disk (org.ovirt.engine.core.common.businessentities.storage.Disk)1 IdAndBooleanQueryParameters (org.ovirt.engine.core.common.queries.IdAndBooleanQueryParameters)1 IdQueryParameters (org.ovirt.engine.core.common.queries.IdQueryParameters)1 QueryReturnValue (org.ovirt.engine.core.common.queries.QueryReturnValue)1 QueryType (org.ovirt.engine.core.common.queries.QueryType)1 Frontend (org.ovirt.engine.ui.frontend.Frontend)1 UICommand (org.ovirt.engine.ui.uicommonweb.UICommand)1