Search in sources :

Example 1 with Disk

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

the class DisksViewColumns method getQoutaColumn.

public static AbstractTextColumn<Disk> getQoutaColumn(String sortBy) {
    AbstractTextColumn<Disk> column = new AbstractTextColumn<Disk>() {

        @Override
        public String getValue(Disk object) {
            String value = "";
            if (object.getDiskStorageType() == DiskStorageType.IMAGE) {
                DiskImage diskImage = (DiskImage) object;
                List<String> quotaNamesArr = diskImage.getQuotaNames();
                if (quotaNamesArr != null) {
                    // $NON-NLS-1$
                    value = String.join(", ", quotaNamesArr);
                }
            }
            return value;
        }
    };
    return makeSortable(column, sortBy);
}
Also used : AbstractTextColumn(org.ovirt.engine.ui.common.widget.table.column.AbstractTextColumn) LunDisk(org.ovirt.engine.core.common.businessentities.storage.LunDisk) Disk(org.ovirt.engine.core.common.businessentities.storage.Disk) DiskImage(org.ovirt.engine.core.common.businessentities.storage.DiskImage)

Example 2 with Disk

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

the class VmListModel method initRemoveDisksChecboxesPost.

private void initRemoveDisksChecboxesPost(Guid vmId, List<Disk> disks) {
    EntityModel model = vmsRemoveMap.get(vmId);
    if (disks.isEmpty()) {
        updateRemoveDisksCheckBox(model, false, false, ConstantsManager.getInstance().getConstants().removeVmDisksNoDisksMsg());
        return;
    }
    boolean isOnlySharedDisks = true;
    boolean isSnapshotExists = false;
    for (Disk disk : disks) {
        if (!disk.isShareable()) {
            isOnlySharedDisks = false;
            if (disk.getDiskStorageType() == DiskStorageType.IMAGE) {
                if (((DiskImage) disk).getSnapshots().size() > 1) {
                    isSnapshotExists = true;
                    break;
                }
            }
        }
    }
    if (isSnapshotExists) {
        updateRemoveDisksCheckBox(model, true, false, ConstantsManager.getInstance().getConstants().removeVmDisksSnapshotsMsg());
        return;
    }
    if (isOnlySharedDisks) {
        updateRemoveDisksCheckBox(model, false, false, ConstantsManager.getInstance().getConstants().removeVmDisksAllSharedMsg());
        return;
    }
}
Also used : EntityModel(org.ovirt.engine.ui.uicommonweb.models.EntityModel) Disk(org.ovirt.engine.core.common.businessentities.storage.Disk) DiskImage(org.ovirt.engine.core.common.businessentities.storage.DiskImage)

Example 3 with Disk

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

the class VmListModel method initRemoveDisksCheckboxes.

private void initRemoveDisksCheckboxes(final Map<Guid, EntityModel> vmsMap) {
    ArrayList<QueryParametersBase> params = new ArrayList<>();
    ArrayList<QueryType> queries = new ArrayList<>();
    for (Entry<Guid, EntityModel> entry : vmsMap.entrySet()) {
        if (entry.getValue().getIsChangable()) {
            // No point in fetching VM disks from ones that already determined
            // is unchangeable since they are already initialized
            params.add(new IdQueryParameters(entry.getKey()));
            queries.add(QueryType.GetAllDisksByVmId);
        }
    }
    // revise when refactoring org.ovirt.engine.ui.Frontend to support runMultipleQuery with a single query
    if (!params.isEmpty()) {
        Frontend.getInstance().runMultipleQueries(queries, params, result -> {
            for (int i = 0; i < result.getReturnValues().size(); i++) {
                if (result.getReturnValues().get(i).getSucceeded()) {
                    Guid vmId = ((IdQueryParameters) result.getParameters().get(i)).getId();
                    initRemoveDisksChecboxesPost(vmId, (List<Disk>) result.getReturnValues().get(i).getReturnValue());
                }
            }
        });
    }
}
Also used : IdQueryParameters(org.ovirt.engine.core.common.queries.IdQueryParameters) ArrayList(java.util.ArrayList) EntityModel(org.ovirt.engine.ui.uicommonweb.models.EntityModel) QueryParametersBase(org.ovirt.engine.core.common.queries.QueryParametersBase) Guid(org.ovirt.engine.core.compat.Guid) QueryType(org.ovirt.engine.core.common.queries.QueryType) Disk(org.ovirt.engine.core.common.businessentities.storage.Disk)

