Search in sources :

Example 71 with NetworkVO

use of com.cloud.network.dao.NetworkVO in project cloudstack by apache.

the class NetworkOrchestratorTest method testDontRemoveDhcpServiceWhenNotProvided.

@Test
public void testDontRemoveDhcpServiceWhenNotProvided() {
    // make local mocks
    VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
    NicVO nic = mock(NicVO.class);
    NetworkVO network = mock(NetworkVO.class);
    // make sure that release dhcp will *not* be called
    when(vm.getType()).thenReturn(Type.User);
    when(testOrchastrator._networkModel.areServicesSupportedInNetwork(network.getId(), Service.Dhcp)).thenReturn(false);
    when(network.getGuruName()).thenReturn(guruName);
    when(testOrchastrator._networksDao.findById(nic.getNetworkId())).thenReturn(network);
    testOrchastrator.removeNic(vm, nic);
    verify(nic, times(1)).setState(Nic.State.Deallocating);
    verify(testOrchastrator._networkModel, never()).getElementImplementingProvider(dhcpProvider);
    verify(testOrchastrator._ntwkSrvcDao, never()).getProviderForServiceInNetwork(network.getId(), Service.Dhcp);
    verify(testOrchastrator._networksDao, times(1)).findById(nic.getNetworkId());
}
Also used : NetworkVO(com.cloud.network.dao.NetworkVO) VirtualMachineProfile(com.cloud.vm.VirtualMachineProfile) NicVO(com.cloud.vm.NicVO) Test(org.junit.Test)

Example 72 with NetworkVO

use of com.cloud.network.dao.NetworkVO in project cloudstack by apache.

the class LoadBalanceRuleHandler method deployLoadBalancerVM.

private DomainRouterVO deployLoadBalancerVM(final Long networkId, final IPAddressVO ipAddr) {
    final NetworkVO network = _networkDao.findById(networkId);
    final DataCenter dc = _dcDao.findById(network.getDataCenterId());
    final Long podId = getPodIdForDirectIp(ipAddr);
    final Pod pod = podId == null ? null : _podDao.findById(podId);
    final Map<VirtualMachineProfile.Param, Object> params = new HashMap<VirtualMachineProfile.Param, Object>(1);
    params.put(VirtualMachineProfile.Param.ReProgramGuestNetworks, true);
    final Account owner = _accountService.getActiveAccountByName("system", new Long(1));
    final DeployDestination dest = new DeployDestination(dc, pod, null, null);
    s_logger.debug("About to deploy ELB vm ");
    try {
        final DomainRouterVO elbVm = deployELBVm(network, dest, owner, params);
        if (elbVm == null) {
            throw new InvalidParameterValueException("Could not deploy or find existing ELB VM");
        }
        s_logger.debug("Deployed ELB  vm = " + elbVm);
        return elbVm;
    } catch (final Throwable t) {
        s_logger.warn("Error while deploying ELB VM:  ", t);
        return null;
    }
}
Also used : Account(com.cloud.user.Account) NetworkVO(com.cloud.network.dao.NetworkVO) Pod(com.cloud.dc.Pod) HashMap(java.util.HashMap) LinkedHashMap(java.util.LinkedHashMap) DataCenter(com.cloud.dc.DataCenter) InvalidParameterValueException(com.cloud.exception.InvalidParameterValueException) DeployDestination(com.cloud.deploy.DeployDestination) Param(com.cloud.vm.VirtualMachineProfile.Param) VirtualMachineProfile(com.cloud.vm.VirtualMachineProfile) DomainRouterVO(com.cloud.vm.DomainRouterVO)

Example 73 with NetworkVO

use of com.cloud.network.dao.NetworkVO in project cloudstack by apache.

the class VirtualMachineModelTest method testCreateVirtualMachine.

