public double getActualDiskWithSnapshotsSize() { if (_actualDiskWithSnapthotsSize == 0 && getDiskMap() != null) { for (Disk disk : getDiskMap().values()) { if (DiskStorageType.IMAGE == disk.getDiskStorageType()) { _actualDiskWithSnapthotsSize += ((DiskImage) disk).getActualDiskWithSnapshotsSize(); } } } return _actualDiskWithSnapthotsSize; }
@Override public Map<Guid, org.ovirt.engine.core.common.businessentities.storage.Disk> getDiskMap() { return getEntity().getDiskMap(); }
public void clearDisks() { getDiskList().clear(); getDiskMap().clear(); }
public double getDiskSize() { if (diskSize == 0) { for (Disk disk : getDiskMap().values()) { if (DiskStorageType.IMAGE == disk.getDiskStorageType()) { diskSize += disk.getSize() / Double.valueOf(1024 * 1024 * 1024); } } } return diskSize; }
public static Map<VmDeviceId, DiskVmElement> extractDiskVmElements(VM vm) { Map<VmDeviceId, DiskVmElement> result = new HashMap<>(); for(Disk disk : vm.getDiskMap().values()) { DiskVmElement element = disk.getDiskVmElementForVm(vm.getId()); if (element != null) { result.put(element.getId(), element); } } return result; }
@Override protected void onEntityChanged() { if (getEntity() != null) { VM vm = (VM) getEntity(); if (vm != null && vm.getDiskMap() != null) { List<Disk> disks = new ArrayList<>(vm.getDiskMap().values()); Collections.sort(disks, new DiskByDiskAliasComparator()); setItems(disks); } } else { setItems(null); } }
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 public void dataCenterWithClusterSelectedItemChanged() { super.dataCenterWithClusterSelectedItemChanged(); if (snapshotId != null) { // In case of creating a template from a snapshot, the snapshot VM configuration is needed AsyncDataProvider.getInstance().getVmConfigurationBySnapshot(asyncQuery( vm -> initDisksAndStorageDomains(new ArrayList<>(vm.getDiskMap().values()))), snapshotId); } else { // If a VM has at least one disk, present its storage domain. AsyncDataProvider.getInstance().getVmDiskList(asyncQuery( this::initDisksAndStorageDomains), vm.getId(), true); } }
for (Disk disk : vm.getDiskMap().values()) { DiskImage diskImage = (DiskImage) disk; addDiskImportData(diskImage.getId(),
private Response createVmFromSnapshot(Vm vm) { // If Vm has snapshots collection - this is a clone vm from snapshot operation String snapshotId = getSnapshotId(vm.getSnapshots()); org.ovirt.engine.core.common.businessentities.VM vmConfiguration = getVmConfiguration(snapshotId); getMapper(Vm.class, VmStatic.class).map(vm, vmConfiguration.getStaticData()); updateMaxMemoryIfUnspecified(vm, vmConfiguration.getStaticData()); // If vm passed in the call has disks attached on them, // merge their data with the data of the disks on the configuration // The parameters to AddVmFromSnapshot hold an array list of Disks // and not List of Disks, as this is a GWT serialization limitation, // and this parameter class serves GWT clients as well. Map<Guid, DiskImage> diskImagesByImageId = getDiskImagesByIdMap(vmConfiguration.getDiskMap().values()); if (vm.isSetDiskAttachments()) { prepareImagesForCloneFromSnapshotParams(vm.getDiskAttachments(), diskImagesByImageId); } return cloneVmFromSnapshot(vmConfiguration, vm, snapshotId, diskImagesByImageId); }
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)); } } } } }
private List<ActionParametersBase> prepareParameters() { ArrayList<ActionParametersBase> parameters = new ArrayList<>(); for (RegisterVmData registerVmData : getEntities().getItems()) { VM vm = registerVmData.getEntity(); Cluster cluster = registerVmData.getCluster().getSelectedItem(); ImportVmFromConfParameters params = new ImportVmFromConfParameters( cloneExternalVnicProfiles(cluster), registerVmData.getReassignMacs().getEntity()); params.setContainerId(vm.getId()); params.setStorageDomainId(getStorageDomainId()); params.setImagesExistOnTargetStorageDomain(true); params.setClusterId(cluster != null ? cluster.getId() : null); params.setAllowPartialImport(registerVmData.getAllowPartialImport().getEntity()); if (isQuotaEnabled()) { Quota quota = registerVmData.getClusterQuota().getSelectedItem(); params.setQuotaId(quota != null ? quota.getId() : null); params.setDiskMap(vm.getDiskMap()); updateDiskQuotas(new ArrayList<>(params.getDiskMap().values())); } parameters.add(params); } return parameters; }
@Override public Response addFromVmSnapshot(Template template) { validateIconParameters(template); validateSnapshotExistence(template.getVm()); Guid snapshotId = getSnapshotId(template.getVm().getSnapshots()); org.ovirt.engine.core.common.businessentities.VM vmConfiguration = getVmConfiguration(snapshotId); if (template.getVersion() != null) { validateParameters(template.getVersion(), "baseTemplate"); } VmStatic originalVm = vmConfiguration.getStaticData(); VmStatic staticVm = getMapper(Template.class, VmStatic.class).map(template, originalVm); if (namedCluster(template)) { Guid clusterId = getClusterId(template); staticVm.setClusterId(clusterId); } AddVmTemplateFromSnapshotParameters params = new AddVmTemplateFromSnapshotParameters( staticVm, template.getName(), template.getDescription(), snapshotId); return addTemplate(template, originalVm, vmConfiguration.getDiskMap().keySet(), params, ActionType.AddVmTemplateFromSnapshot); }
for (Map.Entry<Guid, Disk> entry : vm.getDiskMap().entrySet()) { DiskImage disk = (DiskImage) entry.getValue(); map.put(disk.getId(), getDiskImportData(disk.getId()).getSelectedStorageDomain().getId());
prm.setCopyCollapse(importVmData.getCollapseSnapshots().getEntity()); for (Map.Entry<Guid, Disk> entry : vm.getDiskMap().entrySet()) { DiskImage disk = (DiskImage) entry.getValue(); ImportDiskData importDiskData = getDiskImportData(disk.getDiskAlias());
prm.setCopyCollapse(importVmData.getCollapseSnapshots().getEntity()); for (Map.Entry<Guid, Disk> entry : vm.getDiskMap().entrySet()) { DiskImage disk = (DiskImage) entry.getValue(); ImportDiskData importDiskData = getDiskImportData(disk.getDiskAlias());
vm.setDiskMap(behavior.getVm().getDiskMap());
vm.setDefaultBootSequence(instance.getDefaultBootSequence()); vm.setDefaultDisplayType(instance.getDefaultDisplayType()); vm.setDiskMap(instance.getDiskMap()); vm.setDiskSize(instance.getDiskSize()); vm.setImages(instance.getImages());