mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
VPC: CS-15850 - don't unplug the nic for public network when there are existing ips in the same vlan having network rules
Conflicts: server/src/com/cloud/network/vpc/VpcManagerImpl.java
This commit is contained in:
parent
a83c753354
commit
d38e9eebed
@ -963,6 +963,7 @@ public class VpcManagerImpl implements VpcManager, Manager{
|
|||||||
|
|
||||||
throw new InvalidParameterValueException("Only networks of type " + GuestType.Isolated + " with service "
|
throw new InvalidParameterValueException("Only networks of type " + GuestType.Isolated + " with service "
|
||||||
+ Service.SourceNat + " can be added as a part of VPC");
|
+ Service.SourceNat + " can be added as a part of VPC");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//3) No redundant router support
|
//3) No redundant router support
|
||||||
|
|||||||
@ -49,7 +49,6 @@ public class VpcApiUnitTest extends TestCase{
|
|||||||
MockComponentLocator _locator;
|
MockComponentLocator _locator;
|
||||||
VpcManager _vpcService;
|
VpcManager _vpcService;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Before
|
@Before
|
||||||
public void setUp() throws Exception {
|
public void setUp() throws Exception {
|
||||||
@ -94,53 +93,76 @@ public class VpcApiUnitTest extends TestCase{
|
|||||||
try {
|
try {
|
||||||
_vpcService.validateNtkwOffForVpc(1, "0.0.0.0", "111-", new AccountVO(), _vpcService.getVpc(1), 2L, "10.1.1.1");
|
_vpcService.validateNtkwOffForVpc(1, "0.0.0.0", "111-", new AccountVO(), _vpcService.getVpc(1), 2L, "10.1.1.1");
|
||||||
result = true;
|
result = true;
|
||||||
s_logger.debug("Test1 passed, the offering is valid for vpc creation");
|
s_logger.debug("Test passed: the offering is valid for vpc creation");
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
s_logger.warn("Test1 failed due to exc ", ex);
|
s_logger.warn("TEST FAILED due to exc ", ex);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//2) invalid offering - source nat is not included
|
//2) invalid offering - source nat is not included
|
||||||
result = false;
|
result = false;
|
||||||
|
String msg = null;
|
||||||
try {
|
try {
|
||||||
_vpcService.validateNtkwOffForVpc(2, "0.0.0.0", "111-", new AccountVO(), _vpcService.getVpc(1), 2L, "10.1.1.1");
|
_vpcService.validateNtkwOffForVpc(2, "0.0.0.0", "111-", new AccountVO(), _vpcService.getVpc(1), 2L, "10.1.1.1");
|
||||||
result = true;
|
result = true;
|
||||||
} catch (InvalidParameterValueException ex) {
|
} catch (InvalidParameterValueException ex) {
|
||||||
|
msg = ex.getMessage();
|
||||||
} finally {
|
} finally {
|
||||||
if (!result) {
|
if (!result) {
|
||||||
s_logger.debug("Test2 passed, can't use network offering without SourceNat service");
|
s_logger.debug("Test passed: " + msg);
|
||||||
} else {
|
} else {
|
||||||
s_logger.warn("Test2 failed, can't use network offering without SourceNat service");
|
s_logger.warn("TEST FAILED, can't use network offering without SourceNat service");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//3) invalid offering - conserve mode is off
|
//3) invalid offering - conserve mode is off
|
||||||
result = false;
|
result = false;
|
||||||
|
msg = null;
|
||||||
try {
|
try {
|
||||||
_vpcService.validateNtkwOffForVpc(3, "0.0.0.0", "111-", new AccountVO(), _vpcService.getVpc(1), 2L, "10.1.1.1");
|
_vpcService.validateNtkwOffForVpc(3, "0.0.0.0", "111-", new AccountVO(), _vpcService.getVpc(1), 2L, "10.1.1.1");
|
||||||
result = true;
|
result = true;
|
||||||
} catch (InvalidParameterValueException ex) {
|
} catch (InvalidParameterValueException ex) {
|
||||||
|
msg = ex.getMessage();
|
||||||
} finally {
|
} finally {
|
||||||
if (!result) {
|
if (!result) {
|
||||||
s_logger.debug("Test3 passed, can't use network offering without conserve mode = true");
|
s_logger.debug("Test passed: " + msg);
|
||||||
} else {
|
} else {
|
||||||
s_logger.warn("Test3 failed, can't use network offering without conserve mode = true");
|
s_logger.warn("TEST FAILED, can't use network offering without conserve mode = true");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//3) invalid offering - guest type shared
|
//4) invalid offering - guest type shared
|
||||||
result = false;
|
result = false;
|
||||||
try {
|
try {
|
||||||
_vpcService.validateNtkwOffForVpc(4, "0.0.0.0", "111-", new AccountVO(), _vpcService.getVpc(1), 2L, "10.1.1.1");
|
_vpcService.validateNtkwOffForVpc(4, "0.0.0.0", "111-", new AccountVO(), _vpcService.getVpc(1), 2L, "10.1.1.1");
|
||||||
result = true;
|
result = true;
|
||||||
} catch (InvalidParameterValueException ex) {
|
} catch (InvalidParameterValueException ex) {
|
||||||
|
msg = ex.getMessage();
|
||||||
} finally {
|
} finally {
|
||||||
if (!result) {
|
if (!result) {
|
||||||
s_logger.debug("Test4 passed, can't use network offering with guest type = Shared");
|
s_logger.debug("Test passed: " + msg);
|
||||||
} else {
|
} else {
|
||||||
s_logger.warn("Test4 failed, can't use network offering with guest type = Shared");
|
s_logger.warn("TEST FAILED, can't use network offering with guest type = Shared");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//5) Invalid offering - no redundant router supportresult = false;
|
||||||
|
try {
|
||||||
|
_vpcService.validateNtkwOffForVpc(5, "0.0.0.0", "111-", new AccountVO(), _vpcService.getVpc(1), 2L, "10.1.1.1");
|
||||||
|
result = true;
|
||||||
|
} catch (InvalidParameterValueException ex) {
|
||||||
|
msg = ex.getMessage();
|
||||||
|
} finally {
|
||||||
|
if (!result) {
|
||||||
|
s_logger.debug("Test passed: " + msg);
|
||||||
|
} else {
|
||||||
|
s_logger.warn("TEST FAILED, can't use network offering with guest type = Shared");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//6) Only one network in the VPC can support LB service - positive scenario
|
||||||
|
|
||||||
|
//7) Only one netowrk in the VPC can support LB service - negative scenario
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
339
server/test/com/cloud/vpc/dao/MockNetworkDaoImpl.java
Normal file
339
server/test/com/cloud/vpc/dao/MockNetworkDaoImpl.java
Normal file
@ -0,0 +1,339 @@
|
|||||||
|
// Copyright 2012 Citrix Systems, Inc. Licensed under the
|
||||||
|
// Apache License, Version 2.0 (the "License"); you may not use this
|
||||||
|
// file except in compliance with the License. Citrix Systems, Inc.
|
||||||
|
// reserves all rights not expressly granted by the License.
|
||||||
|
// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
// Unless required by applicable law or agreed to in writing, software
|
||||||
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
// See the License for the specific language governing permissions and
|
||||||
|
// limitations under the License.
|
||||||
|
//
|
||||||
|
// Automatically generated by addcopyright.py at 04/03/2012
|
||||||
|
package com.cloud.vpc.dao;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
import javax.ejb.Local;
|
||||||
|
|
||||||
|
import com.cloud.network.Network.GuestType;
|
||||||
|
import com.cloud.network.NetworkAccountVO;
|
||||||
|
import com.cloud.network.NetworkVO;
|
||||||
|
import com.cloud.network.Networks.TrafficType;
|
||||||
|
import com.cloud.network.dao.NetworkDao;
|
||||||
|
import com.cloud.utils.db.DB;
|
||||||
|
import com.cloud.utils.db.GenericDaoBase;
|
||||||
|
import com.cloud.utils.db.SearchBuilder;
|
||||||
|
|
||||||
|
@Local(value = NetworkDao.class)
|
||||||
|
@DB(txn = false)
|
||||||
|
public class MockNetworkDaoImpl extends GenericDaoBase<NetworkVO, Long> implements NetworkDao{
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see com.cloud.network.dao.NetworkDao#listByOwner(long)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<NetworkVO> listByOwner(long ownerId) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see com.cloud.network.dao.NetworkDao#listBy(long, long, long)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<NetworkVO> listBy(long accountId, long offeringId, long dataCenterId) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see com.cloud.network.dao.NetworkDao#listBy(long, long, java.lang.String, boolean)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<NetworkVO> listBy(long accountId, long dataCenterId, String cidr, boolean skipVpc) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see com.cloud.network.dao.NetworkDao#listByZoneAndGuestType(long, long, com.cloud.network.Network.GuestType, java.lang.Boolean)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<NetworkVO> listByZoneAndGuestType(long accountId, long dataCenterId, GuestType type, Boolean isSystem) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see com.cloud.network.dao.NetworkDao#persist(com.cloud.network.NetworkVO, boolean, java.util.Map)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public NetworkVO persist(NetworkVO network, boolean gc, Map<String, String> serviceProviderMap) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see com.cloud.network.dao.NetworkDao#createSearchBuilderForAccount()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public SearchBuilder<NetworkAccountVO> createSearchBuilderForAccount() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see com.cloud.network.dao.NetworkDao#getNetworksForOffering(long, long, long)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<NetworkVO> getNetworksForOffering(long offeringId, long dataCenterId, long accountId) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see com.cloud.network.dao.NetworkDao#getNextAvailableMacAddress(long)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public String getNextAvailableMacAddress(long networkConfigId) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see com.cloud.network.dao.NetworkDao#listBy(long, long)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<NetworkVO> listBy(long accountId, long networkId) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see com.cloud.network.dao.NetworkDao#countByZoneAndUri(long, java.lang.String)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public long countByZoneAndUri(long zoneId, String broadcastUri) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see com.cloud.network.dao.NetworkDao#countByZoneUriAndGuestType(long, java.lang.String, com.cloud.network.Network.GuestType)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public long countByZoneUriAndGuestType(long zoneId, String broadcastUri, GuestType guestType) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see com.cloud.network.dao.NetworkDao#listByZone(long)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<NetworkVO> listByZone(long zoneId) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see com.cloud.network.dao.NetworkDao#changeActiveNicsBy(long, int)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void changeActiveNicsBy(long networkId, int nicsCount) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see com.cloud.network.dao.NetworkDao#getActiveNicsIn(long)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public int getActiveNicsIn(long networkId) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see com.cloud.network.dao.NetworkDao#findNetworksToGarbageCollect()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<Long> findNetworksToGarbageCollect() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see com.cloud.network.dao.NetworkDao#clearCheckForGc(long)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void clearCheckForGc(long networkId) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see com.cloud.network.dao.NetworkDao#listByZoneSecurityGroup(java.lang.Long)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<NetworkVO> listByZoneSecurityGroup(Long zoneId) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see com.cloud.network.dao.NetworkDao#addDomainToNetwork(long, long, java.lang.Boolean)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void addDomainToNetwork(long networkId, long domainId, Boolean subdomainAccess) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see com.cloud.network.dao.NetworkDao#listByPhysicalNetwork(long)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<NetworkVO> listByPhysicalNetwork(long physicalNetworkId) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see com.cloud.network.dao.NetworkDao#listSecurityGroupEnabledNetworks()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<NetworkVO> listSecurityGroupEnabledNetworks() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see com.cloud.network.dao.NetworkDao#listByPhysicalNetworkTrafficType(long, com.cloud.network.Networks.TrafficType)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<NetworkVO> listByPhysicalNetworkTrafficType(long physicalNetworkId, TrafficType trafficType) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see com.cloud.network.dao.NetworkDao#listBy(long, long, com.cloud.network.Network.GuestType, com.cloud.network.Networks.TrafficType)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<NetworkVO> listBy(long accountId, long dataCenterId, GuestType type, TrafficType trafficType) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see com.cloud.network.dao.NetworkDao#listByPhysicalNetworkAndProvider(long, java.lang.String)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<NetworkVO> listByPhysicalNetworkAndProvider(long physicalNetworkId, String providerName) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see com.cloud.network.dao.NetworkDao#persistNetworkServiceProviders(long, java.util.Map)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void persistNetworkServiceProviders(long networkId, Map<String, String> serviceProviderMap) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see com.cloud.network.dao.NetworkDao#update(java.lang.Long, com.cloud.network.NetworkVO, java.util.Map)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public boolean update(Long networkId, NetworkVO network, Map<String, String> serviceProviderMap) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see com.cloud.network.dao.NetworkDao#listByZoneAndTrafficType(long, com.cloud.network.Networks.TrafficType)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<NetworkVO> listByZoneAndTrafficType(long zoneId, TrafficType trafficType) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see com.cloud.network.dao.NetworkDao#setCheckForGc(long)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void setCheckForGc(long networkId) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see com.cloud.network.dao.NetworkDao#getNetworkCountByNetworkOffId(long)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public int getNetworkCountByNetworkOffId(long networkOfferingId) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see com.cloud.network.dao.NetworkDao#countNetworksUserCanCreate(long)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public long countNetworksUserCanCreate(long ownerId) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see com.cloud.network.dao.NetworkDao#listSourceNATEnabledNetworks(long, long, com.cloud.network.Network.GuestType)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<NetworkVO> listSourceNATEnabledNetworks(long accountId, long dataCenterId, GuestType type) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see com.cloud.network.dao.NetworkDao#getNetworkCountByVpcId(long)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public int getNetworkCountByVpcId(long vpcId) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see com.cloud.network.dao.NetworkDao#listByVpc(long)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<NetworkVO> listByVpc(long vpcId) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see com.cloud.network.dao.NetworkDao#getPrivateNetwork(java.lang.String, java.lang.String, long, long)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public NetworkVO getPrivateNetwork(String broadcastUri, String cidr, long accountId, long zoneId) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see com.cloud.network.dao.NetworkDao#countVpcNetworks(long)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public long countVpcNetworks(long vpcId) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -98,19 +98,6 @@ public class MockNetworkOfferingDaoImpl extends GenericDaoBase<NetworkOfferingVO
|
|||||||
//network offering valid for vpc
|
//network offering valid for vpc
|
||||||
vo = new NetworkOfferingVO("vpc", "vpc", TrafficType.Guest, false, true, null, null, false,
|
vo = new NetworkOfferingVO("vpc", "vpc", TrafficType.Guest, false, true, null, null, false,
|
||||||
Availability.Optional, null, Network.GuestType.Isolated, false, false);
|
Availability.Optional, null, Network.GuestType.Isolated, false, false);
|
||||||
Class<?> c = vo.getClass();
|
|
||||||
|
|
||||||
try {
|
|
||||||
Field f = c.getDeclaredField("id");
|
|
||||||
f.setAccessible(true);
|
|
||||||
f.setLong(vo, 1L);
|
|
||||||
} catch (NoSuchFieldException ex) {
|
|
||||||
s_logger.warn(ex);
|
|
||||||
return null;
|
|
||||||
} catch (IllegalAccessException ex) {
|
|
||||||
s_logger.warn(ex);
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
} else if (id.longValue() == 2) {
|
} else if (id.longValue() == 2) {
|
||||||
//invalid offering - source nat is not included
|
//invalid offering - source nat is not included
|
||||||
vo = new NetworkOfferingVO("vpc", "vpc", TrafficType.Guest, false, true, null, null, false,
|
vo = new NetworkOfferingVO("vpc", "vpc", TrafficType.Guest, false, true, null, null, false,
|
||||||
@ -123,9 +110,36 @@ public class MockNetworkOfferingDaoImpl extends GenericDaoBase<NetworkOfferingVO
|
|||||||
//network offering invalid for vpc (Shared)
|
//network offering invalid for vpc (Shared)
|
||||||
vo = new NetworkOfferingVO("non vpc", "non vpc", TrafficType.Guest, false, true, null, null, false,
|
vo = new NetworkOfferingVO("non vpc", "non vpc", TrafficType.Guest, false, true, null, null, false,
|
||||||
Availability.Optional, null, Network.GuestType.Shared, false, false);
|
Availability.Optional, null, Network.GuestType.Shared, false, false);
|
||||||
|
} else if (id.longValue() == 5) {
|
||||||
|
//network offering invalid for vpc (Shared)
|
||||||
|
vo = new NetworkOfferingVO("vpc", "vpc", TrafficType.Guest, false, true, null, null, false,
|
||||||
|
Availability.Optional, null, Network.GuestType.Isolated, false, false);
|
||||||
|
vo.setRedundantRouter(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (vo != null) {
|
||||||
|
vo = setId(vo, id);
|
||||||
}
|
}
|
||||||
|
|
||||||
return vo;
|
return vo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private NetworkOfferingVO setId(NetworkOfferingVO vo, long id) {
|
||||||
|
NetworkOfferingVO voToReturn = vo;
|
||||||
|
Class<?> c = voToReturn.getClass();
|
||||||
|
try {
|
||||||
|
Field f = c.getDeclaredField("id");
|
||||||
|
f.setAccessible(true);
|
||||||
|
f.setLong(voToReturn, id);
|
||||||
|
} catch (NoSuchFieldException ex) {
|
||||||
|
s_logger.warn(ex);
|
||||||
|
return null;
|
||||||
|
} catch (IllegalAccessException ex) {
|
||||||
|
s_logger.warn(ex);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return voToReturn;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -14,9 +14,7 @@ package com.cloud.vpc.dao;
|
|||||||
|
|
||||||
import javax.ejb.Local;
|
import javax.ejb.Local;
|
||||||
|
|
||||||
import com.cloud.network.Network.Provider;
|
|
||||||
import com.cloud.network.Network.Service;
|
import com.cloud.network.Network.Service;
|
||||||
import com.cloud.offerings.NetworkOfferingServiceMapVO;
|
|
||||||
import com.cloud.offerings.dao.NetworkOfferingServiceMapDao;
|
import com.cloud.offerings.dao.NetworkOfferingServiceMapDao;
|
||||||
import com.cloud.offerings.dao.NetworkOfferingServiceMapDaoImpl;
|
import com.cloud.offerings.dao.NetworkOfferingServiceMapDaoImpl;
|
||||||
import com.cloud.utils.db.DB;
|
import com.cloud.utils.db.DB;
|
||||||
@ -26,20 +24,12 @@ import com.cloud.utils.db.DB;
|
|||||||
public class MockNetworkOfferingServiceMapDaoImpl extends NetworkOfferingServiceMapDaoImpl{
|
public class MockNetworkOfferingServiceMapDaoImpl extends NetworkOfferingServiceMapDaoImpl{
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public NetworkOfferingServiceMapVO findById(Long id) {
|
public boolean areServicesSupportedByNetworkOffering(long networkOfferingId, Service... services) {
|
||||||
NetworkOfferingServiceMapVO vo = null;
|
if (services.length > 0 && services[0] == Service.SourceNat && networkOfferingId != 2) {
|
||||||
System.out.println("hello alena");
|
return true;
|
||||||
if (id.longValue() == 0) {
|
} else if (services.length > 0 && services[0] == Service.Lb && networkOfferingId != 2) {
|
||||||
vo = new NetworkOfferingServiceMapVO(1, Service.SourceNat, Provider.VPCVirtualRouter);
|
return true;
|
||||||
} else if (id.longValue() == 2) {
|
|
||||||
vo = new NetworkOfferingServiceMapVO(2, Service.Firewall, Provider.VirtualRouter);
|
|
||||||
} else if (id.longValue() == 3) {
|
|
||||||
vo = new NetworkOfferingServiceMapVO(3, Service.SourceNat, Provider.VPCVirtualRouter);
|
|
||||||
} else if (id.longValue() == 4) {
|
|
||||||
vo = new NetworkOfferingServiceMapVO(4, Service.SourceNat, Provider.VPCVirtualRouter);
|
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
return vo;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -89,20 +89,4 @@ public class MockNetworkServiceMapDaoImpl extends GenericDaoBase<NetworkServiceM
|
|||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public NetworkServiceMapVO findById(Long id) {
|
|
||||||
NetworkServiceMapVO vo = null;
|
|
||||||
if (id.longValue() == 1) {
|
|
||||||
vo = new NetworkServiceMapVO(1, Service.SourceNat, Provider.VPCVirtualRouter);
|
|
||||||
} else if (id.longValue() == 2) {
|
|
||||||
vo = new NetworkServiceMapVO(2, Service.Firewall, Provider.VirtualRouter);
|
|
||||||
} else if (id.longValue() == 3) {
|
|
||||||
vo = new NetworkServiceMapVO(3, Service.SourceNat, Provider.VPCVirtualRouter);
|
|
||||||
} else if (id.longValue() == 4) {
|
|
||||||
vo = new NetworkServiceMapVO(4, Service.SourceNat, Provider.VPCVirtualRouter);
|
|
||||||
}
|
|
||||||
|
|
||||||
return vo;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -12,12 +12,6 @@
|
|||||||
// Automatically generated by addcopyright.py at 04/03/2012
|
// Automatically generated by addcopyright.py at 04/03/2012
|
||||||
package com.cloud.vpc.dao;
|
package com.cloud.vpc.dao;
|
||||||
|
|
||||||
import com.cloud.offerings.NetworkOfferingVO;
|
public class MockVpcOfferingServiceMapDao {
|
||||||
|
|
||||||
public class MockNetworkOfferingVO extends NetworkOfferingVO{
|
|
||||||
private long id;
|
|
||||||
|
|
||||||
public void setId(long id) {
|
|
||||||
this.id = id;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@ -84,7 +84,7 @@ under the License.
|
|||||||
<!-- ================ -->
|
<!-- ================ -->
|
||||||
|
|
||||||
<category name="com.cloud">
|
<category name="com.cloud">
|
||||||
<priority value="TRACE"/>
|
<priority value="DEBUG"/>
|
||||||
</category>
|
</category>
|
||||||
|
|
||||||
<!-- Limit the org.apache category to INFO as its DEBUG is verbose -->
|
<!-- Limit the org.apache category to INFO as its DEBUG is verbose -->
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user