use of org.ovirt.engine.core.common.businessentities.StoragePoolIsoMap in project ovirt-engine by oVirt.
the class ProcessOvfUpdateForStoragePoolCommandTest method performStoragePoolInitOps.
private void performStoragePoolInitOps(StoragePool pool) {
executedUpdatedOvfGenerationIdsInDb = new HashMap<>();
for (int i = 0; i < 2; i++) {
Guid domainId = Guid.newGuid();
StorageDomainOvfInfo ovfInfo = new StorageDomainOvfInfo(domainId, null, null, StorageDomainOvfInfoStatus.UPDATED, null);
StorageDomain domain = new StorageDomain();
domain.setId(domainId);
domain.setStoragePoolIsoMapData(new StoragePoolIsoMap(domainId, pool.getId(), StorageDomainStatus.Active));
poolDomainsOvfInfo.put(domainId, new Pair<>(Collections.singletonList(ovfInfo), domain));
}
}
use of org.ovirt.engine.core.common.businessentities.StoragePoolIsoMap in project ovirt-engine by oVirt.
the class DeactivateStorageDomainCommandTest method setup.
@Before
public void setup() {
map = new StoragePoolIsoMap();
cmd.init();
}
use of org.ovirt.engine.core.common.businessentities.StoragePoolIsoMap in project ovirt-engine by oVirt.
the class UpdateStorageServerConnectionCommandTest method updateConnectionOfDomainsAndLunDisks.
@Test
public void updateConnectionOfDomainsAndLunDisks() {
StorageServerConnections iscsiConnection = createISCSIConnection("10.35.16.25", StorageType.ISCSI, "iqn.2013-04.myhat.com:aaa-target1", "3260", "user1", "mypassword123");
LUNs lun1 = new LUNs();
lun1.setLUNId("3600144f09dbd05000000517e730b1212");
lun1.setVolumeGroupId("");
lun1.setDiskAlias("disk1");
Guid diskId1 = Guid.newGuid();
lun1.setDiskId(diskId1);
LUNs lun2 = new LUNs();
lun2.setLUNId("3600144f09dbd05000000517e730b1212");
lun2.setVolumeGroupId("");
lun2.setDiskAlias("disk2");
Guid diskId2 = Guid.newGuid();
lun2.setDiskId(diskId2);
LUNs lun3 = new LUNs();
lun3.setLUNId("3600144f09dbd05000000517e730b1212");
lun3.setStorageDomainName("storagedomain4");
Guid storageDomainId = Guid.newGuid();
lun3.setStorageDomainId(storageDomainId);
lun3.setVolumeGroupId(Guid.newGuid().toString());
List<LUNs> luns = Arrays.asList(lun1, lun2, lun3);
Map<Boolean, List<VM>> vmsMap = new HashMap<>();
VM vm1 = new VM();
vm1.setName("vm1");
vm1.setStatus(VMStatus.Up);
VM vm2 = new VM();
vm2.setName("vm2");
vm2.setStatus(VMStatus.Down);
VM vm3 = new VM();
vm3.setName("vm3");
vm3.setStatus(VMStatus.Up);
List<VM> pluggedVms = Arrays.asList(vm1, vm2);
List<VM> unPluggedVms = Collections.singletonList(vm3);
vmsMap.put(Boolean.FALSE, unPluggedVms);
vmsMap.put(Boolean.TRUE, pluggedVms);
when(vmDao.getForDisk(diskId1, true)).thenReturn(vmsMap);
parameters.setStorageServerConnection(iscsiConnection);
when(storageConnDao.get(iscsiConnection.getId())).thenReturn(iscsiConnection);
doReturn(luns).when(command).getLuns();
StorageDomain domain1 = new StorageDomain();
domain1.setStorage(iscsiConnection.getConnection());
domain1.setStatus(StorageDomainStatus.Active);
domain1.setStorageDomainSharedStatus(StorageDomainSharedStatus.Active);
domain1.setId(storageDomainId);
domain1.setStorageName("storagedomain4");
when(storageDomainDao.get(storageDomainId)).thenReturn(domain1);
when(storagePoolIsoMapDao.getAllForStorage(storageDomainId)).thenReturn(Collections.singletonList(new StoragePoolIsoMap(storageDomainId, Guid.newGuid(), StorageDomainStatus.Active)));
List<String> messages = ValidateTestUtils.runAndAssertValidateFailure(command, EngineMessage.ACTION_TYPE_FAILED_STORAGE_CONNECTION_UNSUPPORTED_ACTION_FOR_RUNNING_VMS_AND_DOMAINS_STATUS);
assertTrue(messages.contains("$vmNames vm1"));
assertTrue(messages.contains("$domainNames storagedomain4"));
}
use of org.ovirt.engine.core.common.businessentities.StoragePoolIsoMap in project ovirt-engine by oVirt.
the class UpdateStorageServerConnectionCommandTest method failUpdateConnectToStorage.
@Test
public void failUpdateConnectToStorage() {
StorageServerConnections newNFSConnection = createNFSConnection("multipass.my.domain.tlv.company.com:/export/allstorage/data2", StorageType.NFS, NfsVersion.V4, 300, 0);
parameters.setStorageServerConnection(newNFSConnection);
doReturn(false).when(command).connectToStorage();
VDSReturnValue returnValueUpdate = new VDSReturnValue();
returnValueUpdate.setSucceeded(true);
StorageDomainDynamic domainDynamic = new StorageDomainDynamic();
StorageDomain domain = createDomain();
initDomainListForConnection(newNFSConnection.getId(), domain);
StoragePoolIsoMap map = new StoragePoolIsoMap();
doReturn(Collections.singletonList(map)).when(command).getStoragePoolIsoMap(domain);
command.executeCommand();
CommandAssertUtils.checkSucceeded(command, true);
verify(storageDomainDynamicDao, never()).update(domainDynamic);
verify(command, never()).disconnectFromStorage();
}
use of org.ovirt.engine.core.common.businessentities.StoragePoolIsoMap in project ovirt-engine by oVirt.
the class ActivateStorageDomainCommand method executeCommand.
@Override
protected void executeCommand() {
if (isCinderStorageDomain()) {
activateCinderStorageDomain();
return;
}
final StoragePoolIsoMap map = storagePoolIsoMapDao.get(new StoragePoolIsoMapId(getParameters().getStorageDomainId(), getParameters().getStoragePoolId()));
// Master domain must not go through the Activating status.
changeStorageDomainStatusInTransaction(map, (getStorageDomain().getStorageDomainType() == StorageDomainType.Master) ? StorageDomainStatus.Locked : StorageDomainStatus.Activating);
freeLock();
log.info("ActivateStorage Domain. Before Connect all hosts to pool. Time: {}", new Date());
List<Pair<Guid, Boolean>> hostsConnectionResults = connectHostsInUpToDomainStorageServer();
if (isAllHostConnectionFailed(hostsConnectionResults)) {
log.error("Cannot connect storage server, aborting Storage Domain activation.");
setSucceeded(false);
return;
}
syncStorageDomainInfo(hostsConnectionResults);
runVdsCommand(VDSCommandType.ActivateStorageDomain, new ActivateStorageDomainVDSCommandParameters(getStoragePool().getId(), getStorageDomain().getId()));
log.info("ActivateStorage Domain. After Connect all hosts to pool. Time: {}", new Date());
TransactionSupport.executeInNewTransaction(() -> {
map.setStatus(StorageDomainStatus.Active);
storagePoolIsoMapDao.updateStatus(map.getId(), map.getStatus());
if (getStorageDomain().getStorageDomainType() == StorageDomainType.Master) {
calcStoragePoolStatusByDomainsStatus();
}
return null;
});
refreshAllVdssInPool();
log.info("ActivateStorage Domain. After change storage pool status in vds. Time: {}", new Date());
if (getStorageDomain().getStorageDomainType() == StorageDomainType.ISO) {
isoDomainListSynchronizer.refresheIsoDomainWhenActivateDomain(getStorageDomain().getId(), getStoragePool().getId());
}
setSucceeded(true);
}
Aggregations