public boolean hasRawBlock() { if (getVolumeFormat() != VolumeFormat.RAW) { return false; } for (StorageType type : getStorageTypes()) { if (type.isBlockDomain()) { return true; } } return false; }
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())); }
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); }
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); }
@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); } }
private TransferDiskImageParameters createInitParams() { TransferDiskImageParameters parameters = new TransferDiskImageParameters(); parameters.setTransferType(TransferType.Download); parameters.setImageGroupID(diskImage.getId()); String fileExtension = diskImage.getVolumeFormat() == VolumeFormat.COW ? ".qcow2" : ".raw"; //$NON-NLS-1$ //$NON-NLS-2$ parameters.setDownloadFilename(diskImage.getDiskAlias() + fileExtension); //$NON-NLS-1$ parameters.setTransferSize(diskImage.getActualSizeInBytes()); return parameters; }
di.setVolumeFormat(diskImage.getVolumeFormat()); di.setSize(diskImage.getSize()); if (diskImage.getQuotaIds() != null) {
@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(), "parentRef", ""); _writer.writeAttributeString(OVF_PREFIX, getOvfUri(), "fileRef", image.getImageId().toString()); _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());
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()); }
public boolean flush() { if (validate()) { diskModel.flush(); DiskImage diskImage = (DiskImage) getDiskModel().getDisk(); diskImage.setSize(getVirtualSize()); diskImage.setActualSizeInBytes(imageInfoModel.getActualSize()); diskImage.setVolumeFormat(getImageInfoModel().getFormat()); diskImage.setVolumeType(AsyncDataProvider.getInstance().getVolumeType( diskImage.getVolumeFormat(), getDiskModel().getStorageDomain().getSelectedItem().getStorageType(), null, null)); diskImage.setContentType(getImageInfoModel().getContentType()); return true; } else { setIsValid(false); } return false; }
@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()); }
if (entity.getVolumeFormat() != null) { model.setFormat(map(entity.getVolumeFormat(), null));