Search in sources :

Example 6 with Disk

use of org.ovirt.engine.core.common.businessentities.storage.Disk in project ovirt-engine by oVirt.

the class DiskOperationsValidatorTest method testDisallowedOperations.

@Test
public void testDisallowedOperations() {
    Disk disk = new DiskImage();
    for (Map.Entry<ActionType, List<DiskContentType>> entry : DiskOperationsValidator.allowedCommandsOnTypes.entrySet()) {
        EnumSet<DiskContentType> allowedTypes = EnumSet.copyOf(entry.getValue());
        EnumSet<DiskContentType> disallowedTypes = EnumSet.complementOf(allowedTypes);
        if (disallowedTypes.isEmpty()) {
            continue;
        }
        disk.setContentType(disallowedTypes.iterator().next());
        DiskOperationsValidator validator = new DiskOperationsValidator(disk);
        assertThat(validator.isOperationAllowedOnDisk(entry.getKey()), failsWith(EngineMessage.ACTION_TYPE_FAILED_DISK_CONTENT_TYPE_NOT_SUPPORTED_FOR_OPERATION, String.format("$diskContentType %s", disk.getContentType())));
    }
}
Also used : ActionType(org.ovirt.engine.core.common.action.ActionType) DiskContentType(org.ovirt.engine.core.common.businessentities.storage.DiskContentType) List(java.util.List) Disk(org.ovirt.engine.core.common.businessentities.storage.Disk) DiskImage(org.ovirt.engine.core.common.businessentities.storage.DiskImage) Map(java.util.Map) Test(org.junit.Test)

Example 7 with Disk

use of org.ovirt.engine.core.common.businessentities.storage.Disk in project ovirt-engine by oVirt.

the class DiskOperationsValidatorTest method testAllowedOperations.

@Test
public void testAllowedOperations() {
    Disk disk = new DiskImage();
    for (Map.Entry<ActionType, List<DiskContentType>> entry : DiskOperationsValidator.allowedCommandsOnTypes.entrySet()) {
        disk.setContentType(entry.getValue().get(0));
        DiskOperationsValidator validator = new DiskOperationsValidator(disk);
        assertThat(validator.isOperationAllowedOnDisk(entry.getKey()), isValid());
    }
}
Also used : ActionType(org.ovirt.engine.core.common.action.ActionType) List(java.util.List) Disk(org.ovirt.engine.core.common.businessentities.storage.Disk) DiskImage(org.ovirt.engine.core.common.businessentities.storage.DiskImage) Map(java.util.Map) Test(org.junit.Test)

Example 8 with Disk

use of org.ovirt.engine.core.common.businessentities.storage.Disk in project ovirt-engine by oVirt.

the class StorageDomainValidatorTest method invalidRunningVmsAndVmLeasesForBackupDomain.

@Test
public void invalidRunningVmsAndVmLeasesForBackupDomain() {
    QueryReturnValue ret = new QueryReturnValue();
    List<VmBase> vmLeases = new ArrayList<>();
    VM vmWithLease = new VM();
    vmWithLease.setName("firstVM");
    vmLeases.add(vmWithLease.getStaticData());
    ret.setReturnValue(vmLeases);
    ret.setSucceeded(true);
    // VM1
    VM vm1 = new VM();
    vm1.setName("firstVM");
    Map<Guid, Disk> attachedDisksForVm1 = new HashMap<>();
    DiskImage diskVm1 = new DiskImage();
    diskVm1.setStorageIds(new ArrayList<>(Collections.singletonList(domain.getId())));
    diskVm1.setPlugged(true);
    attachedDisksForVm1.put(Guid.newGuid(), diskVm1);
    vm1.setDiskMap(attachedDisksForVm1);
    // VM2
    VM vm2 = new VM();
    vm2.setName("secondVM");
    Map<Guid, Disk> attachedDisksForVm2 = new HashMap<>();
    DiskImage diskVm2 = new DiskImage();
    diskVm2.setStorageIds(new ArrayList<>(Collections.singletonList(domain.getId())));
    diskVm2.setPlugged(true);
    attachedDisksForVm2.put(Guid.newGuid(), diskVm2);
    vm2.setDiskMap(attachedDisksForVm2);
    List<VM> runningVMs = new ArrayList<>();
    runningVMs.add(vm1);
    runningVMs.add(vm2);
    when(vmDao.getAllActiveForStorageDomain(any())).thenReturn(runningVMs);
    doReturn(ret).when(validator).getEntitiesWithLeaseIdForStorageDomain(any());
    assertThat(validator.isRunningVmsOrVmLeasesForBackupDomain(vmHandler), failsWith(EngineMessage.ACTION_TYPE_FAILED_RUNNING_VM_OR_VM_LEASES_PRESENT_ON_STORAGE_DOMAIN));
}
Also used : QueryReturnValue(org.ovirt.engine.core.common.queries.QueryReturnValue) HashMap(java.util.HashMap) VM(org.ovirt.engine.core.common.businessentities.VM) VmBase(org.ovirt.engine.core.common.businessentities.VmBase) ArrayList(java.util.ArrayList) Guid(org.ovirt.engine.core.compat.Guid) Disk(org.ovirt.engine.core.common.businessentities.storage.Disk) DiskImage(org.ovirt.engine.core.common.businessentities.storage.DiskImage) Test(org.junit.Test)

