You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by mu...@apache.org on 2013/02/07 08:43:57 UTC
[43/50] [abbrv] Merge javelin into master
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/296c2033/server/src/com/cloud/server/ConfigurationServerImpl.java
----------------------------------------------------------------------
diff --cc server/src/com/cloud/server/ConfigurationServerImpl.java
index ebf140f,fa68514..5fa4c60
--- a/server/src/com/cloud/server/ConfigurationServerImpl.java
+++ b/server/src/com/cloud/server/ConfigurationServerImpl.java
@@@ -77,56 -111,42 +111,42 @@@ import org.apache.cloudstack.region.dao
import org.apache.commons.codec.binary.Base64;
import org.apache.log4j.Logger;
- import javax.crypto.KeyGenerator;
- import javax.crypto.SecretKey;
- import java.io.*;
- import java.net.InetAddress;
- import java.net.UnknownHostException;
- import java.security.NoSuchAlgorithmException;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.util.*;
- import java.util.regex.Pattern;
-
- public class ConfigurationServerImpl implements ConfigurationServer {
+ @Component
+ public class ConfigurationServerImpl extends ManagerBase implements ConfigurationServer {
public static final Logger s_logger = Logger.getLogger(ConfigurationServerImpl.class.getName());
- private final ConfigurationDao _configDao;
- private final DataCenterDao _zoneDao;
- private final HostPodDao _podDao;
- private final DiskOfferingDao _diskOfferingDao;
- private final ServiceOfferingDao _serviceOfferingDao;
- private final NetworkOfferingDao _networkOfferingDao;
- private final DataCenterDao _dataCenterDao;
- private final NetworkDao _networkDao;
- private final VlanDao _vlanDao;
+ @Inject private ConfigurationDao _configDao;
+ @Inject private DataCenterDao _zoneDao;
+ @Inject private HostPodDao _podDao;
+ @Inject private DiskOfferingDao _diskOfferingDao;
+ @Inject private ServiceOfferingDao _serviceOfferingDao;
+ @Inject private NetworkOfferingDao _networkOfferingDao;
+ @Inject private DataCenterDao _dataCenterDao;
+ @Inject private NetworkDao _networkDao;
+ @Inject private VlanDao _vlanDao;
private String _domainSuffix;
- private final DomainDao _domainDao;
- private final AccountDao _accountDao;
- private final ResourceCountDao _resourceCountDao;
- private final NetworkOfferingServiceMapDao _ntwkOfferingServiceMapDao;
- private final IdentityDao _identityDao;
- private final RegionDao _regionDao;
+ @Inject private DomainDao _domainDao;
+ @Inject private AccountDao _accountDao;
+ @Inject private ResourceCountDao _resourceCountDao;
+ @Inject private NetworkOfferingServiceMapDao _ntwkOfferingServiceMapDao;
+ @Inject private IdentityDao _identityDao;
+ @Inject private RegionDao _regionDao;
public ConfigurationServerImpl() {
- ComponentLocator locator = ComponentLocator.getLocator(Name);
- _configDao = locator.getDao(ConfigurationDao.class);
- _zoneDao = locator.getDao(DataCenterDao.class);
- _podDao = locator.getDao(HostPodDao.class);
- _diskOfferingDao = locator.getDao(DiskOfferingDao.class);
- _serviceOfferingDao = locator.getDao(ServiceOfferingDao.class);
- _networkOfferingDao = locator.getDao(NetworkOfferingDao.class);
- _dataCenterDao = locator.getDao(DataCenterDao.class);
- _networkDao = locator.getDao(NetworkDao.class);
- _vlanDao = locator.getDao(VlanDao.class);
- _domainDao = locator.getDao(DomainDao.class);
- _accountDao = locator.getDao(AccountDao.class);
- _resourceCountDao = locator.getDao(ResourceCountDao.class);
- _ntwkOfferingServiceMapDao = locator.getDao(NetworkOfferingServiceMapDao.class);
- _identityDao = locator.getDao(IdentityDao.class);
- _regionDao = locator.getDao(RegionDao.class);
+ setRunLevel(ComponentLifecycle.RUN_LEVEL_FRAMEWORK_BOOTSTRAP);
+ }
+
+ @Override
+ public boolean configure(String name, Map<String, Object> params)
+ throws ConfigurationException {
+
+ try {
+ persistDefaultValues();
+ } catch (InternalErrorException e) {
+ throw new RuntimeException("Unhandled configuration exception", e);
+ }
+ return true;
- }
+ }
@Override
@DB
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/296c2033/server/src/com/cloud/user/AccountManagerImpl.java
----------------------------------------------------------------------
diff --cc server/src/com/cloud/user/AccountManagerImpl.java
index 23cd5b9,4fc849e..54447a2
--- a/server/src/com/cloud/user/AccountManagerImpl.java
+++ b/server/src/com/cloud/user/AccountManagerImpl.java
@@@ -272,12 -266,10 +266,10 @@@ public class AccountManagerImpl extend
@Override
public UserVO getSystemUser() {
- return _systemUser;
+ if (_systemUser == null) {
+ _systemUser = _userDao.findById(User.UID_SYSTEM);
- }
+ }
-
- @Override
- public String getName() {
- return _name;
+ return _systemUser;
}
@Override
@@@ -1755,20 -1748,8 +1748,19 @@@
if (s_logger.isDebugEnabled()) {
s_logger.debug("Creating user: " + userName + ", accountId: " + accountId + " timezone:" + timezone);
}
-
- UserVO user = _userDao.persist(new UserVO(accountId, userName, password, firstName, lastName, email, timezone, UUID.randomUUID().toString(), _regionMgr.getId()));
+
+ String encodedPassword = null;
- for (Enumeration<UserAuthenticator> en = _userAuthenticators.enumeration(); en.hasMoreElements();) {
- UserAuthenticator authenticator = en.nextElement();
++ for (UserAuthenticator authenticator : _userAuthenticators) {
+ encodedPassword = authenticator.encode(password);
+ if (encodedPassword != null) {
+ break;
+ }
+ }
+ if (encodedPassword == null) {
+ throw new CloudRuntimeException("Failed to encode password");
+ }
+
+ UserVO user = _userDao.persist(new UserVO(accountId, userName, encodedPassword, firstName, lastName, email, timezone, UUID.randomUUID().toString(), _regionMgr.getId()));
return user;
}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/296c2033/server/src/com/cloud/vm/UserVmManagerImpl.java
----------------------------------------------------------------------
diff --cc server/src/com/cloud/vm/UserVmManagerImpl.java
index afa6545,ee06a97..390a2a2
--- a/server/src/com/cloud/vm/UserVmManagerImpl.java
+++ b/server/src/com/cloud/vm/UserVmManagerImpl.java
@@@ -67,10 -138,20 +138,21 @@@ import com.cloud.network.*
import com.cloud.network.Network.IpAddresses;
import com.cloud.network.Network.Provider;
import com.cloud.network.Network.Service;
+ import com.cloud.network.NetworkManager;
+ import com.cloud.network.NetworkModel;
import com.cloud.network.Networks.TrafficType;
- import com.cloud.network.dao.*;
+ import com.cloud.network.PhysicalNetwork;
+ import com.cloud.network.dao.FirewallRulesDao;
+ import com.cloud.network.dao.IPAddressDao;
+ import com.cloud.network.dao.IPAddressVO;
+ import com.cloud.network.dao.LoadBalancerVMMapDao;
+ import com.cloud.network.dao.LoadBalancerVMMapVO;
+ import com.cloud.network.dao.NetworkDao;
+ import com.cloud.network.dao.NetworkServiceMapDao;
+ import com.cloud.network.dao.NetworkVO;
+ import com.cloud.network.dao.PhysicalNetworkDao;
import com.cloud.network.element.UserDataServiceProvider;
+import com.cloud.network.guru.NetworkGuru;
import com.cloud.network.lb.LoadBalancingRulesManager;
import com.cloud.network.rules.FirewallManager;
import com.cloud.network.rules.FirewallRuleVO;
@@@ -281,7 -386,9 +388,9 @@@ public class UserVmManagerImpl extends
PhysicalNetworkDao _physicalNetworkDao;
@Inject
VpcManager _vpcMgr;
- @Inject
+ @Inject
+ protected GuestOSCategoryDao _guestOSCategoryDao;
+ @Inject
UsageEventDao _usageEventDao;
protected ScheduledExecutorService _executor = null;
@@@ -632,16 -790,17 +792,17 @@@
}
}
- //permission check
+ // permission check
_accountMgr.checkAccess(caller, null, true, volume, vm);
- //Check if volume is stored on secondary Storage.
+ // Check if volume is stored on secondary Storage.
boolean isVolumeOnSec = false;
- VolumeHostVO volHostVO = _volumeHostDao.findByVolumeId(volume.getId());
+ VolumeHostVO volHostVO = _volumeHostDao.findByVolumeId(volume.getId());
- if (volHostVO != null){
+ if (volHostVO != null) {
isVolumeOnSec = true;
- if( !(volHostVO.getDownloadState() == Status.DOWNLOADED) ){
- throw new InvalidParameterValueException("Volume is not uploaded yet. Please try this operation once the volume is uploaded");
+ if (!(volHostVO.getDownloadState() == Status.DOWNLOADED)) {
+ throw new InvalidParameterValueException(
+ "Volume is not uploaded yet. Please try this operation once the volume is uploaded");
}
}
@@@ -844,12 -1087,17 +1089,17 @@@
}
@Override
- @ActionEvent(eventType = EventTypes.EVENT_VOLUME_DETACH, eventDescription = "detaching volume", async = true)
+ @ActionEvent(eventType = EventTypes.EVENT_VOLUME_DETACH, eventDescription = "detaching volume", async = true)
public Volume detachVolumeFromVM(DetachVolumeCmd cmmd) {
Account caller = UserContext.current().getCaller();
- if ((cmmd.getId() == null && cmmd.getDeviceId() == null && cmmd.getVirtualMachineId() == null) || (cmmd.getId() != null && (cmmd.getDeviceId() != null || cmmd.getVirtualMachineId() != null))
- || (cmmd.getId() == null && (cmmd.getDeviceId() == null || cmmd.getVirtualMachineId() == null))) {
- throw new InvalidParameterValueException("Please provide either a volume id, or a tuple(device id, instance id)");
+ if ((cmmd.getId() == null && cmmd.getDeviceId() == null && cmmd
+ .getVirtualMachineId() == null)
+ || (cmmd.getId() != null && (cmmd.getDeviceId() != null || cmmd
+ .getVirtualMachineId() != null))
+ || (cmmd.getId() == null && (cmmd.getDeviceId() == null || cmmd
+ .getVirtualMachineId() == null))) {
+ throw new InvalidParameterValueException(
+ "Please provide either a volume id, or a tuple(device id, instance id)");
}
Long volumeId = cmmd.getId();
@@@ -2466,9 -2949,10 +2951,10 @@@
// if network is security group enabled, and no security group is specified, then add the default security group automatically
if (isSecurityGroupEnabledNetworkUsed && !isVmWare && _networkModel.canAddDefaultSecurityGroup()) {
-
+
- //add the default securityGroup only if no security group is specified
- if(securityGroupIdList == null || securityGroupIdList.isEmpty()){
+ // add the default securityGroup only if no security group is
+ // specified
+ if (securityGroupIdList == null || securityGroupIdList.isEmpty()) {
if (securityGroupIdList == null) {
securityGroupIdList = new ArrayList<Long>();
}
@@@ -2562,13 -3075,17 +3077,17 @@@
}
}
-
+
_networkModel.checkNetworkPermissions(owner, network);
- //don't allow to use system networks
- NetworkOffering networkOffering = _configMgr.getNetworkOffering(network.getNetworkOfferingId());
+ // don't allow to use system networks
+ NetworkOffering networkOffering = _configMgr
+ .getNetworkOffering(network.getNetworkOfferingId());
if (networkOffering.isSystemOnly()) {
- throw new InvalidParameterValueException("Network id=" + networkId + " is system only and can't be used for vm deployment");
+ throw new InvalidParameterValueException(
+ "Network id="
+ + networkId
+ + " is system only and can't be used for vm deployment");
}
networkList.add(network);
}
@@@ -2626,19 -3151,27 +3153,27 @@@
}
// check if we have available pools for vm deployment
- long availablePools = _storagePoolDao.countPoolsByStatus(StoragePoolStatus.Up);
+ long availablePools = _storagePoolDao
+ .countPoolsByStatus(StoragePoolStatus.Up);
- if (availablePools < 1) {
+ if (availablePools < 1) {
- throw new StorageUnavailableException("There are no available pools in the UP state for vm deployment", -1);
+ throw new StorageUnavailableException(
+ "There are no available pools in the UP state for vm deployment",
+ -1);
}
- ServiceOfferingVO offering = _serviceOfferingDao.findById(serviceOffering.getId());
+ ServiceOfferingVO offering = _serviceOfferingDao
+ .findById(serviceOffering.getId());
if (template.getTemplateType().equals(TemplateType.SYSTEM)) {
- throw new InvalidParameterValueException("Unable to use system template " + template.getId() + " to deploy a user vm");
+ throw new InvalidParameterValueException(
+ "Unable to use system template " + template.getId()
+ + " to deploy a user vm");
}
- List<VMTemplateZoneVO> listZoneTemplate = _templateZoneDao.listByZoneTemplate(zone.getId(), template.getId());
+ List<VMTemplateZoneVO> listZoneTemplate = _templateZoneDao
+ .listByZoneTemplate(zone.getId(), template.getId());
if (listZoneTemplate == null || listZoneTemplate.isEmpty()) {
- throw new InvalidParameterValueException("The template " + template.getId() + " is not available for use");
+ throw new InvalidParameterValueException("The template "
+ + template.getId() + " is not available for use");
}
if (isIso && !template.isBootable()) {
@@@ -2776,12 -3291,13 +3293,13 @@@
if (hostName == null) {
hostName = uuidName;
} else {
- //1) check is hostName is RFC complient
+ // 1) check is hostName is RFC complient
if (!NetUtils.verifyDomainNameLabel(hostName, true)) {
- throw new InvalidParameterValueException("Invalid name. Vm name can contain ASCII letters 'a' through 'z', the digits '0' through '9', "
+ throw new InvalidParameterValueException(
+ "Invalid name. Vm name can contain ASCII letters 'a' through 'z', the digits '0' through '9', "
- + "and the hyphen ('-'), must be between 1 and 63 characters long, and can't start or end with \"-\" and can't start with digit");
+ + "and the hyphen ('-'), must be between 1 and 63 characters long, and can't start or end with \"-\" and can't start with digit");
}
- //2) hostName has to be unique in the network domain
+ // 2) hostName has to be unique in the network domain
Map<String, List<Long>> ntwkDomains = new HashMap<String, List<Long>>();
for (NetworkVO network : networkList) {
String ntwkDomain = network.getNetworkDomain();
@@@ -2836,12 -3362,26 +3364,26 @@@
s_logger.debug("Allocating in the DB for vm");
DataCenterDeployment plan = new DataCenterDeployment(zone.getId());
- if (_itMgr.allocate(vm, _templateDao.findById(template.getId()), offering, rootDiskOffering, dataDiskOfferings, networks, null, plan, hypervisorType, owner) == null) {
- return null;
+
+ long guestOSId = template.getGuestOSId();
+ GuestOSVO guestOS = _guestOSDao.findById(guestOSId);
+ long guestOSCategoryId = guestOS.getCategoryId();
+ GuestOSCategoryVO guestOSCategory = _guestOSCategoryDao.findById(guestOSCategoryId);
+
+ List<String> computeTags = new ArrayList<String>();
+ computeTags.add(offering.getHostTag());
+
+ List<String> rootDiskTags = new ArrayList<String>();
+ rootDiskTags.add(offering.getTags());
+
+ if(isIso){
+ VirtualMachineEntity vmEntity = _orchSrvc.createVirtualMachineFromScratch(vm.getUuid(), new Long(owner.getAccountId()).toString(), vm.getIsoId().toString(), hostName, displayName, hypervisor.name(), guestOSCategory.getName(), offering.getCpu(), offering.getSpeed(), offering.getRamSize(), diskSize, computeTags, rootDiskTags, networkNicMap, plan);
+ }else {
+ VirtualMachineEntity vmEntity = _orchSrvc.createVirtualMachine(vm.getUuid(), new Long(owner.getAccountId()).toString(), new Long(template.getId()).toString(), hostName, displayName, hypervisor.name(), offering.getCpu(), offering.getSpeed(), offering.getRamSize(), diskSize, computeTags, rootDiskTags, networkNicMap, plan);
}
- _vmDao.saveDetails(vm);
+
-
+
if (s_logger.isDebugEnabled()) {
s_logger.debug("Successfully allocated DB entry for " + vm);
}
@@@ -2908,8 -3457,10 +3459,10 @@@
return startVirtualMachine(cmd, null);
}
- protected UserVm startVirtualMachine(DeployVMCmd cmd, Map<VirtualMachineProfile.Param, Object> additonalParams) throws ResourceUnavailableException, InsufficientCapacityException,
+ protected UserVm startVirtualMachine(DeployVMCmd cmd,
+ Map<VirtualMachineProfile.Param, Object> additonalParams)
+ throws ResourceUnavailableException, InsufficientCapacityException,
- ConcurrentOperationException {
+ ConcurrentOperationException {
long vmId = cmd.getEntityId();
Long hostId = cmd.getHostId();
@@@ -3508,8 -4133,10 +4135,10 @@@
}
@Override
- public UserVm createVirtualMachine(DeployVMCmd cmd) throws InsufficientCapacityException, ResourceUnavailableException, ConcurrentOperationException, StorageUnavailableException,
+ public UserVm createVirtualMachine(DeployVMCmd cmd)
+ throws InsufficientCapacityException, ResourceUnavailableException,
+ ConcurrentOperationException, StorageUnavailableException,
- ResourceAllocationException {
+ ResourceAllocationException {
// TODO Auto-generated method stub
return null;
}
@@@ -3796,15 -4499,17 +4501,17 @@@
List<Long> securityGroupIdList = cmd.getSecurityGroupIdList();
if (zone.getNetworkType() == NetworkType.Basic) {
- if (networkIdList != null && !networkIdList.isEmpty()) {
+ if (networkIdList != null && !networkIdList.isEmpty()) {
- throw new InvalidParameterValueException("Can't move vm with network Ids; this is a basic zone VM");
+ throw new InvalidParameterValueException(
+ "Can't move vm with network Ids; this is a basic zone VM");
- }
+ }
- //cleanup the old security groups
+ // cleanup the old security groups
- _securityGroupMgr.removeInstanceFromGroups(cmd.getVmId());
+ _securityGroupMgr.removeInstanceFromGroups(cmd.getVmId());
- //cleanup the network for the oldOwner
+ // cleanup the network for the oldOwner
_networkMgr.cleanupNics(vmOldProfile);
_networkMgr.expungeNics(vmOldProfile);
- //security groups will be recreated for the new account, when the VM is started
+ // security groups will be recreated for the new account, when the
+ // VM is started
List<NetworkVO> networkList = new ArrayList<NetworkVO>();
// Get default guest network in Basic zone
@@@ -3852,24 -4565,31 +4567,31 @@@
List<Pair<NetworkVO, NicProfile>> networks = new ArrayList<Pair<NetworkVO, NicProfile>>();
NicProfile profile = new NicProfile();
profile.setDefaultNic(true);
- networks.add(new Pair<NetworkVO, NicProfile>(networkList.get(0), profile));
+ networks.add(new Pair<NetworkVO, NicProfile>(networkList.get(0),
+ profile));
VMInstanceVO vmi = _itMgr.findByIdAndType(vm.getType(), vm.getId());
- VirtualMachineProfileImpl<VMInstanceVO> vmProfile = new VirtualMachineProfileImpl<VMInstanceVO>(vmi);
+ VirtualMachineProfileImpl<VMInstanceVO> vmProfile = new VirtualMachineProfileImpl<VMInstanceVO>(
+ vmi);
_networkMgr.allocate(vmProfile, networks);
- _securityGroupMgr.addInstanceToGroups(vm.getId(), securityGroupIdList);
+ _securityGroupMgr.addInstanceToGroups(vm.getId(),
+ securityGroupIdList);
- s_logger.debug("AssignVM: Basic zone, adding security groups no " + securityGroupIdList.size() + " to " + vm.getInstanceName() );
+ s_logger.debug("AssignVM: Basic zone, adding security groups no "
+ + securityGroupIdList.size() + " to "
+ + vm.getInstanceName());
} else {
- if (zone.isSecurityGroupEnabled()) {
+ if (zone.isSecurityGroupEnabled()) {
- throw new InvalidParameterValueException("Not yet implemented for SecurityGroupEnabled advanced networks.");
+ throw new InvalidParameterValueException(
+ "Not yet implemented for SecurityGroupEnabled advanced networks.");
} else {
- if (securityGroupIdList != null && !securityGroupIdList.isEmpty()) {
- throw new InvalidParameterValueException("Can't move vm with security groups; security group feature is not enabled in this zone");
+ if (securityGroupIdList != null
+ && !securityGroupIdList.isEmpty()) {
+ throw new InvalidParameterValueException(
+ "Can't move vm with security groups; security group feature is not enabled in this zone");
}
- //cleanup the network for the oldOwner
+ // cleanup the network for the oldOwner
_networkMgr.cleanupNics(vmOldProfile);
_networkMgr.expungeNics(vmOldProfile);
@@@ -3919,34 -4646,12 +4648,36 @@@
Network newNetwork = _networkMgr.createGuestNetwork(requiredOfferings.get(0).getId(),
newAccount.getAccountName() + "-network", newAccount.getAccountName() + "-network", null, null,
null, null, newAccount, null, physicalNetwork, zone.getId(), ACLType.Account, null, null, null, null);
+ // if the network offering has persistent set to true, implement the network
+ if (requiredOfferings.get(0).getIsPersistent()) {
+ DeployDestination dest = new DeployDestination(zone, null, null, null);
+ UserVO callerUser = _userDao.findById(UserContext.current().getCallerUserId());
+ Journal journal = new Journal.LogJournal("Implementing " + newNetwork, s_logger);
+ ReservationContext context = new ReservationContextImpl(UUID.randomUUID().toString(),
+ journal, callerUser, caller);
+ s_logger.debug("Implementing the network for account" + newNetwork + " as a part of" +
+ " network provision for persistent networks");
+ try {
+ Pair<NetworkGuru, NetworkVO> implementedNetwork = _networkMgr.implementNetwork(newNetwork.getId(), dest, context);
+ if (implementedNetwork.first() == null) {
+ s_logger.warn("Failed to implement the network " + newNetwork);
+ }
+ newNetwork = implementedNetwork.second();
+ } catch (Exception ex) {
+ s_logger.warn("Failed to implement network " + newNetwork + " elements and" +
+ " resources as a part of network provision for persistent network due to ", ex);
+ CloudRuntimeException e = new CloudRuntimeException("Failed to implement network" +
+ " (with specified id) elements and resources as a part of network provision");
+ e.addProxyObject(newNetwork, newNetwork.getId(), "networkId");
+ throw e;
+ }
+ }
defaultNetwork = _networkDao.findById(newNetwork.getId());
} else if (virtualNetworks.size() > 1) {
- throw new InvalidParameterValueException("More than 1 default Isolated networks are found " +
- "for account " + newAccount + "; please specify networkIds");
+ throw new InvalidParameterValueException(
+ "More than 1 default Isolated networks are found "
+ + "for account " + newAccount
+ + "; please specify networkIds");
} else {
defaultNetwork = _networkDao.findById(virtualNetworks.get(0).getId());
}
@@@ -4068,8 -4797,9 +4823,9 @@@
@Override
public boolean plugNic(Network network, NicTO nic, VirtualMachineTO vm,
- ReservationContext context, DeployDestination dest) throws ConcurrentOperationException, ResourceUnavailableException,
+ ReservationContext context, DeployDestination dest)
+ throws ConcurrentOperationException, ResourceUnavailableException,
- InsufficientCapacityException {
+ InsufficientCapacityException {
UserVmVO vmVO = _vmDao.findById(vm.getId());
if (vmVO.getState() == State.Running) {
try {
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/296c2033/server/test/com/cloud/vpc/MockConfigurationManagerImpl.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/296c2033/server/test/com/cloud/vpc/MockNetworkManagerImpl.java
----------------------------------------------------------------------
diff --cc server/test/com/cloud/vpc/MockNetworkManagerImpl.java
index 382068a,534df1c..bcaaa26
--- a/server/test/com/cloud/vpc/MockNetworkManagerImpl.java
+++ b/server/test/com/cloud/vpc/MockNetworkManagerImpl.java
@@@ -91,9 -93,10 +93,10 @@@ public class MockNetworkManagerImpl ext
NetworkServiceMapDao _ntwkSrvcDao;
@Inject
NetworkOfferingServiceMapDao _ntwkOfferingSrvcDao;
- @Inject(adapter = NetworkElement.class)
- Adapters<NetworkElement> _networkElements;
+
+ @Inject
+ List<NetworkElement> _networkElements;
-
+
private static HashMap<String, String> s_providerToNetworkElementMap = new HashMap<String, String>();
private static final Logger s_logger = Logger.getLogger(MockNetworkManagerImpl.class);
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/296c2033/server/test/com/cloud/vpc/dao/MockNetworkOfferingDaoImpl.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/296c2033/setup/db/create-schema.sql
----------------------------------------------------------------------