@Override protected VolumeType getRawValue(DiskImage object) { return VolumeType.forValue(object.getVolumeType().getValue()); } };
@Override protected VolumeType getRawValue(Disk object) { return object.getDiskStorageType() == DiskStorageType.IMAGE || object.getDiskStorageType() == DiskStorageType.CINDER || object.getDiskStorageType() == DiskStorageType.MANAGED_BLOCK_STORAGE ? ((DiskImage) object).getVolumeType() : null; }
protected void setDefaultVolumeInformationSelection(List<DiskModel> diskModels) { final Map<Guid, DiskModel> diskModelsMap = new HashMap<>(); for (DiskModel diskModel : diskModels) { diskModelsMap.put(((DiskImage) diskModel.getDisk()).getImageId(), diskModel); } AsyncDataProvider.getInstance().getAncestorImagesByImagesIds(new AsyncQuery<>(imagesAncestors -> { for (Map.Entry<Guid, DiskImage> entry : imagesAncestors.entrySet()) { DiskModel diskModel = diskModelsMap.get(entry.getKey()); diskModel.getVolumeType().setSelectedItem(entry.getValue().getVolumeType()); diskModel.getVolumeFormat().setSelectedItem(entry.getValue().getVolumeFormat()); updateStorageDomainsAvailability(); } }), new ArrayList<>(diskModelsMap.keySet())); }
@Override protected void initDisksStorageDomainsList() { for (Object item : getItems()) { VmTemplate template = ((ImportTemplateData) item).getTemplate(); for (DiskImage diskImage : template.getDiskTemplateMap().values()) { addDiskImportData(diskImage.getId(), filteredStorageDomains, diskImage.getVolumeType(), new EntityModel(true)); } } postInitDisks(); } }
static org.ovirt.engine.core.common.businessentities.storage.Disk setUpEntityExpectations(DiskImage entity, int index) { when(entity.getId()).thenReturn(GUIDS[index]); when(entity.getVmSnapshotId()).thenReturn(GUIDS[2]); when(entity.getVolumeFormat()).thenReturn(VolumeFormat.RAW); when(entity.getImageStatus()).thenReturn(ImageStatus.OK); when(entity.getVolumeType()).thenReturn(VolumeType.Sparse); when(entity.isShareable()).thenReturn(false); when(entity.getPropagateErrors()).thenReturn(PropagateErrors.On); when(entity.getDiskStorageType()).thenReturn(DiskStorageType.IMAGE); when(entity.getImageId()).thenReturn(GUIDS[1]); ArrayList<Guid> sdIds = new ArrayList<>(); sdIds.add(Guid.Empty); when(entity.getStorageIds()).thenReturn(sdIds); return setUpStatisticalEntityExpectations(entity); }
private org.ovirt.engine.core.common.businessentities.storage.Disk setUpEntityExpectations(DiskImage entity, int index) { when(entity.getId()).thenReturn(GUIDS[index]); when(entity.getVmSnapshotId()).thenReturn(GUIDS[2]); when(entity.getVolumeFormat()).thenReturn(VolumeFormat.RAW); when(entity.getImageStatus()).thenReturn(ImageStatus.OK); when(entity.getVolumeType()).thenReturn(VolumeType.Sparse); when(entity.isShareable()).thenReturn(false); when(entity.getPropagateErrors()).thenReturn(PropagateErrors.On); when(entity.getDiskStorageType()).thenReturn(DiskStorageType.IMAGE); when(entity.getImageId()).thenReturn(GUIDS[1]); ArrayList<Guid> sdIds = new ArrayList<>(); sdIds.add(Guid.Empty); when(entity.getStorageIds()).thenReturn(sdIds); return setUpStatisticalEntityExpectations(entity); }
private org.ovirt.engine.core.common.businessentities.storage.Disk setUpEntityExpectations(DiskImage entity, int index) { when(entity.getId()).thenReturn(GUIDS[index]); when(entity.getVmSnapshotId()).thenReturn(GUIDS[2]); when(entity.getVolumeFormat()).thenReturn(VolumeFormat.RAW); when(entity.getImageStatus()).thenReturn(ImageStatus.OK); when(entity.getVolumeType()).thenReturn(VolumeType.Sparse); when(entity.isShareable()).thenReturn(false); when(entity.getPropagateErrors()).thenReturn(PropagateErrors.On); when(entity.getDiskStorageType()).thenReturn(DiskStorageType.IMAGE); when(entity.getImageId()).thenReturn(GUIDS[1]); ArrayList<Guid> sdIds = new ArrayList<>(); sdIds.add(Guid.Empty); when(entity.getStorageIds()).thenReturn(sdIds); return setUpStatisticalEntityExpectations(entity); }
static org.ovirt.engine.core.common.businessentities.storage.Disk setUpEntityExpectations(DiskImage entity, int index) { when(entity.getId()).thenReturn(GUIDS[index]); when(entity.getVmSnapshotId()).thenReturn(GUIDS[2]); when(entity.getVolumeFormat()).thenReturn(VolumeFormat.RAW); when(entity.getImageStatus()).thenReturn(ImageStatus.OK); when(entity.getVolumeType()).thenReturn(VolumeType.Sparse); when(entity.isShareable()).thenReturn(false); when(entity.getPropagateErrors()).thenReturn(PropagateErrors.On); when(entity.getDiskStorageType()).thenReturn(DiskStorageType.IMAGE); when(entity.getImageId()).thenReturn(GUIDS[1]); ArrayList<Guid> sdIds = new ArrayList<>(); sdIds.add(Guid.Empty); when(entity.getStorageIds()).thenReturn(sdIds); return setUpStatisticalEntityExpectations(entity); }
protected void initDisksStorageDomainsList() { for (Object item : getItems()) { ImportVmData importVmData = (ImportVmData) item; VM vm = importVmData.getVm(); for (Disk disk : vm.getDiskMap().values()) { DiskImage diskImage = (DiskImage) disk; addDiskImportData( diskImage.getDiskAlias(), new ArrayList<StorageDomain>(), diskImage.getVolumeType(), importVmData.getCollapseSnapshots()); } } initIsoImages(); postInitDisks(); }
@Override protected void initDisksStorageDomainsList() { for (Object item : getItems()) { VmTemplate template = ((ImportTemplateData) item).getTemplate(); for (Disk disk : template.getDiskList()) { DiskImage diskImage = (DiskImage) disk; addDiskImportData(diskImage.getId(), filteredStorageDomains, diskImage.getVolumeType(), new EntityModel(true)); } } postInitDisks(); }
@Override protected void postInitStorageDomains() { super.postInitStorageDomains(); // Add warning for raw/thin disks that reside on a file domain // and selected to be cold moved to a block domain (as it will cause // the disks to become preallocated, and it may consume considerably // more space on the target domain). for (final DiskModel diskModel : getDisks()) { ListModel<StorageDomain> sourceStorageDomains = diskModel.getSourceStorageDomain(); if (sourceStorageDomains.getItems().iterator().hasNext() && !sourceStorageDomains.getItems().iterator().next().getStorageType().isFileDomain()) { continue; } DiskImage diskImage = (DiskImage) diskModel.getDisk(); if (diskImage.getVolumeType() != VolumeType.Sparse || diskImage.getVolumeFormat() != VolumeFormat.RAW) { continue; } diskModel.getStorageDomain().getSelectedItemChangedEvent().addListener((ev, sender, args) -> updateProblematicDisk(diskModel)); updateProblematicDisk(diskModel); } }
public static DiskModel diskToModel(Disk disk) { DiskModel diskModel = new DiskModel(); diskModel.getAlias().setEntity(disk.getDiskAlias()); if (disk.getDiskStorageType() == DiskStorageType.IMAGE) { DiskImage diskImage = (DiskImage) disk; EntityModel<Integer> sizeEntity = new EntityModel<>(); sizeEntity.setEntity((int) diskImage.getSizeInGigabytes()); diskModel.setSize(sizeEntity); ListModel<VolumeType> volumeList = new ListModel<>(); volumeList.setItems(diskImage.getVolumeType() == VolumeType.Preallocated ? new ArrayList<>(Arrays.asList(new VolumeType[]{VolumeType.Preallocated})) : AsyncDataProvider.getInstance().getVolumeTypeList()); volumeList.setSelectedItem(diskImage.getVolumeType()); diskModel.setVolumeType(volumeList); } diskModel.setDisk(disk); return diskModel; }
@Override public SafeHtml getTooltip(Disk object) { if (object.getDiskStorageType() != DiskStorageType.IMAGE && object.getDiskStorageType() != DiskStorageType.CINDER && object.getDiskStorageType() != DiskStorageType.MANAGED_BLOCK_STORAGE) { return null; } VolumeType originalVolumeType = null; for (DiskImage snapshot : ((DiskImage) object).getSnapshots()) { if (snapshot.getParentId() == null || snapshot.getParentId().equals(Guid.Empty)) { originalVolumeType = snapshot.getVolumeType(); break; } } if (originalVolumeType == null) { return null; } return SafeHtmlUtils.fromString( StringFormat.format("%s: %s", //$NON-NLS-1$ AssetProvider.getConstants().originalAllocationDisk(), EnumTranslator.getInstance().translate(originalVolumeType))); } };
protected void checkDestFormatCompatibility() { for (Object item : getItems()) { VM vm = ((ImportVmData) item).getVm(); if (vm.getDiskMap() != null) { for (Map.Entry<Guid, Disk> pair : vm.getDiskMap().entrySet()) { DiskImage disk = (DiskImage) pair.getValue(); if (disk.getVolumeType() == VolumeType.Sparse && disk.getVolumeFormat() == VolumeFormat.RAW && getDiskImportData(disk.getId()) != null && getDiskImportData(disk.getId()).getSelectedStorageDomain() .getStorageType().isBlockDomain()) { ((ImportVmData) item).setWarning(ConstantsManager.getInstance().getConstants() .importSparseDiskToBlockDeviceMustCollapseSnapshots()); ((ImportVmData) item).getCollapseSnapshots().setEntity(true); ((ImportVmData) item).getCollapseSnapshots().setIsChangeable(false); ((ImportVmData) item).getCollapseSnapshots() .setChangeProhibitionReason(ConstantsManager.getInstance() .getConstants() .importSparseDiskToBlockDeviceMustCollapseSnapshots()); onPropertyChanged(new PropertyChangedEventArgs(ON_DISK_LOAD)); } } } } }
@Override public void edit(final DiskModel object) { driver.edit(object); diskAliasLabel.setText(object.getAlias().getEntity()); diskSizeLabel.setText(new DiskSizeRenderer<Integer>(SizeConverter.SizeUnit.GiB).render( object.getSize().getEntity())); sourceStorageLabel.setText(object.getSourceStorageDomainName().getEntity()); sourceStorageLabel.setVisible(object.getSourceStorageDomainName().getIsAvailable()); object.getSourceStorageDomainName().getPropertyChangedEvent().addListener((ev, sender, args) -> { if ("IsAvailable".equals(args.propertyName)) { //$NON-NLS-1$ EntityModel entity = (EntityModel) sender; sourceStorageLabel.setVisible(entity.getIsAvailable()); } }); object.getVolumeType().setSelectedItem(((DiskImage) object.getDisk()).getVolumeType()); object.getVolumeFormat().setSelectedItem(((DiskImage) object.getDisk()).getVolumeFormat()); }
@Override protected void writeDisk(DiskImage image) { DiskVmElement dve = image.getDiskVmElementForVm(vmBase.getId()); _writer.writeAttributeString(getOvfUri(), "diskId", image.getImageId().toString()); _writer.writeAttributeString(getOvfUri(), "size", String.valueOf(bytesToGigabyte(image.getSize()))); _writer.writeAttributeString(getOvfUri(), "actual_size", String.valueOf(bytesToGigabyte(image.getActualSizeInBytes()))); _writer.writeAttributeString(getOvfUri(), "vm_snapshot_id", (image.getVmSnapshotId() != null) ? image .getVmSnapshotId().toString() : ""); writeDiskParentRef(image); _writer.writeAttributeString(getOvfUri(), "fileRef", OvfParser.createImageFile(image)); _writer.writeAttributeString(getOvfUri(), "format", getVolumeImageFormat(image.getVolumeFormat())); _writer.writeAttributeString(getOvfUri(), "volume-format", image.getVolumeFormat().toString()); _writer.writeAttributeString(getOvfUri(), "volume-type", image.getVolumeType().toString()); _writer.writeAttributeString(getOvfUri(), "disk-interface", dve.getDiskInterface().toString()); _writer.writeAttributeString(getOvfUri(), "read-only", String.valueOf(dve.isReadOnly())); _writer.writeAttributeString(getOvfUri(), "shareable", String.valueOf(image.isShareable())); _writer.writeAttributeString(getOvfUri(), "boot", String.valueOf(dve.isBoot())); _writer.writeAttributeString(getOvfUri(), "pass-discard", String.valueOf(dve.isPassDiscard())); if (image.getDiskAlias() != null) { _writer.writeAttributeString(getOvfUri(), "disk-alias", image.getDiskAlias()); } if (image.getDiskDescription() != null) { _writer.writeAttributeString(getOvfUri(), "disk-description", image.getDiskDescription()); } _writer.writeAttributeString(getOvfUri(), "wipe-after-delete", String.valueOf(image.isWipeAfterDelete())); }
_writer.writeAttributeString(OVF_PREFIX, getOvfUri(), "format", getVolumeImageFormat(image.getVolumeFormat())); _writer.writeAttributeString(OVF_PREFIX, getOvfUri(), "volume-format", image.getVolumeFormat().toString()); _writer.writeAttributeString(OVF_PREFIX, getOvfUri(), "volume-type", image.getVolumeType().toString()); _writer.writeAttributeString(OVF_PREFIX, getOvfUri(), "disk-interface", dve.getDiskInterface().toString()); _writer.writeAttributeString(OVF_PREFIX, getOvfUri(), "boot", String.valueOf(dve.isBoot()));
@Override protected MapSqlParameterSource createFullParametersMapper(UnregisteredDisk entity) { return createIdParameterMapper(entity.getId()) .addValue("disk_alias", entity.getDiskAlias()) .addValue("disk_description", entity.getDiskDescription()) .addValue("creation_date", entity.getDiskImage().getCreationDate()) .addValue("last_modified", entity.getDiskImage().getLastModified()) .addValue("volume_type", entity.getDiskImage().getVolumeType()) .addValue("volume_format", entity.getDiskImage().getVolumeFormat()) .addValue("actual_size", entity.getDiskImage().getActualSizeInBytes()) .addValue("size", entity.getDiskImage().getSize()) .addValue("image_id", entity.getDiskImage().getImageId()); }
SafeHtmlUtils.fromString(String.valueOf(sizeRenderer.render(image.getActualSizeInBytes()))), dl); addDetailItem(SafeHtmlUtils.fromSafeConstant(constants.allocationDisk()), SafeHtmlUtils.fromString(String.valueOf(VolumeType.forValue(image.getVolumeType().getValue()))), dl); addDetailItem(SafeHtmlUtils.fromSafeConstant(constants.interfaceDisk()), SafeHtmlUtils.fromString(getInterface(image)), dl);
@Override public void initialize() { commonInitialize(); getSizeExtend().setIsAvailable(false); getAlias().setEntity(getDisk().getDiskAlias()); getDescription().setEntity(getDisk().getDiskDescription()); getIsShareable().setEntity(getDisk().isShareable()); getIsWipeAfterDelete().setEntity(getDisk().isWipeAfterDelete()); getIsScsiPassthrough().setEntity(getDisk().isScsiPassthrough()); getIsSgIoUnfiltered().setEntity(getDisk().getSgio() == ScsiGenericIO.UNFILTERED); getIsReadOnly().setEntity(getVm() != null && getDiskVmElement().isReadOnly()); switch (getDisk().getDiskStorageType()) { case IMAGE: DiskImage diskImage = (DiskImage) getDisk(); getDiskStorageType().setEntity(DiskStorageType.IMAGE); getSize().setEntity((int) diskImage.getSizeInGigabytes()); getVolumeType().setSelectedItem(diskImage.getVolumeType()); break; } }