@Test
public void testCreateVirtualMachine() throws IOException {
    String uuid = UUID.randomUUID().toString();
    ContrailManagerImpl contrailMgr = mock(ContrailManagerImpl.class);
    ModelController controller = mock(ModelController.class);
    ApiConnector api = new ApiConnectorMock(null, 0);
    when(controller.getManager()).thenReturn(contrailMgr);
    when(controller.getApiAccessor()).thenReturn(api);
    // Create Virtual-Network (VN)
    NetworkVO network = mock(NetworkVO.class);
    when(network.getName()).thenReturn("testnetwork");
    when(network.getState()).thenReturn(Network.State.Allocated);
    when(network.getGateway()).thenReturn("10.1.1.1");
    when(network.getCidr()).thenReturn("10.1.1.0/24");
    when(network.getPhysicalNetworkId()).thenReturn(42L);
    when(network.getDomainId()).thenReturn(10L);
    when(network.getAccountId()).thenReturn(42L);
    when(contrailMgr.getCanonicalName(network)).thenReturn("testnetwork");
    when(contrailMgr.getProjectId(network.getDomainId(), network.getAccountId())).thenReturn("testProjectId");
    // Create Virtual-Machine (VM)
    VMInstanceVO vm = mock(VMInstanceVO.class);
    when(vm.getInstanceName()).thenReturn("testVM1");
    when(vm.getState()).thenReturn(VirtualMachine.State.Starting);
    when(vm.getDomainId()).thenReturn(10L);
    when(vm.getAccountId()).thenReturn(42L);
    UserVmDao VmDao = mock(UserVmDao.class);
    when(VmDao.findById(anyLong())).thenReturn(null);
    when(controller.getVmDao()).thenReturn(VmDao);
    VirtualMachineModel vmModel = new VirtualMachineModel(vm, uuid);
    assertEquals(vmModel.getInstanceName(), "testVM1");
    assertEquals(vmModel.getUuid(), uuid);
    vmModel.build(controller, vm);
    try {
        vmModel.update(controller);
    } catch (Exception ex) {
        fail("virtual-network update failed ");
    }
    //verify
    assertTrue(vmModel.verify(controller));
}
Also used : ContrailManagerImpl(org.apache.cloudstack.network.contrail.management.ContrailManagerImpl) NetworkVO(com.cloud.network.dao.NetworkVO) ApiConnector(net.juniper.contrail.api.ApiConnector) VMInstanceVO(com.cloud.vm.VMInstanceVO) UserVmDao(com.cloud.vm.dao.UserVmDao) ApiConnectorMock(net.juniper.contrail.api.ApiConnectorMock) IOException(java.io.IOException) Test(org.junit.Test)

Example 74 with NetworkVO

use of com.cloud.network.dao.NetworkVO in project cloudstack by apache.

the class VirtualNetworkModelTest method testCreateVirtualNetwork.

@Test
public void testCreateVirtualNetwork() throws IOException {
    String uuid = UUID.randomUUID().toString();
    ContrailManagerImpl contrailMgr = mock(ContrailManagerImpl.class);
    ModelController controller = mock(ModelController.class);
    ApiConnector api = new ApiConnectorMock(null, 0);
    when(controller.getManager()).thenReturn(contrailMgr);
    when(controller.getApiAccessor()).thenReturn(api);
    // Create Virtual-Network (VN)
    NetworkVO network = mock(NetworkVO.class);
    when(network.getName()).thenReturn("testnetwork");
    when(network.getState()).thenReturn(State.Allocated);
    when(network.getGateway()).thenReturn("10.1.1.1");
    when(network.getCidr()).thenReturn("10.1.1.0/24");
    when(network.getPhysicalNetworkId()).thenReturn(42L);
    when(network.getDomainId()).thenReturn(10L);
    when(network.getAccountId()).thenReturn(42L);
    when(contrailMgr.getCanonicalName(network)).thenReturn("testnetwork");
    when(contrailMgr.getProjectId(network.getDomainId(), network.getAccountId())).thenReturn("testProjectId");
    VirtualNetworkModel vnModel = new VirtualNetworkModel(network, uuid, "testnetwork", TrafficType.Guest);
    assertEquals(vnModel.getName(), "testnetwork");
    assertEquals(vnModel.getUuid(), uuid);
    vnModel.build(controller, network);
    try {
        vnModel.update(controller);
    } catch (Exception ex) {
        fail("virtual-network update failed ");
    }
    assertTrue(vnModel.verify(controller));
}
Also used : ContrailManagerImpl(org.apache.cloudstack.network.contrail.management.ContrailManagerImpl) NetworkVO(com.cloud.network.dao.NetworkVO) ApiConnector(net.juniper.contrail.api.ApiConnector) ApiConnectorMock(net.juniper.contrail.api.ApiConnectorMock) IOException(java.io.IOException) Test(org.junit.Test)

