use of org.ovirt.engine.core.compat.Guid in project ovirt-engine by oVirt.
the class ImportVmCommand method buildMoveOrCopyImageGroupParametersForDisk.
private MoveOrCopyImageGroupParameters buildMoveOrCopyImageGroupParametersForDisk(DiskImage disk, Guid containerID) {
Guid originalDiskId = newDiskIdForDisk.get(disk.getId()).getId();
Guid destinationDomain = imageToDestinationDomainMap.get(originalDiskId);
MoveOrCopyImageGroupParameters params = new MoveOrCopyImageGroupParameters(containerID, originalDiskId, newDiskIdForDisk.get(disk.getId()).getImageId(), disk.getId(), disk.getImageId(), destinationDomain, ImageOperation.Copy);
params.setParentCommand(getActionType());
params.setUseCopyCollapse(isCopyCollapseOrNoSnapshots());
params.setCopyVolumeType(CopyVolumeType.LeafVol);
params.setForceOverride(getParameters().getForceOverride());
params.setSourceDomainId(getParameters().getSourceDomainId());
params.setStoragePoolId(getParameters().getStoragePoolId());
params.setImportEntity(true);
params.setEntityInfo(new EntityInfo(VdcObjectType.VM, getVm().getId()));
params.setRevertDbOperationScope(ImageDbOperationScope.IMAGE);
params.setQuotaId(disk.getQuotaId() != null ? disk.getQuotaId() : getParameters().getQuotaId());
params.setDiskProfileId(disk.getDiskProfileId());
if (getParameters().getVm().getDiskMap() != null && getParameters().getVm().getDiskMap().containsKey(originalDiskId)) {
DiskImageBase diskImageBase = (DiskImageBase) getParameters().getVm().getDiskMap().get(originalDiskId);
params.setVolumeType(diskImageBase.getVolumeType());
params.setVolumeFormat(diskImageBase.getVolumeFormat());
}
params.setParentParameters(getParameters());
return params;
}
use of org.ovirt.engine.core.compat.Guid in project ovirt-engine by oVirt.
the class ImportVmCommand method handleVmLease.
private void handleVmLease() {
Guid importedLeaseStorageDomainId = getVm().getLeaseStorageDomainId();
if (importedLeaseStorageDomainId == null) {
return;
}
if (!getVm().isAutoStartup() || !shouldAddLease(getVm().getStaticData())) {
getVm().setLeaseStorageDomainId(null);
return;
}
if (!FeatureSupported.isVmLeasesSupported(getEffectiveCompatibilityVersion())) {
getVm().setLeaseStorageDomainId(null);
auditLogDirector.log(this, AuditLogType.CANNOT_IMPORT_VM_WITH_LEASE_COMPAT_VERSION);
return;
}
if (validateLeaseStorageDomain(importedLeaseStorageDomainId) && addVmLease(importedLeaseStorageDomainId, getVm().getId(), false)) {
return;
}
getVm().setLeaseStorageDomainId(addVmLeaseToDefaultStorageDomain());
if (getVm().getLeaseStorageDomainId() == null) {
auditLogDirector.log(this, AuditLogType.CANNOT_IMPORT_VM_WITH_LEASE_STORAGE_DOMAIN);
} else {
log.warn("Creating the lease for the VM '{}' on storage domain '{}', because storage domain '{}' is unavailable", getVm().getId(), getVm().getLeaseStorageDomainId(), importedLeaseStorageDomainId);
}
}
use of org.ovirt.engine.core.compat.Guid in project ovirt-engine by oVirt.
the class ImportVmCommand method getMemoryDiskImageId.
private Guid getMemoryDiskImageId(Guid imageGroupId) {
if (!memoryDiskImageMap.containsKey(imageGroupId)) {
StoragePoolDomainAndGroupIdBaseVDSCommandParameters getVolumesParameters = new StoragePoolDomainAndGroupIdBaseVDSCommandParameters(getParameters().getStoragePoolId(), getParameters().getSourceDomainId(), imageGroupId);
List<Guid> volumesList = (List<Guid>) runVdsCommand(VDSCommandType.GetVolumesList, getVolumesParameters).getReturnValue();
// Memory disks have exactly one volume
memoryDiskImageMap.put(imageGroupId, volumesList.get(0));
}
return memoryDiskImageMap.get(imageGroupId);
}
use of org.ovirt.engine.core.compat.Guid in project ovirt-engine by oVirt.
the class ImportVmCommand method removeVmSnapshots.
@Override
protected void removeVmSnapshots() {
Guid vmId = getVmId();
List<Snapshot> removedSnapshots = getSnapshotsManager().removeSnapshots(vmId);
for (Snapshot snapshot : removedSnapshots) {
removeMemoryVolumes(snapshot, vmId);
}
}
use of org.ovirt.engine.core.compat.Guid in project ovirt-engine by oVirt.
the class ImportVmCommand method getVmDisksDummies.
private Collection<DiskImage> getVmDisksDummies() {
Collection<DiskImage> disksDummies = new LinkedList<>();
for (Guid storageDomainId : getParameters().getImageToDestinationDomainMap().values()) {
DiskImage diskImage = new DiskImage();
diskImage.setStorageIds(new ArrayList<>(Arrays.asList(storageDomainId)));
disksDummies.add(diskImage);
}
return disksDummies;
}
Aggregations