Example 4 with Disk

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

the class ImportVmCommand method getQuotaStorageConsumptionParameters.

@Override
public List<QuotaConsumptionParameter> getQuotaStorageConsumptionParameters() {
    List<QuotaConsumptionParameter> list = new ArrayList<>();
    for (Disk disk : getParameters().getVm().getDiskMap().values()) {
        // TODO: handle import more than once;
        if (disk instanceof DiskImage) {
            DiskImage diskImage = (DiskImage) disk;
            list.add(new QuotaStorageConsumptionParameter(diskImage.getQuotaId(), null, QuotaConsumptionParameter.QuotaAction.CONSUME, imageToDestinationDomainMap.get(diskImage.getId()), (double) diskImage.getSizeInGigabytes()));
        }
    }
    return list;
}
Also used : QuotaStorageConsumptionParameter(org.ovirt.engine.core.bll.quota.QuotaStorageConsumptionParameter) ArrayList(java.util.ArrayList) QuotaConsumptionParameter(org.ovirt.engine.core.bll.quota.QuotaConsumptionParameter) Disk(org.ovirt.engine.core.common.businessentities.storage.Disk) LunDisk(org.ovirt.engine.core.common.businessentities.storage.LunDisk) DiskImage(org.ovirt.engine.core.common.businessentities.storage.DiskImage)

Example 5 with Disk

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

the class GetStorageDomainsByVmTemplateIdQuery method executeQueryCommand.

@Override
protected void executeQueryCommand() {
    vmTemplate = vmTemplateDao.get(getParameters().getId(), getUserID(), getParameters().isFiltered());
    ArrayList<StorageDomain> result = new ArrayList<>();
    if (vmTemplate != null && vmTemplate.getStoragePoolId() != null) {
        List<Disk> templateDisks = getTemplateDisks();
        if (templateDisks.size() > 0) {
            Set<Guid> domains = new HashSet<>();
            for (Disk templateDisk : templateDisks) {
                domains.addAll(((DiskImage) templateDisk).getStorageIds());
            }
            for (Guid domainId : domains) {
                StorageDomain domain = getStorageDomain(domainId);
                if (domain != null) {
                    result.add(domain);
                }
            }
        }
    }
    getQueryReturnValue().setReturnValue(result);
}
Also used : StorageDomain(org.ovirt.engine.core.common.businessentities.StorageDomain) ArrayList(java.util.ArrayList) Guid(org.ovirt.engine.core.compat.Guid) Disk(org.ovirt.engine.core.common.businessentities.storage.Disk) HashSet(java.util.HashSet)

Aggregations

Disk (org.ovirt.engine.core.common.businessentities.storage.Disk)152 DiskImage (org.ovirt.engine.core.common.businessentities.storage.DiskImage)82 ArrayList (java.util.ArrayList)56 CinderDisk (org.ovirt.engine.core.common.businessentities.storage.CinderDisk)47 Guid (org.ovirt.engine.core.compat.Guid)45 VM (org.ovirt.engine.core.common.businessentities.VM)36 LunDisk (org.ovirt.engine.core.common.businessentities.storage.LunDisk)35 Test (org.junit.Test)29 HashMap (java.util.HashMap)26 List (java.util.List)26 DiskVmElement (org.ovirt.engine.core.common.businessentities.storage.DiskVmElement)25 Map (java.util.Map)24 StorageDomain (org.ovirt.engine.core.common.businessentities.StorageDomain)18 Collectors (java.util.stream.Collectors)16 ActionParametersBase (org.ovirt.engine.core.common.action.ActionParametersBase)15 VmDeviceId (org.ovirt.engine.core.common.businessentities.VmDeviceId)15 Collection (java.util.Collection)14 Collections (java.util.Collections)14 Set (java.util.Set)14 VmDevice (org.ovirt.engine.core.common.businessentities.VmDevice)14