Example 75 with NetworkVO

use of com.cloud.network.dao.NetworkVO in project cloudstack by apache.

the class VirtualNetworkModelTest method setUp.

@Override
@Before
public void setUp() throws IOException {
    //Network UUIDs
    String uuid = UUID.randomUUID().toString();
    String uuid1 = UUID.randomUUID().toString();
    String uuid2 = UUID.randomUUID().toString();
    String uuid3 = UUID.randomUUID().toString();
    //ContrailManager
    ContrailManagerImpl contrailMgr = mock(ContrailManagerImpl.class);
    controller = mock(ModelController.class);
    VlanDao vlanDao = mock(VlanDao.class);
    ApiConnector api = mock(ApiConnectorMock.class);
    //Mock classes/methods
    when(controller.getManager()).thenReturn(contrailMgr);
    when(controller.getApiAccessor()).thenReturn(api);
    when(controller.getVlanDao()).thenReturn(vlanDao);
    //Policy References used by vnModel1
    List<ObjectReference<VirtualNetworkPolicyType>> policyRefs1 = new ArrayList<ObjectReference<VirtualNetworkPolicyType>>();
    ObjectReference<VirtualNetworkPolicyType> objectReference1 = new ObjectReference<VirtualNetworkPolicyType>();
    policyRefs1.add(objectReference1);
    //Policy References used by vnModel2
    List<ObjectReference<VirtualNetworkPolicyType>> policyRefs2 = new ArrayList<ObjectReference<VirtualNetworkPolicyType>>();
    ObjectReference<VirtualNetworkPolicyType> objectReference2 = new ObjectReference<VirtualNetworkPolicyType>();
    policyRefs2.add(objectReference2);
    //Policy References used by vnModel3
    List<ObjectReference<VirtualNetworkPolicyType>> policyRefs3 = new ArrayList<ObjectReference<VirtualNetworkPolicyType>>();
    ObjectReference<VirtualNetworkPolicyType> objectReference3 = new ObjectReference<VirtualNetworkPolicyType>();
    objectReference3.setReference(Arrays.asList(""), null, null, UUID.randomUUID().toString());
    policyRefs3.add(objectReference3);
    //Network to be compared with
    VirtualNetwork vn = mock(VirtualNetwork.class);
    when(api.findById(VirtualNetwork.class, uuid)).thenReturn(vn);
    //Network to be compared with
    VirtualNetwork vn1 = mock(VirtualNetwork.class);
    when(api.findById(VirtualNetwork.class, uuid1)).thenReturn(vn1);
    when(vn1.getNetworkPolicy()).thenReturn(policyRefs1);
    //Network to be compared to
    VirtualNetwork vn2 = mock(VirtualNetwork.class);
    when(api.findById(VirtualNetwork.class, uuid2)).thenReturn(vn2);
    when(vn2.getNetworkPolicy()).thenReturn(policyRefs2);
    //Network to be compared to
    VirtualNetwork vn3 = mock(VirtualNetwork.class);
    when(api.findById(VirtualNetwork.class, uuid3)).thenReturn(vn3);
    when(vn3.getNetworkPolicy()).thenReturn(policyRefs3);
    //Virtual-Network 1
    NetworkVO network1 = mock(NetworkVO.class);
    when(network1.getName()).thenReturn("testnetwork");
    when(network1.getState()).thenReturn(State.Allocated);
    when(network1.getGateway()).thenReturn("10.1.1.1");
    when(network1.getCidr()).thenReturn("10.1.1.0/24");
    when(network1.getPhysicalNetworkId()).thenReturn(42L);
    when(network1.getDomainId()).thenReturn(10L);
    when(network1.getAccountId()).thenReturn(42L);
    //Virtual-Network 2
    NetworkVO network2 = mock(NetworkVO.class);
    when(network2.getName()).thenReturn("Testnetwork");
    when(network2.getState()).thenReturn(State.Allocated);
    when(network2.getGateway()).thenReturn("10.1.1.1");
    when(network2.getCidr()).thenReturn("10.1.1.0/24");
    when(network2.getPhysicalNetworkId()).thenReturn(42L);
    when(network2.getDomainId()).thenReturn(10L);
    when(network2.getAccountId()).thenReturn(42L);
    //Virtual-Network 3
    NetworkVO network3 = mock(NetworkVO.class);
    when(network3.getName()).thenReturn("Testnetwork");
    when(network3.getState()).thenReturn(State.Allocated);
    when(network3.getGateway()).thenReturn("10.1.1.1");
    when(network3.getCidr()).thenReturn("10.1.1.0/24");
    when(network3.getPhysicalNetworkId()).thenReturn(42L);
    when(network3.getDomainId()).thenReturn(10L);
    when(network3.getAccountId()).thenReturn(42L);
    when(contrailMgr.getCanonicalName(network1)).thenReturn("testnetwork");
    when(contrailMgr.getProjectId(network1.getDomainId(), network1.getAccountId())).thenReturn("testProjectId");
    vnModel = new VirtualNetworkModel(network1, uuid, "testnetwork", TrafficType.Guest);
    vnModel1 = new VirtualNetworkModel(network1, uuid1, "testnetwork", TrafficType.Guest);
    vnModel2 = new VirtualNetworkModel(network2, uuid2, "testnetwork", TrafficType.Guest);
    vnModel3 = new VirtualNetworkModel(network3, uuid3, "testnetwork", TrafficType.Guest);
}
Also used : VirtualNetworkPolicyType(net.juniper.contrail.api.types.VirtualNetworkPolicyType) VlanDao(com.cloud.dc.dao.VlanDao) NetworkVO(com.cloud.network.dao.NetworkVO) ApiConnector(net.juniper.contrail.api.ApiConnector) ArrayList(java.util.ArrayList) VirtualNetwork(net.juniper.contrail.api.types.VirtualNetwork) ContrailManagerImpl(org.apache.cloudstack.network.contrail.management.ContrailManagerImpl) ObjectReference(net.juniper.contrail.api.ObjectReference) Before(org.junit.Before)

