You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ed...@apache.org on 2013/01/15 03:04:55 UTC
[10/44] Revert "Merge remote-tracking branch 'origin/javelin' into
javelin"
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/110465b5/server/src/com/cloud/migration/Db21to22MigrationUtil.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/migration/Db21to22MigrationUtil.java b/server/src/com/cloud/migration/Db21to22MigrationUtil.java
index b6ff906..66a7d59 100755
--- a/server/src/com/cloud/migration/Db21to22MigrationUtil.java
+++ b/server/src/com/cloud/migration/Db21to22MigrationUtil.java
@@ -19,9 +19,7 @@ package com.cloud.migration;
import java.io.File;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
-import java.util.LinkedList;
import java.util.List;
-import java.util.Queue;
import javax.inject.Inject;
@@ -32,21 +30,17 @@ import com.cloud.configuration.Resource.ResourceType;
import com.cloud.configuration.ResourceCountVO;
import com.cloud.configuration.dao.ConfigurationDao;
import com.cloud.configuration.dao.ResourceCountDao;
-import com.cloud.dc.ClusterVO;
import com.cloud.dc.DataCenter.NetworkType;
import com.cloud.dc.DataCenterVO;
import com.cloud.dc.dao.ClusterDao;
import com.cloud.dc.dao.DataCenterDao;
import com.cloud.domain.DomainVO;
import com.cloud.domain.dao.DomainDao;
-import com.cloud.host.HostVO;
import com.cloud.host.dao.HostDao;
-import com.cloud.hypervisor.Hypervisor.HypervisorType;
import com.cloud.resource.ResourceManager;
import com.cloud.user.Account;
import com.cloud.user.dao.AccountDao;
import com.cloud.utils.PropertiesUtil;
-import com.cloud.utils.component.ComponentLocator;
import com.cloud.utils.db.SearchBuilder;
import com.cloud.utils.db.SearchCriteria;
import com.cloud.utils.db.Transaction;
@@ -56,37 +50,37 @@ import com.cloud.vm.dao.InstanceGroupDao;
import com.cloud.vm.dao.InstanceGroupVMMapDao;
public class Db21to22MigrationUtil {
-
- @Inject private ClusterDao _clusterDao;
- @Inject private HostDao _hostDao;
- @Inject private AccountDao _accountDao;
- @Inject private DomainDao _domainDao;
- @Inject private ResourceCountDao _resourceCountDao;
- @Inject private InstanceGroupDao _vmGroupDao;
- @Inject private InstanceGroupVMMapDao _groupVMMapDao;
- @Inject private ConfigurationDao _configurationDao;
- @Inject private DataCenterDao _zoneDao;
- @Inject private ResourceManager _resourceMgr;
-
+
+ @Inject private ClusterDao _clusterDao;
+ @Inject private HostDao _hostDao;
+ @Inject private AccountDao _accountDao;
+ @Inject private DomainDao _domainDao;
+ @Inject private ResourceCountDao _resourceCountDao;
+ @Inject private InstanceGroupDao _vmGroupDao;
+ @Inject private InstanceGroupVMMapDao _groupVMMapDao;
+ @Inject private ConfigurationDao _configurationDao;
+ @Inject private DataCenterDao _zoneDao;
+ @Inject private ResourceManager _resourceMgr;
+
private void doMigration() {
setupComponents();
migrateResourceCounts();
-
+
setupInstanceGroups();
migrateZones();
-
+
setupClusterGuid();
-
+
System.out.println("Migration done");
}
-
+
/* add guid in cluster table */
private void setupClusterGuid() {
-
- //FIXME moving out XenServer code out of server. This upgrade step need to be taken care of
- /*
+
+ //FIXME moving out XenServer code out of server. This upgrade step need to be taken care of
+ /*
XenServerConnectionPool _connPool = XenServerConnectionPool.getInstance();
List<ClusterVO> clusters = _clusterDao.listByHyTypeWithoutGuid(HypervisorType.XenServer.toString());
for (ClusterVO cluster : clusters) {
@@ -120,34 +114,34 @@ public class Db21to22MigrationUtil {
break;
}
}
- */
+ */
}
-
+
/**
* This method migrates the zones based on bug: 7204
* based on the param direct.attach.untagged.vlan.enabled, we update zone to basic or advanced for 2.2
*/
private void migrateZones(){
- try {
- System.out.println("Migrating zones");
- String val = _configurationDao.getValue("direct.attach.untagged.vlan.enabled");
- NetworkType networkType;
- if(val == null || val.equalsIgnoreCase("true")){
- networkType = NetworkType.Basic;
- }else{
- networkType = NetworkType.Advanced;
- }
- List<DataCenterVO> existingZones = _zoneDao.listAll();
- for(DataCenterVO zone : existingZones){
- zone.setNetworkType(networkType);
- _zoneDao.update(zone.getId(), zone);
- }
- } catch (Exception e) {
- System.out.println("Unhandled exception in migrateZones()" + e);
- }
+ try {
+ System.out.println("Migrating zones");
+ String val = _configurationDao.getValue("direct.attach.untagged.vlan.enabled");
+ NetworkType networkType;
+ if(val == null || val.equalsIgnoreCase("true")){
+ networkType = NetworkType.Basic;
+ }else{
+ networkType = NetworkType.Advanced;
+ }
+ List<DataCenterVO> existingZones = _zoneDao.listAll();
+ for(DataCenterVO zone : existingZones){
+ zone.setNetworkType(networkType);
+ _zoneDao.update(zone.getId(), zone);
+ }
+ } catch (Exception e) {
+ System.out.println("Unhandled exception in migrateZones()" + e);
+ }
}
-
+
private void migrateResourceCounts() {
System.out.println("migrating resource counts");
SearchBuilder<ResourceCountVO> sb = _resourceCountDao.createSearchBuilder();
@@ -175,46 +169,46 @@ public class Db21to22MigrationUtil {
private void setupComponents() {
}
-
+
private void setupInstanceGroups() {
- System.out.println("setting up vm instance groups");
-
- //Search for all the vms that have not null groups
- Long vmId = 0L;
- Long accountId = 0L;
- String groupName;
- Transaction txn = Transaction.open(Transaction.CLOUD_DB);
- txn.start();
- try {
- String request = "SELECT vm.id, uservm.account_id, vm.group from vm_instance vm, user_vm uservm where vm.group is not null and vm.removed is null and vm.id=uservm.id order by id";
- System.out.println(request);
- PreparedStatement statement = txn.prepareStatement(request);
- ResultSet result = statement.executeQuery();
- while (result.next()) {
- vmId = result.getLong(1);
- accountId = result.getLong(2);
- groupName = result.getString(3);
- InstanceGroupVO group = _vmGroupDao.findByAccountAndName(accountId, groupName);
- //Create vm group if the group doesn't exist for this account
- if (group == null) {
- group = new InstanceGroupVO(groupName, accountId);
- group = _vmGroupDao.persist(group);
- System.out.println("Created new isntance group with name " + groupName + " for account id=" + accountId);
- }
-
- if (group != null) {
- InstanceGroupVMMapVO groupVmMapVO = new InstanceGroupVMMapVO(group.getId(), vmId);
- _groupVMMapDao.persist(groupVmMapVO);
- System.out.println("Assigned vm id=" + vmId + " to group with name " + groupName + " for account id=" + accountId);
- }
- }
- txn.commit();
- statement.close();
- } catch (Exception e) {
- System.out.println("Unhandled exception: " + e);
- } finally {
- txn.close();
- }
+ System.out.println("setting up vm instance groups");
+
+ //Search for all the vms that have not null groups
+ Long vmId = 0L;
+ Long accountId = 0L;
+ String groupName;
+ Transaction txn = Transaction.open(Transaction.CLOUD_DB);
+ txn.start();
+ try {
+ String request = "SELECT vm.id, uservm.account_id, vm.group from vm_instance vm, user_vm uservm where vm.group is not null and vm.removed is null and vm.id=uservm.id order by id";
+ System.out.println(request);
+ PreparedStatement statement = txn.prepareStatement(request);
+ ResultSet result = statement.executeQuery();
+ while (result.next()) {
+ vmId = result.getLong(1);
+ accountId = result.getLong(2);
+ groupName = result.getString(3);
+ InstanceGroupVO group = _vmGroupDao.findByAccountAndName(accountId, groupName);
+ //Create vm group if the group doesn't exist for this account
+ if (group == null) {
+ group = new InstanceGroupVO(groupName, accountId);
+ group = _vmGroupDao.persist(group);
+ System.out.println("Created new isntance group with name " + groupName + " for account id=" + accountId);
+ }
+
+ if (group != null) {
+ InstanceGroupVMMapVO groupVmMapVO = new InstanceGroupVMMapVO(group.getId(), vmId);
+ _groupVMMapDao.persist(groupVmMapVO);
+ System.out.println("Assigned vm id=" + vmId + " to group with name " + groupName + " for account id=" + accountId);
+ }
+ }
+ txn.commit();
+ statement.close();
+ } catch (Exception e) {
+ System.out.println("Unhandled exception: " + e);
+ } finally {
+ txn.close();
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/110465b5/server/src/com/cloud/network/ExteralIpAddressAllocator.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/ExteralIpAddressAllocator.java b/server/src/com/cloud/network/ExteralIpAddressAllocator.java
index f8b5c15..eca5ff6 100644
--- a/server/src/com/cloud/network/ExteralIpAddressAllocator.java
+++ b/server/src/com/cloud/network/ExteralIpAddressAllocator.java
@@ -19,7 +19,6 @@ package com.cloud.network;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
-import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
@@ -33,136 +32,135 @@ import org.apache.log4j.Logger;
import org.springframework.stereotype.Component;
import com.cloud.configuration.dao.ConfigurationDao;
-
import com.cloud.dc.dao.VlanDao;
import com.cloud.network.dao.IPAddressDao;
-import com.cloud.utils.component.ComponentLocator;
import com.cloud.utils.exception.CloudRuntimeException;
@Component
@Local(value=IpAddrAllocator.class)
public class ExteralIpAddressAllocator implements IpAddrAllocator{
- private static final Logger s_logger = Logger.getLogger(ExteralIpAddressAllocator.class);
- String _name;
+ private static final Logger s_logger = Logger.getLogger(ExteralIpAddressAllocator.class);
+ String _name;
@Inject ConfigurationDao _configDao = null;
@Inject IPAddressDao _ipAddressDao = null;
@Inject VlanDao _vlanDao;
- private boolean _isExternalIpAllocatorEnabled = false;
- private String _externalIpAllocatorUrl = null;
-
-
- @Override
- public IpAddr getPrivateIpAddress(String macAddr, long dcId, long podId) {
- if (_externalIpAllocatorUrl == null || this._externalIpAllocatorUrl.equalsIgnoreCase("")) {
- return new IpAddr();
- }
- String urlString = this._externalIpAllocatorUrl + "?command=getIpAddr&mac=" + macAddr + "&dc=" + dcId + "&pod=" + podId;
- s_logger.debug("getIP:" + urlString);
-
- BufferedReader in = null;
- try {
- URL url = new URL(urlString);
- URLConnection conn = url.openConnection();
- conn.setReadTimeout(30000);
-
- in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
- String inputLine;
- while ((inputLine = in.readLine()) != null) {
- s_logger.debug(inputLine);
- String[] tokens = inputLine.split(",");
- if (tokens.length != 3) {
- s_logger.debug("the return value should be: mac,netmask,gateway");
- return new IpAddr();
- }
- return new IpAddr(tokens[0], tokens[1], tokens[2]);
- }
-
- return new IpAddr();
- } catch (MalformedURLException e) {
- throw new CloudRuntimeException("URL is malformed " + urlString, e);
- } catch (IOException e) {
- return new IpAddr();
- } finally {
- if (in != null) {
- try {
- in.close();
- } catch (IOException e) {
- }
- }
- }
-
- }
-
- @Override
- public IpAddr getPublicIpAddress(String macAddr, long dcId, long podId) {
- /*TODO: call API to get ip address from external DHCP server*/
- return getPrivateIpAddress(macAddr, dcId, podId);
- }
-
- @Override
- public boolean releasePrivateIpAddress(String ip, long dcId, long podId) {
- /*TODO: call API to release the ip address from external DHCP server*/
- if (_externalIpAllocatorUrl == null || this._externalIpAllocatorUrl.equalsIgnoreCase("")) {
- return false;
- }
-
- String urlString = this._externalIpAllocatorUrl + "?command=releaseIpAddr&ip=" + ip + "&dc=" + dcId + "&pod=" + podId;
-
- s_logger.debug("releaseIP:" + urlString);
- BufferedReader in = null;
- try {
- URL url = new URL(urlString);
- URLConnection conn = url.openConnection();
- conn.setReadTimeout(30000);
-
- in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
-
- return true;
- } catch (MalformedURLException e) {
- throw new CloudRuntimeException("URL is malformed " + urlString, e);
- } catch (IOException e) {
- return false;
- } finally {
- if (in != null) {
- try {
- in.close();
- } catch (IOException e) {
- }
- }
- }
- }
-
- @Override
- public boolean releasePublicIpAddress(String ip, long dcId, long podId) {
- /*TODO: call API to release the ip address from external DHCP server*/
- return releasePrivateIpAddress(ip, dcId, podId);
- }
-
- public boolean exteralIpAddressAllocatorEnabled() {
- return _isExternalIpAllocatorEnabled;
- }
-
- @Override
- public boolean configure(String name, Map<String, Object> params) throws ConfigurationException {
- _isExternalIpAllocatorEnabled = Boolean.parseBoolean(_configDao.getValue("direct.attach.network.externalIpAllocator.enabled"));
- _externalIpAllocatorUrl = _configDao.getValue("direct.attach.network.externalIpAllocator.url");
- _name = name;
-
- return true;
- }
-
- @Override
- public String getName() {
- return _name;
- }
-
- @Override
- public boolean start() {
- return true;
- }
-
- @Override
- public boolean stop() {
- return true;
- }
+ private boolean _isExternalIpAllocatorEnabled = false;
+ private String _externalIpAllocatorUrl = null;
+
+
+ @Override
+ public IpAddr getPrivateIpAddress(String macAddr, long dcId, long podId) {
+ if (_externalIpAllocatorUrl == null || this._externalIpAllocatorUrl.equalsIgnoreCase("")) {
+ return new IpAddr();
+ }
+ String urlString = this._externalIpAllocatorUrl + "?command=getIpAddr&mac=" + macAddr + "&dc=" + dcId + "&pod=" + podId;
+ s_logger.debug("getIP:" + urlString);
+
+ BufferedReader in = null;
+ try {
+ URL url = new URL(urlString);
+ URLConnection conn = url.openConnection();
+ conn.setReadTimeout(30000);
+
+ in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
+ String inputLine;
+ while ((inputLine = in.readLine()) != null) {
+ s_logger.debug(inputLine);
+ String[] tokens = inputLine.split(",");
+ if (tokens.length != 3) {
+ s_logger.debug("the return value should be: mac,netmask,gateway");
+ return new IpAddr();
+ }
+ return new IpAddr(tokens[0], tokens[1], tokens[2]);
+ }
+
+ return new IpAddr();
+ } catch (MalformedURLException e) {
+ throw new CloudRuntimeException("URL is malformed " + urlString, e);
+ } catch (IOException e) {
+ return new IpAddr();
+ } finally {
+ if (in != null) {
+ try {
+ in.close();
+ } catch (IOException e) {
+ }
+ }
+ }
+
+ }
+
+ @Override
+ public IpAddr getPublicIpAddress(String macAddr, long dcId, long podId) {
+ /*TODO: call API to get ip address from external DHCP server*/
+ return getPrivateIpAddress(macAddr, dcId, podId);
+ }
+
+ @Override
+ public boolean releasePrivateIpAddress(String ip, long dcId, long podId) {
+ /*TODO: call API to release the ip address from external DHCP server*/
+ if (_externalIpAllocatorUrl == null || this._externalIpAllocatorUrl.equalsIgnoreCase("")) {
+ return false;
+ }
+
+ String urlString = this._externalIpAllocatorUrl + "?command=releaseIpAddr&ip=" + ip + "&dc=" + dcId + "&pod=" + podId;
+
+ s_logger.debug("releaseIP:" + urlString);
+ BufferedReader in = null;
+ try {
+ URL url = new URL(urlString);
+ URLConnection conn = url.openConnection();
+ conn.setReadTimeout(30000);
+
+ in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
+
+ return true;
+ } catch (MalformedURLException e) {
+ throw new CloudRuntimeException("URL is malformed " + urlString, e);
+ } catch (IOException e) {
+ return false;
+ } finally {
+ if (in != null) {
+ try {
+ in.close();
+ } catch (IOException e) {
+ }
+ }
+ }
+ }
+
+ @Override
+ public boolean releasePublicIpAddress(String ip, long dcId, long podId) {
+ /*TODO: call API to release the ip address from external DHCP server*/
+ return releasePrivateIpAddress(ip, dcId, podId);
+ }
+
+ @Override
+ public boolean exteralIpAddressAllocatorEnabled() {
+ return _isExternalIpAllocatorEnabled;
+ }
+
+ @Override
+ public boolean configure(String name, Map<String, Object> params) throws ConfigurationException {
+ _isExternalIpAllocatorEnabled = Boolean.parseBoolean(_configDao.getValue("direct.attach.network.externalIpAllocator.enabled"));
+ _externalIpAllocatorUrl = _configDao.getValue("direct.attach.network.externalIpAllocator.url");
+ _name = name;
+
+ return true;
+ }
+
+ @Override
+ public String getName() {
+ return _name;
+ }
+
+ @Override
+ public boolean start() {
+ return true;
+ }
+
+ @Override
+ public boolean stop() {
+ return true;
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/110465b5/server/src/com/cloud/network/ExternalNetworkDeviceManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/ExternalNetworkDeviceManagerImpl.java b/server/src/com/cloud/network/ExternalNetworkDeviceManagerImpl.java
index 93e0ef6..e95dd17 100755
--- a/server/src/com/cloud/network/ExternalNetworkDeviceManagerImpl.java
+++ b/server/src/com/cloud/network/ExternalNetworkDeviceManagerImpl.java
@@ -27,22 +27,21 @@ import javax.ejb.Local;
import javax.inject.Inject;
import javax.naming.ConfigurationException;
+import org.apache.cloudstack.api.ApiConstants;
import org.apache.cloudstack.api.command.admin.network.AddNetworkDeviceCmd;
+import org.apache.cloudstack.api.command.admin.network.DeleteNetworkDeviceCmd;
import org.apache.cloudstack.api.command.admin.network.ListNetworkDeviceCmd;
+import org.apache.cloudstack.api.response.NetworkDeviceResponse;
import org.apache.cloudstack.network.ExternalNetworkDeviceManager;
import org.apache.log4j.Logger;
import org.springframework.stereotype.Component;
import com.cloud.agent.AgentManager;
import com.cloud.api.ApiDBUtils;
-
-import org.apache.cloudstack.api.ApiConstants;
-import org.apache.cloudstack.api.IdentityService;
-import org.apache.cloudstack.api.command.admin.network.DeleteNetworkDeviceCmd;
import com.cloud.baremetal.ExternalDhcpManager;
import com.cloud.baremetal.PxeServerManager;
-import com.cloud.baremetal.PxeServerProfile;
import com.cloud.baremetal.PxeServerManager.PxeServerType;
+import com.cloud.baremetal.PxeServerProfile;
import com.cloud.configuration.dao.ConfigurationDao;
import com.cloud.dc.DataCenter;
import com.cloud.dc.Pod;
@@ -64,14 +63,11 @@ import com.cloud.network.dao.PhysicalNetworkServiceProviderDao;
import com.cloud.network.dao.VpnUserDao;
import com.cloud.network.rules.dao.PortForwardingRulesDao;
import com.cloud.offerings.dao.NetworkOfferingDao;
-import com.cloud.server.ManagementServer;
-import org.apache.cloudstack.api.response.NetworkDeviceResponse;
import com.cloud.server.api.response.NwDeviceDhcpResponse;
import com.cloud.server.api.response.PxePingResponse;
import com.cloud.user.AccountManager;
import com.cloud.user.dao.AccountDao;
import com.cloud.user.dao.UserStatisticsDao;
-import com.cloud.utils.component.ComponentLocator;
import com.cloud.utils.exception.CloudRuntimeException;
import com.cloud.vm.dao.DomainRouterDao;
import com.cloud.vm.dao.NicDao;
@@ -112,16 +108,16 @@ public class ExternalNetworkDeviceManagerImpl implements ExternalNetworkDeviceMa
// obsolete
// private final static IdentityService _identityService = (IdentityService)ComponentLocator.getLocator(ManagementServer.Name).getManager(IdentityService.class);
-
+
private static final org.apache.log4j.Logger s_logger = Logger.getLogger(ExternalNetworkDeviceManagerImpl.class);
protected String _name;
-
+
@Override
public boolean configure(String name, Map<String, Object> params) throws ConfigurationException {
_name = name;
return true;
}
-
+
@Override
public boolean start() {
return true;
@@ -136,21 +132,21 @@ public class ExternalNetworkDeviceManagerImpl implements ExternalNetworkDeviceMa
public String getName() {
return _name;
}
-
+
@Override
public Host addNetworkDevice(AddNetworkDeviceCmd cmd) {
Map paramList = cmd.getParamList();
if (paramList == null) {
throw new CloudRuntimeException("Parameter list is null");
}
-
+
Collection paramsCollection = paramList.values();
HashMap params = (HashMap) (paramsCollection.toArray())[0];
if (cmd.getDeviceType().equalsIgnoreCase(NetworkDevice.ExternalDhcp.getName())) {
//Long zoneId = _identityService.getIdentityId("data_center", (String) params.get(ApiConstants.ZONE_ID));
//Long podId = _identityService.getIdentityId("host_pod_ref", (String)params.get(ApiConstants.POD_ID));
- Long zoneId = Long.valueOf((String) params.get(ApiConstants.ZONE_ID));
- Long podId = Long.valueOf((String)params.get(ApiConstants.POD_ID));
+ Long zoneId = Long.valueOf((String) params.get(ApiConstants.ZONE_ID));
+ Long podId = Long.valueOf((String)params.get(ApiConstants.POD_ID));
String type = (String) params.get(ApiConstants.DHCP_SERVER_TYPE);
String url = (String) params.get(ApiConstants.URL);
String username = (String) params.get(ApiConstants.USERNAME);
@@ -217,7 +213,7 @@ public class ExternalNetworkDeviceManagerImpl implements ExternalNetworkDeviceMa
} else {
throw new CloudRuntimeException("Unsupported network device type:" + host.getType());
}
-
+
response.setId(device.getUuid());
return response;
}
@@ -234,19 +230,19 @@ public class ExternalNetworkDeviceManagerImpl implements ExternalNetworkDeviceMa
// } else {
// List<HostVO> devs = _hostDao.listBy(type, zoneId);
// res.addAll(devs);
- // }
-
- // return res;
+ // }
+
+ // return res;
return null;
}
-
+
@Override
public List<Host> listNetworkDevice(ListNetworkDeviceCmd cmd) {
Map paramList = cmd.getParamList();
if (paramList == null) {
throw new CloudRuntimeException("Parameter list is null");
}
-
+
List<Host> res;
Collection paramsCollection = paramList.values();
HashMap params = (HashMap) (paramsCollection.toArray())[0];
@@ -275,13 +271,13 @@ public class ExternalNetworkDeviceManagerImpl implements ExternalNetworkDeviceMa
} else {
throw new CloudRuntimeException("Unknown network device type:" + cmd.getDeviceType());
}
-
+
return res;
}
@Override
public boolean deleteNetworkDevice(DeleteNetworkDeviceCmd cmd) {
- HostVO device = _hostDao.findById(cmd.getId());
- return true;
+ HostVO device = _hostDao.findById(cmd.getId());
+ return true;
}
}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/110465b5/server/src/com/cloud/network/NetworkManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/NetworkManagerImpl.java b/server/src/com/cloud/network/NetworkManagerImpl.java
index 84fcd32..2a4b27e 100755
--- a/server/src/com/cloud/network/NetworkManagerImpl.java
+++ b/server/src/com/cloud/network/NetworkManagerImpl.java
@@ -132,7 +132,8 @@ import com.cloud.user.dao.UserStatisticsDao;
import com.cloud.utils.AnnotationHelper;
import com.cloud.utils.NumbersUtil;
import com.cloud.utils.Pair;
-import com.cloud.utils.component.Adapters;
+import com.cloud.utils.component.AdapterBase;
+import com.cloud.utils.component.ComponentContext;
import com.cloud.utils.component.Manager;
import com.cloud.utils.concurrency.NamedThreadFactory;
import com.cloud.utils.db.JoinBuilder.JoinType;
@@ -212,11 +213,9 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
@Inject
PodVlanMapDao _podVlanMapDao;
- //@com.cloud.utils.component.Inject(adapter = NetworkGuru.class)
@Inject
List<NetworkGuru> _networkGurus;
- // @com.cloud.utils.component.Inject(adapter = NetworkElement.class)
@Inject
List<NetworkElement> _networkElements;
@@ -295,7 +294,7 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
@Override
public NetworkElement getElementImplementingProvider(String providerName) {
String elementName = s_providerToNetworkElementMap.get(providerName);
- NetworkElement element = Adapters.getAdapterByName(_networkElements, elementName);
+ NetworkElement element = AdapterBase.getAdapterByName(_networkElements, elementName);
return element;
}
@@ -1540,6 +1539,8 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
"multiple NetworkElements found for Provider: " + implementedProvider.getName());
return false;
}
+ s_logger.info("add element/provider mapping. provider: " + implementedProvider.getName() + " -> " + element.getName()
+ + ", class: " + ComponentContext.getTargetClass(element).getName());
s_providerToNetworkElementMap.put(implementedProvider.getName(), element.getName());
}
if (capabilities != null && implementedProvider != null) {
@@ -1802,7 +1803,7 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
NetworkVO ntwkVO = _networksDao.findById(network.getId());
s_logger.debug("Allocating nic for vm " + vm.getVirtualMachine() + " in network " + network + " with requested profile " + requested);
- NetworkGuru guru = Adapters.getAdapterByName(_networkGurus, ntwkVO.getGuruName());
+ NetworkGuru guru = AdapterBase.getAdapterByName(_networkGurus, ntwkVO.getGuruName());
if (requested != null && requested.getMode() == null) {
requested.setMode(network.getMode());
@@ -1947,7 +1948,7 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
}
try {
- NetworkGuru guru = Adapters.getAdapterByName(_networkGurus, network.getGuruName());
+ NetworkGuru guru = AdapterBase.getAdapterByName(_networkGurus, network.getGuruName());
Network.State state = network.getState();
if (state == Network.State.Implemented || state == Network.State.Implementing) {
s_logger.debug("Network id=" + networkId + " is already implemented");
@@ -2154,7 +2155,7 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
ConcurrentOperationException, InsufficientCapacityException, ResourceUnavailableException {
Integer networkRate = getNetworkRate(network.getId(), vmProfile.getId());
- NetworkGuru guru = Adapters.getAdapterByName(_networkGurus, network.getGuruName());
+ NetworkGuru guru = AdapterBase.getAdapterByName(_networkGurus, network.getGuruName());
NicVO nic = _nicDao.findById(nicId);
NicProfile profile = null;
@@ -2216,7 +2217,7 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
NetworkVO network = _networksDao.findById(nic.getNetworkId());
Integer networkRate = getNetworkRate(network.getId(), vm.getId());
- NetworkGuru guru = Adapters.getAdapterByName(_networkGurus, network.getGuruName());
+ NetworkGuru guru = AdapterBase.getAdapterByName(_networkGurus, network.getGuruName());
NicProfile profile = new NicProfile(nic, network, nic.getBroadcastUri(), nic.getIsolationUri(), networkRate,
isSecurityGroupSupportedInNetwork(network), getNetworkTag(vm.getHypervisorType(), network));
guru.updateNicProfile(profile, network);
@@ -2260,7 +2261,7 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
if (originalState == Nic.State.Reserved || originalState == Nic.State.Reserving) {
if (nic.getReservationStrategy() == Nic.ReservationStrategy.Start) {
- NetworkGuru guru = Adapters.getAdapterByName(_networkGurus, network.getGuruName());
+ NetworkGuru guru = AdapterBase.getAdapterByName(_networkGurus, network.getGuruName());
nic.setState(Nic.State.Releasing);
_nicDao.update(nic.getId(), nic);
NicProfile profile = new NicProfile(nic, network, nic.getBroadcastUri(), nic.getIsolationUri(), null,
@@ -2310,7 +2311,7 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
NetworkVO network = _networksDao.findById(nic.getNetworkId());
Integer networkRate = getNetworkRate(network.getId(), vm.getId());
- NetworkGuru guru = Adapters.getAdapterByName(_networkGurus, network.getGuruName());
+ NetworkGuru guru = AdapterBase.getAdapterByName(_networkGurus, network.getGuruName());
NicProfile profile = new NicProfile(nic, network, nic.getBroadcastUri(), nic.getIsolationUri(),
networkRate, isSecurityGroupSupportedInNetwork(network), getNetworkTag(vm.getHypervisorType(), network));
guru.updateNicProfile(profile, network);
@@ -2331,7 +2332,7 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
NetworkVO network = _networksDao.findById(networkId);
Integer networkRate = getNetworkRate(network.getId(), vm.getId());
- NetworkGuru guru = Adapters.getAdapterByName(_networkGurus, network.getGuruName());
+ NetworkGuru guru = AdapterBase.getAdapterByName(_networkGurus, network.getGuruName());
NicProfile profile = new NicProfile(nic, network, nic.getBroadcastUri(), nic.getIsolationUri(),
networkRate, isSecurityGroupSupportedInNetwork(network), getNetworkTag(vm.getHypervisorType(), network));
guru.updateNicProfile(profile, network);
@@ -2438,6 +2439,12 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
}
@Override
+ @DB
+ public Network getNetwork(String uuid) {
+ return _networksDao.findByUuid(uuid);
+ }
+
+ @Override
public List<? extends RemoteAccessVPNServiceProvider> getRemoteAccessVpnElements() {
List<RemoteAccessVPNServiceProvider> elements = new ArrayList<RemoteAccessVPNServiceProvider>();
for (NetworkElement element : _networkElements) {
@@ -2486,7 +2493,7 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
NetworkVO network = _networksDao.findById(nic.getNetworkId());
NicProfile profile = new NicProfile(nic, network, null, null, null,
isSecurityGroupSupportedInNetwork(network), getNetworkTag(vm.getHypervisorType(), network));
- NetworkGuru guru = Adapters.getAdapterByName(_networkGurus, network.getGuruName());
+ NetworkGuru guru = AdapterBase.getAdapterByName(_networkGurus, network.getGuruName());
guru.deallocate(network, profile, vm);
_nicDao.remove(nic.getId());
s_logger.debug("Removed nic id=" + nic.getId());
@@ -3549,7 +3556,7 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
if (s_logger.isDebugEnabled()) {
s_logger.debug("Network id=" + networkId + " is shutdown successfully, cleaning up corresponding resources now.");
}
- NetworkGuru guru = Adapters.getAdapterByName(_networkGurus, network.getGuruName());
+ NetworkGuru guru = AdapterBase.getAdapterByName(_networkGurus, network.getGuruName());
NetworkProfile profile = convertNetworkToNetworkProfile(network.getId());
guru.shutdown(profile, _networkOfferingDao.findById(network.getNetworkOfferingId()));
@@ -3715,7 +3722,7 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
if (s_logger.isDebugEnabled()) {
s_logger.debug("Network id=" + networkId + " is destroyed successfully, cleaning up corresponding resources now.");
}
- NetworkGuru guru = Adapters.getAdapterByName(_networkGurus, network.getGuruName());
+ NetworkGuru guru = AdapterBase.getAdapterByName(_networkGurus, network.getGuruName());
Account owner = _accountMgr.getAccount(network.getAccountId());
Transaction txn = Transaction.currentTxn();
@@ -4418,7 +4425,7 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
@Override
public NetworkProfile convertNetworkToNetworkProfile(long networkId) {
NetworkVO network = _networksDao.findById(networkId);
- NetworkGuru guru = Adapters.getAdapterByName(_networkGurus, network.getGuruName());
+ NetworkGuru guru = AdapterBase.getAdapterByName(_networkGurus, network.getGuruName());
NetworkProfile profile = new NetworkProfile(network);
guru.updateNetworkProfile(profile);
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/110465b5/server/src/com/cloud/network/as/AutoScaleManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/as/AutoScaleManagerImpl.java b/server/src/com/cloud/network/as/AutoScaleManagerImpl.java
index d49f4aa..7c8a6f5 100644
--- a/server/src/com/cloud/network/as/AutoScaleManagerImpl.java
+++ b/server/src/com/cloud/network/as/AutoScaleManagerImpl.java
@@ -23,27 +23,31 @@ import java.util.List;
import java.util.Map;
import javax.ejb.Local;
+import javax.inject.Inject;
import javax.naming.ConfigurationException;
import org.apache.cloudstack.acl.ControlledEntity;
-import org.apache.cloudstack.api.command.admin.autoscale.CreateCounterCmd;
-import org.apache.cloudstack.api.command.user.autoscale.*;
-import org.apache.log4j.Logger;
-
import org.apache.cloudstack.api.ApiConstants;
-import com.cloud.api.ApiDBUtils;
-import com.cloud.api.ApiDispatcher;
import org.apache.cloudstack.api.BaseListAccountResourcesCmd;
+import org.apache.cloudstack.api.command.admin.autoscale.CreateCounterCmd;
import org.apache.cloudstack.api.command.user.autoscale.CreateAutoScalePolicyCmd;
import org.apache.cloudstack.api.command.user.autoscale.CreateAutoScaleVmGroupCmd;
+import org.apache.cloudstack.api.command.user.autoscale.CreateAutoScaleVmProfileCmd;
import org.apache.cloudstack.api.command.user.autoscale.CreateConditionCmd;
-import org.apache.cloudstack.api.command.user.vm.DeployVMCmd;
+import org.apache.cloudstack.api.command.user.autoscale.ListAutoScalePoliciesCmd;
import org.apache.cloudstack.api.command.user.autoscale.ListAutoScaleVmGroupsCmd;
+import org.apache.cloudstack.api.command.user.autoscale.ListAutoScaleVmProfilesCmd;
import org.apache.cloudstack.api.command.user.autoscale.ListConditionsCmd;
+import org.apache.cloudstack.api.command.user.autoscale.ListCountersCmd;
import org.apache.cloudstack.api.command.user.autoscale.UpdateAutoScalePolicyCmd;
+import org.apache.cloudstack.api.command.user.autoscale.UpdateAutoScaleVmGroupCmd;
import org.apache.cloudstack.api.command.user.autoscale.UpdateAutoScaleVmProfileCmd;
+import org.apache.cloudstack.api.command.user.vm.DeployVMCmd;
+import org.apache.log4j.Logger;
import org.springframework.stereotype.Component;
+import com.cloud.api.ApiDBUtils;
+import com.cloud.api.ApiDispatcher;
import com.cloud.configuration.Config;
import com.cloud.configuration.ConfigurationManager;
import com.cloud.configuration.dao.ConfigurationDao;
@@ -81,7 +85,6 @@ import com.cloud.user.dao.AccountDao;
import com.cloud.user.dao.UserDao;
import com.cloud.utils.Pair;
import com.cloud.utils.Ternary;
-import com.cloud.utils.component.Inject;
import com.cloud.utils.component.Manager;
import com.cloud.utils.db.DB;
import com.cloud.utils.db.Filter;
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/110465b5/server/src/com/cloud/network/dao/FirewallRulesDaoImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/dao/FirewallRulesDaoImpl.java b/server/src/com/cloud/network/dao/FirewallRulesDaoImpl.java
index e5ee604..0c79676 100644
--- a/server/src/com/cloud/network/dao/FirewallRulesDaoImpl.java
+++ b/server/src/com/cloud/network/dao/FirewallRulesDaoImpl.java
@@ -32,7 +32,6 @@ import com.cloud.network.rules.FirewallRule.TrafficType;
import com.cloud.network.rules.FirewallRuleVO;
import com.cloud.server.ResourceTag.TaggedResourceType;
import com.cloud.tags.dao.ResourceTagsDaoImpl;
-import com.cloud.utils.component.ComponentLocator;
import com.cloud.utils.db.DB;
import com.cloud.utils.db.GenericDaoBase;
import com.cloud.utils.db.GenericSearchBuilder;
@@ -286,11 +285,12 @@ public class FirewallRulesDaoImpl extends GenericDaoBase<FirewallRuleVO, Long> i
if (purpose != null) {
sc.setParameters("purpose", purpose);
}
-
+
sc.setParameters("trafficType", trafficType);
return listBy(sc);
}
+ @Override
@DB
public boolean remove(Long id) {
Transaction txn = Transaction.currentTxn();
@@ -316,7 +316,7 @@ public class FirewallRulesDaoImpl extends GenericDaoBase<FirewallRuleVO, Long> i
public List<FirewallRuleVO> listByIpAndPurposeWithState(Long ipId, Purpose purpose, State state) {
SearchCriteria<FirewallRuleVO> sc = AllFieldsSearch.create();
sc.setParameters("ipId", ipId);
-
+
if (state != null) {
sc.setParameters("state", state);
}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/110465b5/server/src/com/cloud/network/dao/IPAddressDaoImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/dao/IPAddressDaoImpl.java b/server/src/com/cloud/network/dao/IPAddressDaoImpl.java
index 833c831..4d6bd08 100755
--- a/server/src/com/cloud/network/dao/IPAddressDaoImpl.java
+++ b/server/src/com/cloud/network/dao/IPAddressDaoImpl.java
@@ -35,7 +35,6 @@ import com.cloud.network.IPAddressVO;
import com.cloud.network.IpAddress.State;
import com.cloud.server.ResourceTag.TaggedResourceType;
import com.cloud.tags.dao.ResourceTagsDaoImpl;
-import com.cloud.utils.component.ComponentLocator;
import com.cloud.utils.db.DB;
import com.cloud.utils.db.GenericDaoBase;
import com.cloud.utils.db.GenericSearchBuilder;
@@ -62,11 +61,11 @@ public class IPAddressDaoImpl extends GenericDaoBase<IPAddressVO, Long> implemen
@Inject protected VlanDaoImpl _vlanDao;
protected GenericSearchBuilder<IPAddressVO, Long> CountFreePublicIps;
@Inject ResourceTagsDaoImpl _tagsDao;
-
+
// make it public for JUnit test
public IPAddressDaoImpl() {
}
-
+
@PostConstruct
public void init() {
AllFieldsSearch = createSearchBuilder();
@@ -101,7 +100,7 @@ public class IPAddressDaoImpl extends GenericDaoBase<IPAddressVO, Long> implemen
AllocatedIpCount.and("vlan", AllocatedIpCount.entity().getVlanId(), Op.EQ);
AllocatedIpCount.and("allocated", AllocatedIpCount.entity().getAllocatedTime(), Op.NNULL);
AllocatedIpCount.done();
-
+
AllIpCountForDashboard = createSearchBuilder(Integer.class);
AllIpCountForDashboard.select(null, Func.COUNT, AllIpCountForDashboard.entity().getAddress());
AllIpCountForDashboard.and("dc", AllIpCountForDashboard.entity().getDataCenterId(), Op.EQ);
@@ -111,7 +110,7 @@ public class IPAddressDaoImpl extends GenericDaoBase<IPAddressVO, Long> implemen
virtaulNetworkVlan.and("vlanType", virtaulNetworkVlan.entity().getVlanType(), SearchCriteria.Op.EQ);
AllIpCountForDashboard.join("vlan", virtaulNetworkVlan, virtaulNetworkVlan.entity().getId(),
- AllIpCountForDashboard.entity().getVlanId(), JoinBuilder.JoinType.INNER);
+ AllIpCountForDashboard.entity().getVlanId(), JoinBuilder.JoinType.INNER);
virtaulNetworkVlan.done();
AllIpCountForDashboard.done();
@@ -121,7 +120,7 @@ public class IPAddressDaoImpl extends GenericDaoBase<IPAddressVO, Long> implemen
AllocatedIpCountForAccount.and("allocated", AllocatedIpCountForAccount.entity().getAllocatedTime(), Op.NNULL);
AllocatedIpCountForAccount.and("network", AllocatedIpCountForAccount.entity().getAssociatedWithNetworkId(), Op.NNULL);
AllocatedIpCountForAccount.done();
-
+
CountFreePublicIps = createSearchBuilder(Long.class);
CountFreePublicIps.select(null, Func.COUNT, null);
CountFreePublicIps.and("state", CountFreePublicIps.entity().getState(), SearchCriteria.Op.EQ);
@@ -167,14 +166,14 @@ public class IPAddressDaoImpl extends GenericDaoBase<IPAddressVO, Long> implemen
sc.setParameters("accountId", accountId);
return listBy(sc);
}
-
+
@Override
public List<IPAddressVO> listByVlanId(long vlanId) {
SearchCriteria<IPAddressVO> sc = AllFieldsSearch.create();
sc.setParameters("vlan", vlanId);
return listBy(sc);
}
-
+
@Override
public IPAddressVO findByIpAndSourceNetworkId(long networkId, String ipAddress) {
SearchCriteria<IPAddressVO> sc = AllFieldsSearch.create();
@@ -197,7 +196,7 @@ public class IPAddressDaoImpl extends GenericDaoBase<IPAddressVO, Long> implemen
sc.setParameters("dataCenterId", dcId);
return listBy(sc);
}
-
+
@Override
public List<IPAddressVO> listByDcIdIpAddress(long dcId, String ipAddress) {
SearchCriteria<IPAddressVO> sc = AllFieldsSearch.create();
@@ -205,19 +204,19 @@ public class IPAddressDaoImpl extends GenericDaoBase<IPAddressVO, Long> implemen
sc.setParameters("ipAddress", ipAddress);
return listBy(sc);
}
-
+
@Override
public List<IPAddressVO> listByAssociatedNetwork(long networkId, Boolean isSourceNat) {
SearchCriteria<IPAddressVO> sc = AllFieldsSearch.create();
sc.setParameters("network", networkId);
-
+
if (isSourceNat != null) {
sc.setParameters("sourceNat", isSourceNat);
}
-
+
return listBy(sc);
}
-
+
@Override
public List<IPAddressVO> listStaticNatPublicIps(long networkId) {
SearchCriteria<IPAddressVO> sc = AllFieldsSearch.create();
@@ -225,12 +224,12 @@ public class IPAddressDaoImpl extends GenericDaoBase<IPAddressVO, Long> implemen
sc.setParameters("oneToOneNat", true);
return listBy(sc);
}
-
+
@Override
public IPAddressVO findByAssociatedVmId(long vmId) {
SearchCriteria<IPAddressVO> sc = AllFieldsSearch.create();
sc.setParameters("associatedWithVmId", vmId);
-
+
return findOneBy(sc);
}
@@ -248,13 +247,13 @@ public class IPAddressDaoImpl extends GenericDaoBase<IPAddressVO, Long> implemen
SearchCriteria<Integer> sc = AllIpCountForDashboard.create();
sc.setParameters("dc", dcId);
if (onlyCountAllocated){
- sc.setParameters("state", State.Free);
+ sc.setParameters("state", State.Free);
}
sc.setJoinParameters("vlan", "vlanType", vlanType.toString());
return customSearch(sc, null).get(0);
}
-
+
@Override
@DB
public int countIPs(long dcId, Long accountId, String vlanId, String vlanGateway, String vlanNetmask) {
@@ -285,35 +284,35 @@ public class IPAddressDaoImpl extends GenericDaoBase<IPAddressVO, Long> implemen
public IPAddressVO markAsUnavailable(long ipAddressId) {
SearchCriteria<IPAddressVO> sc = AllFieldsSearch.create();
sc.setParameters("id", ipAddressId);
-
+
IPAddressVO ip = createForUpdate();
ip.setState(State.Releasing);
if (update(ip, sc) != 1) {
return null;
}
-
+
return findOneBy(sc);
}
@Override
public long countAllocatedIPsForAccount(long accountId) {
- SearchCriteria<Long> sc = AllocatedIpCountForAccount.create();
+ SearchCriteria<Long> sc = AllocatedIpCountForAccount.create();
sc.setParameters("account", accountId);
return customSearch(sc, null).get(0);
}
-
+
@Override
public List<IPAddressVO> listByPhysicalNetworkId(long physicalNetworkId) {
SearchCriteria<IPAddressVO> sc = AllFieldsSearch.create();
sc.setParameters("physicalNetworkId", physicalNetworkId);
return listBy(sc);
}
-
+
@Override
public long countFreePublicIPs() {
- SearchCriteria<Long> sc = CountFreePublicIps.create();
- sc.setParameters("state", State.Free);
- sc.setJoinParameters("vlans", "vlanType", VlanType.VirtualNetwork);
+ SearchCriteria<Long> sc = CountFreePublicIps.create();
+ sc.setParameters("state", State.Free);
+ sc.setJoinParameters("vlans", "vlanType", VlanType.VirtualNetwork);
return customSearch(sc, null).get(0);
}
@@ -321,21 +320,22 @@ public class IPAddressDaoImpl extends GenericDaoBase<IPAddressVO, Long> implemen
public List<IPAddressVO> listByAssociatedVpc(long vpcId, Boolean isSourceNat) {
SearchCriteria<IPAddressVO> sc = AllFieldsSearch.create();
sc.setParameters("vpcId", vpcId);
-
+
if (isSourceNat != null) {
sc.setParameters("sourceNat", isSourceNat);
}
-
+
return listBy(sc);
}
-
+
+ @Override
public long countFreeIPsInNetwork(long networkId) {
SearchCriteria<Long> sc = CountFreePublicIps.create();
sc.setParameters("state", State.Free);
sc.setParameters("networkId", networkId);
return customSearch(sc, null).get(0);
}
-
+
@Override
@DB
public boolean remove(Long id) {
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/110465b5/server/src/com/cloud/network/dao/LoadBalancerDaoImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/dao/LoadBalancerDaoImpl.java b/server/src/com/cloud/network/dao/LoadBalancerDaoImpl.java
index 31180db..ec9dbc5 100644
--- a/server/src/com/cloud/network/dao/LoadBalancerDaoImpl.java
+++ b/server/src/com/cloud/network/dao/LoadBalancerDaoImpl.java
@@ -29,7 +29,6 @@ import org.springframework.stereotype.Component;
import com.cloud.network.LoadBalancerVO;
import com.cloud.network.rules.FirewallRule.State;
-import com.cloud.utils.component.ComponentLocator;
import com.cloud.utils.db.GenericDaoBase;
import com.cloud.utils.db.SearchBuilder;
import com.cloud.utils.db.SearchCriteria;
@@ -135,5 +134,5 @@ public class LoadBalancerDaoImpl extends GenericDaoBase<LoadBalancerVO, Long> im
sc.setParameters("state", State.Add.toString(), State.Revoke.toString());
return listBy(sc);
}
-
+
}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/110465b5/server/src/com/cloud/network/dao/NetworkDaoImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/dao/NetworkDaoImpl.java b/server/src/com/cloud/network/dao/NetworkDaoImpl.java
index c6a65dd..206373e 100644
--- a/server/src/com/cloud/network/dao/NetworkDaoImpl.java
+++ b/server/src/com/cloud/network/dao/NetworkDaoImpl.java
@@ -45,7 +45,6 @@ import com.cloud.offerings.NetworkOfferingVO;
import com.cloud.offerings.dao.NetworkOfferingDaoImpl;
import com.cloud.server.ResourceTag.TaggedResourceType;
import com.cloud.tags.dao.ResourceTagsDaoImpl;
-import com.cloud.utils.component.ComponentLocator;
import com.cloud.utils.db.DB;
import com.cloud.utils.db.GenericDaoBase;
import com.cloud.utils.db.GenericSearchBuilder;
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/110465b5/server/src/com/cloud/network/dao/PhysicalNetworkDaoImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/dao/PhysicalNetworkDaoImpl.java b/server/src/com/cloud/network/dao/PhysicalNetworkDaoImpl.java
index e1603db..f4648fb 100644
--- a/server/src/com/cloud/network/dao/PhysicalNetworkDaoImpl.java
+++ b/server/src/com/cloud/network/dao/PhysicalNetworkDaoImpl.java
@@ -25,23 +25,20 @@ import org.springframework.stereotype.Component;
import com.cloud.network.Networks.TrafficType;
import com.cloud.network.PhysicalNetworkVO;
-import com.cloud.utils.component.ComponentLocator;
import com.cloud.utils.db.DB;
import com.cloud.utils.db.GenericDaoBase;
-import com.cloud.utils.db.GenericSearchBuilder;
import com.cloud.utils.db.JoinBuilder;
import com.cloud.utils.db.SearchBuilder;
import com.cloud.utils.db.SearchCriteria;
-import com.cloud.utils.db.SearchCriteria.Func;
import com.cloud.utils.db.SearchCriteria.Op;
@Component
@Local(value=PhysicalNetworkDao.class) @DB(txn=false)
public class PhysicalNetworkDaoImpl extends GenericDaoBase<PhysicalNetworkVO, Long> implements PhysicalNetworkDao {
final SearchBuilder<PhysicalNetworkVO> ZoneSearch;
-
+
@Inject protected PhysicalNetworkTrafficTypeDaoImpl _trafficTypeDao;
-
+
protected PhysicalNetworkDaoImpl() {
super();
ZoneSearch = createSearchBuilder();
@@ -65,7 +62,7 @@ public class PhysicalNetworkDaoImpl extends GenericDaoBase<PhysicalNetworkVO, Lo
@Override
public List<PhysicalNetworkVO> listByZoneAndTrafficType(long dataCenterId, TrafficType trafficType) {
-
+
SearchBuilder<PhysicalNetworkTrafficTypeVO> trafficTypeSearch = _trafficTypeDao.createSearchBuilder();
PhysicalNetworkTrafficTypeVO trafficTypeEntity = trafficTypeSearch.entity();
trafficTypeSearch.and("trafficType", trafficTypeSearch.entity().getTrafficType(), SearchCriteria.Op.EQ);
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/110465b5/server/src/com/cloud/network/dao/Site2SiteVpnConnectionDaoImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/dao/Site2SiteVpnConnectionDaoImpl.java b/server/src/com/cloud/network/dao/Site2SiteVpnConnectionDaoImpl.java
index 2dbae75..8ad6176 100644
--- a/server/src/com/cloud/network/dao/Site2SiteVpnConnectionDaoImpl.java
+++ b/server/src/com/cloud/network/dao/Site2SiteVpnConnectionDaoImpl.java
@@ -25,10 +25,8 @@ import javax.inject.Inject;
import org.apache.log4j.Logger;
import org.springframework.stereotype.Component;
-import com.cloud.network.IPAddressVO;
import com.cloud.network.Site2SiteVpnConnectionVO;
import com.cloud.network.Site2SiteVpnGatewayVO;
-import com.cloud.utils.component.ComponentLocator;
import com.cloud.utils.db.GenericDaoBase;
import com.cloud.utils.db.JoinBuilder.JoinType;
import com.cloud.utils.db.SearchBuilder;
@@ -41,35 +39,35 @@ public class Site2SiteVpnConnectionDaoImpl extends GenericDaoBase<Site2SiteVpnCo
@Inject protected IPAddressDaoImpl _addrDao;
@Inject protected Site2SiteVpnGatewayDaoImpl _vpnGatewayDao;
-
+
private SearchBuilder<Site2SiteVpnConnectionVO> AllFieldsSearch;
private SearchBuilder<Site2SiteVpnConnectionVO> VpcSearch;
private SearchBuilder<Site2SiteVpnGatewayVO> VpnGatewaySearch;
public Site2SiteVpnConnectionDaoImpl() {
}
-
+
@PostConstruct
protected void init() {
AllFieldsSearch = createSearchBuilder();
AllFieldsSearch.and("customerGatewayId", AllFieldsSearch.entity().getCustomerGatewayId(), SearchCriteria.Op.EQ);
AllFieldsSearch.and("vpnGatewayId", AllFieldsSearch.entity().getVpnGatewayId(), SearchCriteria.Op.EQ);
AllFieldsSearch.done();
-
+
VpcSearch = createSearchBuilder();
VpnGatewaySearch = _vpnGatewayDao.createSearchBuilder();
VpnGatewaySearch.and("vpcId", VpnGatewaySearch.entity().getVpcId(), SearchCriteria.Op.EQ);
VpcSearch.join("vpnGatewaySearch", VpnGatewaySearch, VpnGatewaySearch.entity().getId(), VpcSearch.entity().getVpnGatewayId(), JoinType.INNER);
VpcSearch.done();
}
-
+
@Override
public List<Site2SiteVpnConnectionVO> listByCustomerGatewayId(long id) {
SearchCriteria<Site2SiteVpnConnectionVO> sc = AllFieldsSearch.create();
sc.setParameters("customerGatewayId", id);
return listBy(sc);
}
-
+
@Override
public List<Site2SiteVpnConnectionVO> listByVpnGatewayId(long id) {
SearchCriteria<Site2SiteVpnConnectionVO> sc = AllFieldsSearch.create();
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/110465b5/server/src/com/cloud/network/dao/Site2SiteVpnGatewayDaoImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/dao/Site2SiteVpnGatewayDaoImpl.java b/server/src/com/cloud/network/dao/Site2SiteVpnGatewayDaoImpl.java
index b5e0ad5..491b172 100644
--- a/server/src/com/cloud/network/dao/Site2SiteVpnGatewayDaoImpl.java
+++ b/server/src/com/cloud/network/dao/Site2SiteVpnGatewayDaoImpl.java
@@ -23,7 +23,6 @@ import org.apache.log4j.Logger;
import org.springframework.stereotype.Component;
import com.cloud.network.Site2SiteVpnGatewayVO;
-import com.cloud.utils.component.ComponentLocator;
import com.cloud.utils.db.GenericDaoBase;
import com.cloud.utils.db.SearchBuilder;
import com.cloud.utils.db.SearchCriteria;
@@ -32,9 +31,9 @@ import com.cloud.utils.db.SearchCriteria;
@Local(value={Site2SiteVpnGatewayDao.class})
public class Site2SiteVpnGatewayDaoImpl extends GenericDaoBase<Site2SiteVpnGatewayVO, Long> implements Site2SiteVpnGatewayDao {
@Inject protected IPAddressDaoImpl _addrDao;
-
+
private static final Logger s_logger = Logger.getLogger(Site2SiteVpnGatewayDaoImpl.class);
-
+
private final SearchBuilder<Site2SiteVpnGatewayVO> AllFieldsSearch;
protected Site2SiteVpnGatewayDaoImpl() {
@@ -42,7 +41,7 @@ public class Site2SiteVpnGatewayDaoImpl extends GenericDaoBase<Site2SiteVpnGatew
AllFieldsSearch.and("vpcId", AllFieldsSearch.entity().getVpcId(), SearchCriteria.Op.EQ);
AllFieldsSearch.done();
}
-
+
@Override
public Site2SiteVpnGatewayVO findByVpcId(long vpcId) {
SearchCriteria<Site2SiteVpnGatewayVO> sc = AllFieldsSearch.create();
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/110465b5/server/src/com/cloud/network/element/BareMetalElement.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/element/BareMetalElement.java b/server/src/com/cloud/network/element/BareMetalElement.java
index d13cf14..553fe1d 100644
--- a/server/src/com/cloud/network/element/BareMetalElement.java
+++ b/server/src/com/cloud/network/element/BareMetalElement.java
@@ -16,7 +16,6 @@
// under the License.
package com.cloud.network.element;
-import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -24,7 +23,6 @@ import javax.ejb.Local;
import javax.inject.Inject;
import org.apache.log4j.Logger;
-import org.springframework.stereotype.Component;
import com.cloud.baremetal.ExternalDhcpManager;
import com.cloud.deploy.DeployDestination;
@@ -49,7 +47,6 @@ import com.cloud.vm.VirtualMachine;
import com.cloud.vm.VirtualMachineProfile;
import com.cloud.vm.dao.NicDao;
-@Component
@Local(value=NetworkElement.class)
public class BareMetalElement extends AdapterBase implements NetworkElement {
private static final Logger s_logger = Logger.getLogger(BareMetalElement.class);
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/110465b5/server/src/com/cloud/network/element/CloudZonesNetworkElement.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/element/CloudZonesNetworkElement.java b/server/src/com/cloud/network/element/CloudZonesNetworkElement.java
index 0cf632c..cc35460 100644
--- a/server/src/com/cloud/network/element/CloudZonesNetworkElement.java
+++ b/server/src/com/cloud/network/element/CloudZonesNetworkElement.java
@@ -17,7 +17,6 @@
package com.cloud.network.element;
import java.util.HashMap;
-import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -25,7 +24,6 @@ import javax.ejb.Local;
import javax.inject.Inject;
import org.apache.log4j.Logger;
-import org.springframework.stereotype.Component;
import com.cloud.agent.AgentManager;
import com.cloud.agent.AgentManager.OnError;
@@ -64,7 +62,6 @@ import com.cloud.vm.VirtualMachineProfile;
import com.cloud.vm.dao.DomainRouterDao;
import com.cloud.vm.dao.UserVmDao;
-@Component
@Local(value = NetworkElement.class)
public class CloudZonesNetworkElement extends AdapterBase implements NetworkElement, UserDataServiceProvider {
private static final Logger s_logger = Logger.getLogger(CloudZonesNetworkElement.class);
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/110465b5/server/src/com/cloud/network/element/ExternalDhcpElement.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/element/ExternalDhcpElement.java b/server/src/com/cloud/network/element/ExternalDhcpElement.java
index 0f99abd..f7c465d 100755
--- a/server/src/com/cloud/network/element/ExternalDhcpElement.java
+++ b/server/src/com/cloud/network/element/ExternalDhcpElement.java
@@ -17,7 +17,6 @@
package com.cloud.network.element;
import java.util.HashMap;
-import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -25,7 +24,6 @@ import javax.ejb.Local;
import javax.inject.Inject;
import org.apache.log4j.Logger;
-import org.springframework.stereotype.Component;
import com.cloud.baremetal.ExternalDhcpManager;
import com.cloud.dc.DataCenter;
@@ -51,7 +49,6 @@ import com.cloud.vm.ReservationContext;
import com.cloud.vm.VirtualMachine;
import com.cloud.vm.VirtualMachineProfile;
-@Component
@Local(value = NetworkElement.class)
public class ExternalDhcpElement extends AdapterBase implements NetworkElement, DhcpServiceProvider {
private static final Logger s_logger = Logger.getLogger(ExternalDhcpElement.class);
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/110465b5/server/src/com/cloud/network/element/SecurityGroupElement.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/element/SecurityGroupElement.java b/server/src/com/cloud/network/element/SecurityGroupElement.java
index bcc8ecc..0659db7 100644
--- a/server/src/com/cloud/network/element/SecurityGroupElement.java
+++ b/server/src/com/cloud/network/element/SecurityGroupElement.java
@@ -17,14 +17,11 @@
package com.cloud.network.element;
import java.util.HashMap;
-import java.util.List;
import java.util.Map;
import java.util.Set;
import javax.ejb.Local;
-import org.springframework.stereotype.Component;
-
import com.cloud.deploy.DeployDestination;
import com.cloud.exception.ConcurrentOperationException;
import com.cloud.exception.InsufficientCapacityException;
@@ -42,7 +39,6 @@ import com.cloud.vm.ReservationContext;
import com.cloud.vm.VirtualMachine;
import com.cloud.vm.VirtualMachineProfile;
-@Component
@Local(value=NetworkElement.class)
public class SecurityGroupElement extends AdapterBase implements NetworkElement {
private static final Map<Service, Map<Capability, String>> capabilities = setCapabilities();
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/110465b5/server/src/com/cloud/network/element/VirtualRouterElement.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/element/VirtualRouterElement.java b/server/src/com/cloud/network/element/VirtualRouterElement.java
index 4818443..8a69e56 100755
--- a/server/src/com/cloud/network/element/VirtualRouterElement.java
+++ b/server/src/com/cloud/network/element/VirtualRouterElement.java
@@ -25,10 +25,10 @@ import java.util.Set;
import javax.ejb.Local;
import javax.inject.Inject;
+import com.cloud.utils.PropertiesUtil;
import org.apache.cloudstack.api.command.admin.router.ConfigureVirtualRouterElementCmd;
import org.apache.cloudstack.api.command.admin.router.ListVirtualRouterElementsCmd;
import org.apache.log4j.Logger;
-import org.springframework.stereotype.Component;
import com.cloud.configuration.ConfigurationManager;
import com.cloud.configuration.dao.ConfigurationDao;
@@ -89,7 +89,6 @@ import com.cloud.vm.dao.DomainRouterDao;
import com.cloud.vm.dao.UserVmDao;
import com.google.gson.Gson;
-@Component
@Local(value = NetworkElement.class)
public class VirtualRouterElement extends AdapterBase implements VirtualRouterElementService, DhcpServiceProvider,
UserDataServiceProvider, SourceNatServiceProvider, StaticNatServiceProvider, FirewallServiceProvider,
@@ -682,8 +681,9 @@ public class VirtualRouterElement extends AdapterBase implements VirtualRouterEl
}
@Override
- public String[] getPropertiesFiles() {
- return new String[] { "virtualrouter_commands.properties" };
+ public Map<String, String> getProperties() {
+ return PropertiesUtil.processConfigFile(new String[]
+ { "virtualrouter_commands.properties" });
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/110465b5/server/src/com/cloud/network/element/VpcVirtualRouterElement.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/element/VpcVirtualRouterElement.java b/server/src/com/cloud/network/element/VpcVirtualRouterElement.java
index 49ca0b4..60924a2 100644
--- a/server/src/com/cloud/network/element/VpcVirtualRouterElement.java
+++ b/server/src/com/cloud/network/element/VpcVirtualRouterElement.java
@@ -26,7 +26,6 @@ import javax.ejb.Local;
import javax.inject.Inject;
import org.apache.log4j.Logger;
-import org.springframework.stereotype.Component;
import com.cloud.dc.DataCenter;
import com.cloud.deploy.DeployDestination;
@@ -63,7 +62,6 @@ import com.cloud.vm.VirtualMachine;
import com.cloud.vm.VirtualMachine.Type;
import com.cloud.vm.VirtualMachineProfile;
-@Component
@Local(value = NetworkElement.class)
public class VpcVirtualRouterElement extends VirtualRouterElement implements VpcProvider, Site2SiteVpnServiceProvider, NetworkACLServiceProvider{
private static final Logger s_logger = Logger.getLogger(VpcVirtualRouterElement.class);
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/110465b5/server/src/com/cloud/network/guru/ControlNetworkGuru.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/guru/ControlNetworkGuru.java b/server/src/com/cloud/network/guru/ControlNetworkGuru.java
index 1195f68..469a08b 100755
--- a/server/src/com/cloud/network/guru/ControlNetworkGuru.java
+++ b/server/src/com/cloud/network/guru/ControlNetworkGuru.java
@@ -46,7 +46,7 @@ import com.cloud.network.Networks.Mode;
import com.cloud.network.Networks.TrafficType;
import com.cloud.offering.NetworkOffering;
import com.cloud.user.Account;
-import com.cloud.utils.component.ComponentLocator;
+
import com.cloud.utils.exception.CloudRuntimeException;
import com.cloud.utils.net.NetUtils;
import com.cloud.vm.Nic;
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/110465b5/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
index 85e86f6..255a1af 100755
--- a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
+++ b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
@@ -206,7 +206,7 @@ import com.cloud.utils.NumbersUtil;
import com.cloud.utils.Pair;
import com.cloud.utils.PasswordGenerator;
import com.cloud.utils.StringUtils;
-import com.cloud.utils.component.ComponentLocator;
+
import com.cloud.utils.concurrency.NamedThreadFactory;
import com.cloud.utils.db.DB;
import com.cloud.utils.db.Filter;
@@ -818,26 +818,29 @@ public class VirtualNetworkApplianceManagerImpl implements VirtualNetworkApplian
String privateIP = router.getPrivateIpAddress();
if (privateIP != null) {
+ boolean forVpc = router.getVpcId() != null;
List<? extends Nic> routerNics = _nicDao.listByVmId(router.getId());
for (Nic routerNic : routerNics) {
Network network = _networkMgr.getNetwork(routerNic.getNetworkId());
- if (network.getTrafficType() == TrafficType.Public) {
- boolean forVpc = router.getVpcId() != null;
+ //Send network usage command for public nic in VPC VR
+ //Send network usage command for isolated guest nic of non VPC VR
+ if ((forVpc && network.getTrafficType() == TrafficType.Public) || (!forVpc && network.getTrafficType() == TrafficType.Guest && network.getGuestType() == Network.GuestType.Isolated)) {
final NetworkUsageCommand usageCmd = new NetworkUsageCommand(privateIP, router.getHostName(),
forVpc, routerNic.getIp4Address());
- UserStatisticsVO previousStats = _statsDao.findBy(router.getAccountId(),
- router.getDataCenterIdToDeployIn(), network.getId(), null, router.getId(), router.getType().toString());
+ String routerType = router.getType().toString();
+ UserStatisticsVO previousStats = _statsDao.findBy(router.getAccountId(),
+ router.getDataCenterIdToDeployIn(), network.getId(), (forVpc ? routerNic.getIp4Address() : null), router.getId(), routerType);
NetworkUsageAnswer answer = null;
try {
answer = (NetworkUsageAnswer) _agentMgr.easySend(router.getHostId(), usageCmd);
} catch (Exception e) {
- s_logger.warn("Error while collecting network stats from router: "+router.getInstanceName()+" from host: "+router.getHostId(), e);
+ s_logger.warn("Error while collecting network stats from router: " + router.getInstanceName() + " from host: " + router.getHostId(), e);
continue;
}
if (answer != null) {
if (!answer.getResult()) {
- s_logger.warn("Error while collecting network stats from router: "+router.getInstanceName()+" from host: "+router.getHostId() + "; details: " + answer.getDetails());
+ s_logger.warn("Error while collecting network stats from router: " + router.getInstanceName() + " from host: " + router.getHostId() + "; details: " + answer.getDetails());
continue;
}
Transaction txn = Transaction.open(Transaction.CLOUD_DB);
@@ -847,27 +850,27 @@ public class VirtualNetworkApplianceManagerImpl implements VirtualNetworkApplian
continue;
}
txn.start();
- UserStatisticsVO stats = _statsDao.lock(router.getAccountId(),
- router.getDataCenterIdToDeployIn(), network.getId(), routerNic.getIp4Address(), router.getId(), router.getType().toString());
+ UserStatisticsVO stats = _statsDao.lock(router.getAccountId(),
+ router.getDataCenterIdToDeployIn(), network.getId(), (forVpc ? routerNic.getIp4Address() : null), router.getId(), routerType);
if (stats == null) {
s_logger.warn("unable to find stats for account: " + router.getAccountId());
continue;
}
- if(previousStats != null
- && ((previousStats.getCurrentBytesReceived() != stats.getCurrentBytesReceived())
- || (previousStats.getCurrentBytesSent() != stats.getCurrentBytesSent()))){
+ if (previousStats != null
+ && ((previousStats.getCurrentBytesReceived() != stats.getCurrentBytesReceived())
+ || (previousStats.getCurrentBytesSent() != stats.getCurrentBytesSent()))) {
s_logger.debug("Router stats changed from the time NetworkUsageCommand was sent. " +
- "Ignoring current answer. Router: "+answer.getRouterName()+" Rcvd: " +
- answer.getBytesReceived()+ "Sent: " +answer.getBytesSent());
+ "Ignoring current answer. Router: " + answer.getRouterName() + " Rcvd: " +
+ answer.getBytesReceived() + "Sent: " + answer.getBytesSent());
continue;
}
if (stats.getCurrentBytesReceived() > answer.getBytesReceived()) {
if (s_logger.isDebugEnabled()) {
s_logger.debug("Received # of bytes that's less than the last one. " +
- "Assuming something went wrong and persisting it. Router: " +
- answer.getRouterName()+" Reported: " + answer.getBytesReceived()
+ "Assuming something went wrong and persisting it. Router: " +
+ answer.getRouterName() + " Reported: " + answer.getBytesReceived()
+ " Stored: " + stats.getCurrentBytesReceived());
}
stats.setNetBytesReceived(stats.getNetBytesReceived() + stats.getCurrentBytesReceived());
@@ -876,8 +879,8 @@ public class VirtualNetworkApplianceManagerImpl implements VirtualNetworkApplian
if (stats.getCurrentBytesSent() > answer.getBytesSent()) {
if (s_logger.isDebugEnabled()) {
s_logger.debug("Received # of bytes that's less than the last one. " +
- "Assuming something went wrong and persisting it. Router: " +
- answer.getRouterName()+" Reported: " + answer.getBytesSent()
+ "Assuming something went wrong and persisting it. Router: " +
+ answer.getRouterName() + " Reported: " + answer.getBytesSent()
+ " Stored: " + stats.getCurrentBytesSent());
}
stats.setNetBytesSent(stats.getNetBytesSent() + stats.getCurrentBytesSent());
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/110465b5/server/src/com/cloud/network/rules/dao/PortForwardingRulesDaoImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/rules/dao/PortForwardingRulesDaoImpl.java b/server/src/com/cloud/network/rules/dao/PortForwardingRulesDaoImpl.java
index 119ab3d..5406ab6 100644
--- a/server/src/com/cloud/network/rules/dao/PortForwardingRulesDaoImpl.java
+++ b/server/src/com/cloud/network/rules/dao/PortForwardingRulesDaoImpl.java
@@ -27,7 +27,7 @@ import com.cloud.network.dao.FirewallRulesCidrsDaoImpl;
import com.cloud.network.rules.FirewallRule.Purpose;
import com.cloud.network.rules.FirewallRule.State;
import com.cloud.network.rules.PortForwardingRuleVO;
-import com.cloud.utils.component.ComponentLocator;
+
import com.cloud.utils.db.GenericDaoBase;
import com.cloud.utils.db.SearchBuilder;
import com.cloud.utils.db.SearchCriteria;
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/110465b5/server/src/com/cloud/network/security/SecurityGroupManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/security/SecurityGroupManagerImpl.java b/server/src/com/cloud/network/security/SecurityGroupManagerImpl.java
index 0a0844f..c7848b8 100755
--- a/server/src/com/cloud/network/security/SecurityGroupManagerImpl.java
+++ b/server/src/com/cloud/network/security/SecurityGroupManagerImpl.java
@@ -87,7 +87,7 @@ import com.cloud.uservm.UserVm;
import com.cloud.utils.NumbersUtil;
import com.cloud.utils.Pair;
import com.cloud.utils.Ternary;
-import com.cloud.utils.component.ComponentLocator;
+
import com.cloud.utils.component.Manager;
import com.cloud.utils.concurrency.NamedThreadFactory;
import com.cloud.utils.db.DB;
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/110465b5/server/src/com/cloud/network/security/dao/SecurityGroupDaoImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/security/dao/SecurityGroupDaoImpl.java b/server/src/com/cloud/network/security/dao/SecurityGroupDaoImpl.java
index bd44328..68112c0 100644
--- a/server/src/com/cloud/network/security/dao/SecurityGroupDaoImpl.java
+++ b/server/src/com/cloud/network/security/dao/SecurityGroupDaoImpl.java
@@ -26,7 +26,7 @@ import org.springframework.stereotype.Component;
import com.cloud.network.security.SecurityGroupVO;
import com.cloud.server.ResourceTag.TaggedResourceType;
import com.cloud.tags.dao.ResourceTagsDaoImpl;
-import com.cloud.utils.component.ComponentLocator;
+
import com.cloud.utils.db.DB;
import com.cloud.utils.db.GenericDaoBase;
import com.cloud.utils.db.SearchBuilder;
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/110465b5/server/src/com/cloud/network/vpc/VpcManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/vpc/VpcManagerImpl.java b/server/src/com/cloud/network/vpc/VpcManagerImpl.java
index 58c497e..00205a1 100644
--- a/server/src/com/cloud/network/vpc/VpcManagerImpl.java
+++ b/server/src/com/cloud/network/vpc/VpcManagerImpl.java
@@ -99,7 +99,7 @@ import com.cloud.user.UserContext;
import com.cloud.utils.NumbersUtil;
import com.cloud.utils.Pair;
import com.cloud.utils.Ternary;
-import com.cloud.utils.component.ComponentLocator;
+
import com.cloud.utils.component.Manager;
import com.cloud.utils.concurrency.NamedThreadFactory;
import com.cloud.utils.db.DB;
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/110465b5/server/src/com/cloud/network/vpc/dao/StaticRouteDaoImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/vpc/dao/StaticRouteDaoImpl.java b/server/src/com/cloud/network/vpc/dao/StaticRouteDaoImpl.java
index c5270f8..0ebccab 100644
--- a/server/src/com/cloud/network/vpc/dao/StaticRouteDaoImpl.java
+++ b/server/src/com/cloud/network/vpc/dao/StaticRouteDaoImpl.java
@@ -27,7 +27,7 @@ import com.cloud.network.vpc.StaticRoute;
import com.cloud.network.vpc.StaticRouteVO;
import com.cloud.server.ResourceTag.TaggedResourceType;
import com.cloud.tags.dao.ResourceTagsDaoImpl;
-import com.cloud.utils.component.ComponentLocator;
+
import com.cloud.utils.db.DB;
import com.cloud.utils.db.GenericDaoBase;
import com.cloud.utils.db.GenericSearchBuilder;
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/110465b5/server/src/com/cloud/network/vpc/dao/VpcDaoImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/vpc/dao/VpcDaoImpl.java b/server/src/com/cloud/network/vpc/dao/VpcDaoImpl.java
index b7e4d30..a9b5e18 100644
--- a/server/src/com/cloud/network/vpc/dao/VpcDaoImpl.java
+++ b/server/src/com/cloud/network/vpc/dao/VpcDaoImpl.java
@@ -27,7 +27,7 @@ import com.cloud.network.vpc.Vpc;
import com.cloud.network.vpc.VpcVO;
import com.cloud.server.ResourceTag.TaggedResourceType;
import com.cloud.tags.dao.ResourceTagsDaoImpl;
-import com.cloud.utils.component.ComponentLocator;
+
import com.cloud.utils.db.DB;
import com.cloud.utils.db.GenericDaoBase;
import com.cloud.utils.db.GenericSearchBuilder;
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/110465b5/server/src/com/cloud/network/vpn/RemoteAccessVpnManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/vpn/RemoteAccessVpnManagerImpl.java b/server/src/com/cloud/network/vpn/RemoteAccessVpnManagerImpl.java
index ad75502..5b7d9d4 100755
--- a/server/src/com/cloud/network/vpn/RemoteAccessVpnManagerImpl.java
+++ b/server/src/com/cloud/network/vpn/RemoteAccessVpnManagerImpl.java
@@ -70,7 +70,7 @@ import com.cloud.utils.NumbersUtil;
import com.cloud.utils.Pair;
import com.cloud.utils.PasswordGenerator;
import com.cloud.utils.Ternary;
-import com.cloud.utils.component.ComponentLocator;
+
import com.cloud.utils.component.Manager;
import com.cloud.utils.db.DB;
import com.cloud.utils.db.Filter;
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/110465b5/server/src/com/cloud/network/vpn/Site2SiteVpnManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/vpn/Site2SiteVpnManagerImpl.java b/server/src/com/cloud/network/vpn/Site2SiteVpnManagerImpl.java
index d8371c4..e34f7d4 100644
--- a/server/src/com/cloud/network/vpn/Site2SiteVpnManagerImpl.java
+++ b/server/src/com/cloud/network/vpn/Site2SiteVpnManagerImpl.java
@@ -70,7 +70,7 @@ import com.cloud.user.dao.AccountDao;
import com.cloud.utils.NumbersUtil;
import com.cloud.utils.Pair;
import com.cloud.utils.Ternary;
-import com.cloud.utils.component.ComponentLocator;
+
import com.cloud.utils.component.Manager;
import com.cloud.utils.db.DB;
import com.cloud.utils.db.Filter;
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/110465b5/server/src/com/cloud/projects/ProjectManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/projects/ProjectManagerImpl.java b/server/src/com/cloud/projects/ProjectManagerImpl.java
index 00b7716..ebe6d0c 100755
--- a/server/src/com/cloud/projects/ProjectManagerImpl.java
+++ b/server/src/com/cloud/projects/ProjectManagerImpl.java
@@ -131,7 +131,9 @@ public class ProjectManagerImpl implements ProjectManager, Manager{
Map<String, String> configs = _configDao.getConfiguration(params);
_invitationRequired = Boolean.valueOf(configs.get(Config.ProjectInviteRequired.key()));
- _invitationTimeOut = Long.valueOf(configs.get(Config.ProjectInvitationExpirationTime.key()))*1000;
+
+ String value = configs.get(Config.ProjectInvitationExpirationTime.key());
+ _invitationTimeOut = Long.valueOf(value != null ? value : "86400")*1000;
_allowUserToCreateProject = Boolean.valueOf(configs.get(Config.AllowUserToCreateProject.key()));
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/110465b5/server/src/com/cloud/projects/dao/ProjectDaoImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/projects/dao/ProjectDaoImpl.java b/server/src/com/cloud/projects/dao/ProjectDaoImpl.java
index 52ab141..e07aecc 100644
--- a/server/src/com/cloud/projects/dao/ProjectDaoImpl.java
+++ b/server/src/com/cloud/projects/dao/ProjectDaoImpl.java
@@ -28,7 +28,7 @@ import com.cloud.projects.Project;
import com.cloud.projects.ProjectVO;
import com.cloud.server.ResourceTag.TaggedResourceType;
import com.cloud.tags.dao.ResourceTagsDaoImpl;
-import com.cloud.utils.component.ComponentLocator;
+
import com.cloud.utils.db.DB;
import com.cloud.utils.db.GenericDaoBase;
import com.cloud.utils.db.GenericSearchBuilder;
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/110465b5/server/src/com/cloud/resource/DiscovererBase.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/resource/DiscovererBase.java b/server/src/com/cloud/resource/DiscovererBase.java
index 6f6d1ba..8bf599b 100644
--- a/server/src/com/cloud/resource/DiscovererBase.java
+++ b/server/src/com/cloud/resource/DiscovererBase.java
@@ -34,7 +34,7 @@ import com.cloud.dc.dao.ClusterDao;
import com.cloud.host.HostVO;
import com.cloud.host.dao.HostDao;
import com.cloud.network.NetworkManager;
-import com.cloud.utils.component.ComponentLocator;
+
import com.cloud.utils.net.UrlUtil;
public abstract class DiscovererBase implements Discoverer {