Search in sources :

Example 26 with Disk

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

the class ImportVmFromOvaModel method buildImportVmFromOvaParameters.

private List<ActionParametersBase> buildImportVmFromOvaParameters() {
    ImportVmData importVmData = (ImportVmData) getItems().iterator().next();
    VM vm = importVmData.getVm();
    ImportVmFromOvaParameters prm = new ImportVmFromOvaParameters(vm, getStorage().getSelectedItem().getId(), getStoragePool().getId(), getCluster().getSelectedItem().getId());
    prm.setOvaPath(ovaPath);
    prm.setProxyHostId(hostId);
    prm.setVirtioIsoName(getIso().getIsChangable() && getIso().getSelectedItem() != null ? getIso().getSelectedItem().getRepoImageId() : null);
    prm.setExternalName(importVmData.getName());
    if (getClusterQuota().getSelectedItem() != null && getClusterQuota().getIsAvailable()) {
        prm.setQuotaId(getClusterQuota().getSelectedItem().getId());
    }
    CpuProfile cpuProfile = getCpuProfiles().getSelectedItem();
    if (cpuProfile != null) {
        prm.setCpuProfileId(cpuProfile.getId());
    }
    prm.setForceOverride(true);
    prm.setCopyCollapse(importVmData.getCollapseSnapshots().getEntity());
    for (Map.Entry<Guid, Disk> entry : vm.getDiskMap().entrySet()) {
        DiskImage disk = (DiskImage) entry.getValue();
        ImportDiskData importDiskData = getDiskImportData(disk.getDiskAlias());
        disk.setVolumeType(getAllocation().getSelectedItem());
        disk.setVolumeFormat(AsyncDataProvider.getInstance().getDiskVolumeFormat(disk.getVolumeType(), getStorage().getSelectedItem().getStorageType()));
        if (getDiskImportData(disk.getDiskAlias()).getSelectedQuota() != null) {
            disk.setQuotaId(importDiskData.getSelectedQuota().getId());
        }
    }
    updateNetworkInterfacesForVm(vm);
    if (importVmData.isExistsInSystem() || importVmData.getClone().getEntity()) {
        prm.setImportAsNewEntity(true);
        prm.setCopyCollapse(true);
    }
    return Collections.singletonList(prm);
}
Also used : VM(org.ovirt.engine.core.common.businessentities.VM) CpuProfile(org.ovirt.engine.core.common.businessentities.profiles.CpuProfile) ImportVmFromOvaParameters(org.ovirt.engine.core.common.action.ImportVmFromOvaParameters) Guid(org.ovirt.engine.core.compat.Guid) Map(java.util.Map) Disk(org.ovirt.engine.core.common.businessentities.storage.Disk) DiskImage(org.ovirt.engine.core.common.businessentities.storage.DiskImage)

Example 27 with Disk

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

the class InstanceImageLineModel method updateName.

private void updateName(DiskModel diskModel) {
    Disk disk = diskModel.getDisk();
    if (disk == null) {
        return;
    }
    String diskName = disk.getDiskAlias();
    String size = Long.toString(disk.getSize());
    if (disk.getDiskStorageType() == DiskStorageType.IMAGE || disk.getDiskStorageType() == DiskStorageType.CINDER) {
        size = Long.toString(((DiskImage) disk).getSizeInGigabytes());
    }
    String type;
    if (diskExists) {
        type = constants.existingDisk();
    } else if (getDiskModel().getEntity() instanceof InstanceImagesAttachDiskModel) {
        type = constants.attachingDisk();
    } else {
        type = constants.creatingDisk();
    }
    name.setEntity(messages.vmDialogDisk(diskName, size, type, diskModel.getIsBootable().getEntity() ? constants.bootDisk() : ""));
}
Also used : Disk(org.ovirt.engine.core.common.businessentities.storage.Disk) DiskImage(org.ovirt.engine.core.common.businessentities.storage.DiskImage)

Example 28 with Disk

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

the class InstanceImageLineModel method attachDisk.