Aggregations

NetworkVO (com.cloud.network.dao.NetworkVO)230 PhysicalNetworkVO (com.cloud.network.dao.PhysicalNetworkVO)108 ArrayList (java.util.ArrayList)79 Test (org.junit.Test)56 InvalidParameterValueException (com.cloud.exception.InvalidParameterValueException)55 CloudRuntimeException (com.cloud.utils.exception.CloudRuntimeException)49 Account (com.cloud.user.Account)44 Network (com.cloud.network.Network)39 DataCenterVO (com.cloud.dc.DataCenterVO)35 DataCenter (com.cloud.dc.DataCenter)34 NicVO (com.cloud.vm.NicVO)33 NicProfile (com.cloud.vm.NicProfile)27 HostVO (com.cloud.host.HostVO)24 NetworkOffering (com.cloud.offering.NetworkOffering)24 NetworkOfferingVO (com.cloud.offerings.NetworkOfferingVO)22 ReservationContext (com.cloud.vm.ReservationContext)22 ResourceUnavailableException (com.cloud.exception.ResourceUnavailableException)20 DeployDestination (com.cloud.deploy.DeployDestination)19 ConcurrentOperationException (com.cloud.exception.ConcurrentOperationException)19 NetworkGuru (com.cloud.network.guru.NetworkGuru)19