use of org.ovirt.engine.core.common.businessentities.storage.Disk in project ovirt-engine by oVirt.
the class GetUnregisteredCinderDiskByIdAndStorageDomainIdQuery method executeQueryCommand.
@Override
protected void executeQueryCommand() {
Disk diskFromDao = diskDao.get(getParameters().getEntityId());
if (diskFromDao != null) {
log.info("The disk already exist in the DB, hence, should not be fetched from Cinder. ID: '{}', Alias: '{}'", diskFromDao.getId(), diskFromDao.getDiskAlias());
getQueryReturnValue().setReturnValue(null);
return;
}
String volumeId = getParameters().getEntityId().toString();
Volume volume = getVolumeProviderProxy().getVolumeById(volumeId);
if (volume == null) {
log.info("The volume doesn't exist in Cinder. ID: '{}'", volumeId);
getQueryReturnValue().setReturnValue(null);
return;
}
Guid storageDomainId = getParameters().getId();
CinderDisk unregisteredDisk = CinderBroker.volumeToCinderDisk(volume, storageDomainId);
getQueryReturnValue().setReturnValue(unregisteredDisk);
}
use of org.ovirt.engine.core.common.businessentities.storage.Disk in project ovirt-engine by oVirt.
the class GetUnregisteredCinderDisksByStorageDomainIdQuery method executeQueryCommand.
@Override
protected void executeQueryCommand() {
final List<Volume> allVolumes = getVolumeProviderProxy().getVolumes();
final List<Disk> registeredDisks = diskDao.getAllFromDisksByDiskStorageType(DiskStorageType.CINDER, getUserID(), getParameters().isFiltered());
Set<String> registeredIDs = registeredDisks.stream().map(d -> d.getId().toString()).collect(Collectors.toSet());
List<Volume> unregisteredVolumes = allVolumes.stream().filter(v -> !registeredIDs.contains(v.getId())).collect(Collectors.toList());
Guid storageDomainId = getParameters().getId();
List<CinderDisk> unregisteredDisks = CinderBroker.volumesToCinderDisks(unregisteredVolumes, storageDomainId);
getQueryReturnValue().setReturnValue(unregisteredDisks);
}
use of org.ovirt.engine.core.common.businessentities.storage.Disk in project ovirt-engine by oVirt.
the class GetDiskAndSnapshotsByDiskIdQuery method executeQueryCommand.
@Override
protected void executeQueryCommand() {
List<Disk> allDisks = diskDao.getAllFromDisksIncludingSnapshotsByDiskId(getParameters().getId(), getUserID(), getParameters().isFiltered());
// In case of LUN disk or disk without snapshots
if (allDisks.size() == 1) {
getQueryReturnValue().setReturnValue(allDisks.get(0));
return;
}
DiskImage diskWithSnapshots = imagesHandler.aggregateDiskImagesSnapshots(allDisks.stream().map(DiskImage.class::cast).collect(Collectors.toList())).stream().findFirst().orElse(null);
getQueryReturnValue().setReturnValue(diskWithSnapshots);
}
use of org.ovirt.engine.core.common.businessentities.storage.Disk in project ovirt-engine by oVirt.
the class RemoveDiskCommandTest method testRemoveIsoDiskAttachedToVmFails.
@Test
public void testRemoveIsoDiskAttachedToVmFails() {
Disk disk = new DiskImage();
disk.setId(Guid.newGuid());
disk.setContentType(DiskContentType.ISO);
doReturn(disk).when(cmd).getDisk();
doReturn(true).when(cmd).canRemoveDiskBasedOnImageStorageCheck();
doReturn(Collections.singletonList("NiceVm")).when(vmStaticDao).getAllNamesWithSpecificIsoAttached(disk.getId());
ValidateTestUtils.runAndAssertValidateFailure(cmd, EngineMessage.ERROR_CANNOT_REMOVE_ISO_DISK_ATTACHED_TO_VMS);
}
use of org.ovirt.engine.core.common.businessentities.storage.Disk in project ovirt-engine by oVirt.
the class DisksFilterTest method testFilterShareableDisks.
@Test
public void testFilterShareableDisks() {
Disk shareableDisk1 = createDisk(DiskStorageType.IMAGE, true, true, false, false);
Disk shareableDisk2 = createDisk(DiskStorageType.IMAGE, false, true, false, false);
Disk nonShareableDisk1 = createDisk(DiskStorageType.IMAGE, true, false, true, false);
Disk nonShareableDisk2 = createDisk(DiskStorageType.IMAGE, false, false, true, false);
List<Disk> disksList = Arrays.asList(shareableDisk1, nonShareableDisk1, shareableDisk2, nonShareableDisk2);
List<DiskImage> filteredList = DisksFilter.filterImageDisks(disksList, ONLY_NOT_SHAREABLE);
assertEquals(2, filteredList.size());
assertThat(filteredList, containsInAnyOrder(nonShareableDisk1, nonShareableDisk2));
}
Aggregations