public void attachDisk() {
    if (parentModel.getUnitVmModel().getSelectedCluster() == null || parentModel.getUnitVmModel().getSelectedDataCenter() == null) {
        return;
    }
    InstanceImagesAttachDiskModel model = new InstanceImagesAttachDiskModel() {

        @Override
        public void onSave() {
            if (validate()) {
                flush();
                List<EntityModel<DiskModel>> selectedDisks = getSelectedDisks();
                if (selectedDisks.size() == 1) {
                    // only 0 or 1 is allowed
                    setDisk(selectedDisks.iterator().next().getEntity().getDisk());
                }
                getDiskModel().setEntity(this);
                InstanceImageLineModel.this.setChanged(true);
                setDiskModel(null);
                // from now on only editing is possible
                attachCommand.setIsAvailable(false);
                fillData();
            }
        }

        @Override
        public void updateInterface(Version clusterVersion) {
            InstanceImageLineModel.this.updateInterface(clusterVersion, this);
        }

        @Override
        protected void updateBootableDiskAvailable() {
            updateBootableFrom(parentModel.getAllCurrentDisksModels());
        }

        @Override
        protected List<Disk> getAttachedNotSubmittedDisks() {
            return parentModel.getNotYetAttachedNotAttachableDisks();
        }
    };
    VM realOrFakeVm = vm;
    Version compatibilityVersion = parentModel.getUnitVmModel().getSelectedCluster().getCompatibilityVersion();
    if (realOrFakeVm == null) {
        realOrFakeVm = new VM();
        realOrFakeVm.setId(null);
        realOrFakeVm.setClusterId(parentModel.getUnitVmModel().getSelectedCluster().getId());
        realOrFakeVm.setStoragePoolId(parentModel.getUnitVmModel().getSelectedDataCenter().getId());
        realOrFakeVm.setClusterCompatibilityVersion(compatibilityVersion);
    }
    model.setVm(realOrFakeVm);
    setupModelAsDialog(model, ConstantsManager.getInstance().getConstants().attachVirtualDiskTitle(), HelpTag.attach_virtual_disk, // $NON-NLS-1$
    "attach_virtual_disk");
    setDiskModel(model);
    model.initialize(parentModel.getAllCurrentDisksModels());
    maybeLoadAttachableDisks(model);
}
Also used : Version(org.ovirt.engine.core.compat.Version) VM(org.ovirt.engine.core.common.businessentities.VM) EntityModel(org.ovirt.engine.ui.uicommonweb.models.EntityModel) Disk(org.ovirt.engine.core.common.businessentities.storage.Disk)

Example 29 with Disk

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

the class InstanceImageLineModel method showNewDialog.

private void showNewDialog() {
    final AbstractDiskModel model = new NewDiskModel() {

        @Override
        public void onSave() {
            if (validate()) {
                flush();
                getDiskModel().setEntity(this);
                InstanceImageLineModel.this.setChanged(true);
                setDiskModel(null);
                // the "new" turns into "edit" - no need for attach anymore
                attachCommand.setIsAvailable(false);
                fillData();
                Disk disk = super.getDisk();
                if (disk.getDiskStorageType() == DiskStorageType.IMAGE || disk.getDiskStorageType() == DiskStorageType.CINDER) {
                    ((DiskImage) disk).setActive(true);
                }
            }
        }

        @Override
        public void updateInterface(Version clusterVersion) {
            InstanceImageLineModel.this.updateInterface(clusterVersion, this);
        }

        @Override
        protected void updateBootableDiskAvailable() {
            updateBootableFrom(parentModel.getAllCurrentDisksModels());
        }
    };
    VM vm = new VM();
    vm.setClusterId(parentModel.getUnitVmModel().getSelectedCluster().getId());
    vm.setStoragePoolId(parentModel.getUnitVmModel().getSelectedDataCenter().getId());
    vm.setClusterCompatibilityVersion(parentModel.getUnitVmModel().getSelectedCluster().getCompatibilityVersion());
    Quota selectedQuota = parentModel.getUnitVmModel().getQuota().getSelectedItem();
    vm.setQuotaId(selectedQuota == null ? null : selectedQuota.getId());
    model.setVm(vm);
    model.getSizeExtend().setIsAvailable(false);
    setupModelAsDialog(model, ConstantsManager.getInstance().getConstants().newVirtualDiskTitle(), HelpTag.new_virtual_disk, // $NON-NLS-1$
    "new_virtual_disk");
    setDiskModel(model);
    model.initialize(parentModel.getAllCurrentDisksModels());
    if (model.getIsBootable().getIsChangable()) {
        model.getIsBootable().setEntity(true);
    }
    if (getVm() != null) {
        model.setVm(getVm());
        ((NewDiskModel) model).updateSuggestedDiskAliasFromServer();
    } else {
        String currentVmName = parentModel.getUnitVmModel().getName().getEntity();
        if (StringHelper.isNotNullOrEmpty(currentVmName)) {
            // if already set the VM name on the new VM dialog, suggest the name according to the name
            model.getAlias().setEntity(suggestAliasForNewVm(currentVmName));
        }
    }
}
Also used : Quota(org.ovirt.engine.core.common.businessentities.Quota) Version(org.ovirt.engine.core.compat.Version) VM(org.ovirt.engine.core.common.businessentities.VM) Disk(org.ovirt.engine.core.common.businessentities.storage.Disk) DiskImage(org.ovirt.engine.core.common.businessentities.storage.DiskImage)

Example 30 with Disk

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

the class VmDiskListModel method edit.

private void edit() {
    final Disk disk = getSelectedItem();
    if (getWindow() != null) {
        return;
    }
    EditDiskModel model = new EditDiskModel();
    model.setTitle(ConstantsManager.getInstance().getConstants().editVirtualDiskTitle());
    model.setHelpTag(HelpTag.edit_virtual_disk);
    // $NON-NLS-1$
    model.setHashName("edit_virtual_disk");
    model.setVm(getEntity());
    model.setDisk(disk);
    setWindow(model);
    // $NON-NLS-1$
    UICommand cancelCommand = UICommand.createCancelUiCommand("Cancel", this);
    model.setCancelCommand(cancelCommand);
    model.initialize();
}
Also used : UICommand(org.ovirt.engine.ui.uicommonweb.UICommand) CinderDisk(org.ovirt.engine.core.common.businessentities.storage.CinderDisk) Disk(org.ovirt.engine.core.common.businessentities.storage.Disk)

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