Example 9 with Disk

use of org.ovirt.engine.core.common.businessentities.storage.Disk in project ovirt-engine by oVirt.

the class StorageDomainValidatorTest method validRunningVmsWithUnpluggedDisksForBackupDomain.

@Test
public void validRunningVmsWithUnpluggedDisksForBackupDomain() {
    // VM1
    VM vm1 = new VM();
    vm1.setName("firstVM");
    Map<Guid, Disk> attachedDisksForVm1 = new HashMap<>();
    DiskImage diskVm1 = new DiskImage();
    diskVm1.setStorageIds(new ArrayList<>(Collections.singletonList(domain.getId())));
    diskVm1.setPlugged(false);
    attachedDisksForVm1.put(Guid.newGuid(), diskVm1);
    vm1.setDiskMap(attachedDisksForVm1);
    List<VM> runningVMs = new ArrayList<>();
    runningVMs.add(vm1);
    when(vmDao.getAllActiveForStorageDomain(any())).thenReturn(runningVMs);
    QueryReturnValue ret = new QueryReturnValue();
    ret.setReturnValue(new ArrayList<VmBase>());
    ret.setSucceeded(true);
    doReturn(ret).when(validator).getEntitiesWithLeaseIdForStorageDomain(any());
    assertThat(validator.isRunningVmsOrVmLeasesForBackupDomain(vmHandler), isValid());
}
Also used : QueryReturnValue(org.ovirt.engine.core.common.queries.QueryReturnValue) HashMap(java.util.HashMap) VM(org.ovirt.engine.core.common.businessentities.VM) ArrayList(java.util.ArrayList) VmBase(org.ovirt.engine.core.common.businessentities.VmBase) Guid(org.ovirt.engine.core.compat.Guid) Disk(org.ovirt.engine.core.common.businessentities.storage.Disk) DiskImage(org.ovirt.engine.core.common.businessentities.storage.DiskImage) Test(org.junit.Test)

Example 10 with Disk

use of org.ovirt.engine.core.common.businessentities.storage.Disk in project ovirt-engine by oVirt.

the class RunVmValidatorTest method testVmWithDisks.

@Test
public void testVmWithDisks() {
    List<Disk> disks = new ArrayList<>();
    disks.add(new DiskImage());
    validateResult(runVmValidator.validateBootSequence(new VM(), disks), true, null);
}
Also used : VM(org.ovirt.engine.core.common.businessentities.VM) ArrayList(java.util.ArrayList) Disk(org.ovirt.engine.core.common.businessentities.storage.Disk) DiskImage(org.ovirt.engine.core.common.businessentities.storage.DiskImage) Test(org.junit.Test)

Aggregations

Disk (org.ovirt.engine.core.common.businessentities.storage.Disk)152 DiskImage (org.ovirt.engine.core.common.businessentities.storage.DiskImage)82 ArrayList (java.util.ArrayList)56 CinderDisk (org.ovirt.engine.core.common.businessentities.storage.CinderDisk)47 Guid (org.ovirt.engine.core.compat.Guid)45 VM (org.ovirt.engine.core.common.businessentities.VM)36 LunDisk (org.ovirt.engine.core.common.businessentities.storage.LunDisk)35 Test (org.junit.Test)29 HashMap (java.util.HashMap)26 List (java.util.List)26 DiskVmElement (org.ovirt.engine.core.common.businessentities.storage.DiskVmElement)25 Map (java.util.Map)24 StorageDomain (org.ovirt.engine.core.common.businessentities.StorageDomain)18 Collectors (java.util.stream.Collectors)16 ActionParametersBase (org.ovirt.engine.core.common.action.ActionParametersBase)15 VmDeviceId (org.ovirt.engine.core.common.businessentities.VmDeviceId)15 Collection (java.util.Collection)14 Collections (java.util.Collections)14 Set (java.util.Set)14 VmDevice (org.ovirt.engine.core.common.businessentities.VmDevice)14