use of org.ovirt.engine.core.common.businessentities.network.VmNetworkInterface in project ovirt-engine by oVirt.
the class VmNetworkInterfaceDaoTest method testGetAllInterfacesForVmFilteredWithoutPermissionsAndWithoutFiltering.
/**
* Ensures that the VMs for an unprivileged user are returned if no filtering is requested
*/
@Test
public void testGetAllInterfacesForVmFilteredWithoutPermissionsAndWithoutFiltering() {
List<VmNetworkInterface> result = dao.getAllForVm(VM_ID, UNPRIVILEGED_USER_ID, false);
assertNotNull(result);
assertFalse(result.isEmpty());
for (VmNetworkInterface iface : result) {
assertEquals(VM_ID, iface.getVmId());
}
}
use of org.ovirt.engine.core.common.businessentities.network.VmNetworkInterface in project ovirt-engine by oVirt.
the class BackendTemplateNicsResource method list.
@Override
public Nics list() {
Nics nics = new Nics();
List<VmNetworkInterface> entities = getBackendCollection(QueryType.GetTemplateInterfacesByTemplateId, new IdQueryParameters(templateId));
for (VmNetworkInterface entity : entities) {
Nic nic = populate(map(entity), entity);
nics.getNics().add(addLinks(nic));
}
return nics;
}
use of org.ovirt.engine.core.common.businessentities.network.VmNetworkInterface in project ovirt-engine by oVirt.
the class SnapshotsManager method synchronizeNics.
/**
* Synchronize the VM's {@link VmNetworkInterface}s with the ones from the snapshot.<br>
* All existing NICs will be deleted, and the ones from the snapshot re-added.<br>
* In case a MAC address is already in use, the user will be issued a warning in the audit log.
*
* @param user
* The user that performs the action
* @param vmInterfaceManager vmInterfaceManager instance
*/
private void synchronizeNics(VM snapshotedVm, CompensationContext compensationContext, DbUser user, VmInterfaceManager vmInterfaceManager, boolean macsInSnapshotAreExpectedToBeAlreadyAllocated) {
VnicProfileHelper vnicProfileHelper = new VnicProfileHelper(snapshotedVm.getClusterId(), snapshotedVm.getStoragePoolId(), AuditLogType.IMPORTEXPORT_SNAPSHOT_VM_INVALID_INTERFACES);
MacPool macPool = vmInterfaceManager.getMacPool();
/*what is at moment of calling this in DB are data related to (stateless) VM being updated/overwritten by
* snapshot data.
*/
List<VmNic> dbNics = vmNicDao.getAllForVm(snapshotedVm.getId());
/*
* while snapshotedVm.getInterfaces() are interfaces taken from VM passed into here via parameter. This instance originates from same DB
* record, but it was updated with ovf snapshot, so at the moment of calling this, VM is filled with data to
* which we need to revert for example stateless VM being stopped.
*/
new SyncMacsOfDbNicsWithSnapshot(macPool, auditLogDirector, macsInSnapshotAreExpectedToBeAlreadyAllocated).sync(dbNics, snapshotedVm.getInterfaces());
vmInterfaceManager.removeAll(dbNics);
for (VmNetworkInterface vmInterface : snapshotedVm.getInterfaces()) {
vmInterface.setVmId(snapshotedVm.getId());
// These fields might not be saved in the OVF, so fill them with reasonable values.
if (vmInterface.getId() == null) {
vmInterface.setId(Guid.newGuid());
}
vnicProfileHelper.updateNicWithVnicProfileForUser(vmInterface, user);
vmInterfaceManager.persistIface(vmInterface, compensationContext);
}
vnicProfileHelper.auditInvalidInterfaces(snapshotedVm.getName());
}
use of org.ovirt.engine.core.common.businessentities.network.VmNetworkInterface in project ovirt-engine by oVirt.
the class MatchUserMappingToOvfVnicTest method testFindMappingEntry.
@Test
public void testFindMappingEntry() {
VmNetworkInterface vnic = new VmNetworkInterface();
vnic.setNetworkName(NETWORK_NAME);
vnic.setVnicProfileName(VNIC_PROFILE1_NAME);
MapVnicsContext ctx = new MapVnicsContext();
ctx.setUserMappings(externalVnicProfileMappings);
ctx.setOvfVnics(singletonList(vnic));
underTest.handle(ctx);
assertThat(ctx.getMatched().get(vnic), sameInstance(externalVnicProfileMapping1));
}
use of org.ovirt.engine.core.common.businessentities.network.VmNetworkInterface in project ovirt-engine by oVirt.
the class MatchUserMappingToOvfVnicTest method testFindMappingEntryEmptyExternal.
@Test
public void testFindMappingEntryEmptyExternal() {
VmNetworkInterface vnic = new VmNetworkInterface();
vnic.setNetworkName(NETWORK_NAME);
vnic.setVnicProfileName(VNIC_PROFILE1_NAME);
MapVnicsContext ctx = new MapVnicsContext();
ctx.setUserMappings(singletonList(emptySourceMapping));
ctx.setOvfVnics(singletonList(vnic));
underTest.handle(ctx);
assertEquals(null, ctx.getMatched().get(vnic));
}
Aggregations