use of org.ovirt.engine.core.common.businessentities.storage.Disk in project ovirt-engine by oVirt.
the class CommonVmPoolCommand method initTargetDomains.
private void initTargetDomains() {
templateDisks = diskDao.getAllForVm(getParameters().getVmStaticData().getVmtGuid());
targetDomainsSize = new HashMap<>();
diskToProfileMap = new HashMap<>();
diskToStorageIds = new HashMap<>();
for (Disk disk : templateDisks) {
DiskImage diskImage = (DiskImage) disk;
diskToProfileMap.put(disk.getId(), diskImage.getDiskProfileIds());
diskToStorageIds.put(disk.getId(), diskImage.getStorageIds());
for (Guid storageId : diskImage.getStorageIds()) {
if (!targetDomainsSize.containsKey(storageId)) {
StorageDomain domain = storageDomainDao.get(storageId);
targetDomainsSize.put(domain.getId(), domain.getAvailableDiskSizeInBytes());
}
}
}
}
use of org.ovirt.engine.core.common.businessentities.storage.Disk in project ovirt-engine by oVirt.
the class CopyImageGroupCommand method validate.
@Override
protected boolean validate() {
// Not relevant for import VM/VMTemplate
if (getParameters().isImportEntity()) {
return true;
}
Guid imageGroupId = Guid.isNullOrEmpty(getParameters().getImageGroupID()) ? getImageGroupId() : getParameters().getImageGroupID();
Disk disk = diskDao.get(imageGroupId);
DiskValidator diskValidator = createDiskValidator(disk);
if (diskValidator.isDiskExists().isValid()) {
return validate(diskValidator.validateUnsupportedDiskStorageType(DiskStorageType.LUN, DiskStorageType.CINDER));
}
return true;
}
use of org.ovirt.engine.core.common.businessentities.storage.Disk in project ovirt-engine by oVirt.
the class GetUnregisteredDisksQuery method executeQueryCommand.
@Override
protected void executeQueryCommand() {
StorageDomain storageDomain = storageDomainDao.get(getStorageDomainId());
if (storageDomain == null) {
getQueryReturnValue().setExceptionString(EngineMessage.STORAGE_DOMAIN_DOES_NOT_EXIST.toString());
getQueryReturnValue().setSucceeded(false);
return;
}
if (storageDomain.getStorageType().isCinderDomain()) {
QueryReturnValue returnValue = runInternalQuery(QueryType.GetUnregisteredCinderDisksByStorageDomainId, new IdQueryParameters(getStorageDomainId()));
setReturnValue(returnValue.getReturnValue());
return;
}
// first, run getImagesList query into vdsm to get all of the images on the storage domain - then store in
// imagesList
VDSReturnValue imagesListResult = runVdsCommand(VDSCommandType.GetImagesList, new GetImagesListVDSCommandParameters(getStorageDomainId(), getStoragePoolId()));
@SuppressWarnings("unchecked") List<Guid> imagesList = (List<Guid>) imagesListResult.getReturnValue();
// fromDao is a list of all disk images on the domain from the Dao
List<DiskImage> fromDao = diskImageDao.getAllSnapshotsForStorageDomain(getStorageDomainId());
// if the ID in imagesList is recognized by oVirt, remove from list
for (DiskImage image : fromDao) {
imagesList.remove(image.getId());
}
List<Disk> unregisteredDisks = new ArrayList<>();
for (Guid unregisteredDiskId : imagesList) {
GetUnregisteredDiskQueryParameters unregQueryParams = new GetUnregisteredDiskQueryParameters(unregisteredDiskId, getStorageDomainId(), getStoragePoolId());
QueryReturnValue unregQueryReturn = runInternalQuery(QueryType.GetUnregisteredDisk, unregQueryParams);
if (unregQueryReturn.getSucceeded()) {
unregisteredDisks.add(unregQueryReturn.getReturnValue());
} else {
log.debug("Could not get populated disk: {}", unregQueryReturn.getExceptionString());
}
}
getQueryReturnValue().setReturnValue(unregisteredDisks);
}
use of org.ovirt.engine.core.common.businessentities.storage.Disk in project ovirt-engine by oVirt.
the class DiskDaoTest method testGetFilteredWithoutPermissionsNoFilter.
@Test
public void testGetFilteredWithoutPermissionsNoFilter() {
Disk result = dao.get(getExistingEntityId(), UNPRIVILEGED_USER_ID, false);
assertNotNull(result);
assertEquals(getExistingEntityId().toString(), result.getId().toString());
}
use of org.ovirt.engine.core.common.businessentities.storage.Disk in project ovirt-engine by oVirt.
the class DiskDaoTest method testGet.
@Override
@Test
public void testGet() {
Disk result = dao.get(getExistingEntityId());
assertNotNull(result);
assertEquals(getExistingEntityId().toString(), result.getId().toString());
}
Aggregations