diff --git a/api/src/com/cloud/api/BaseCmd.java b/api/src/com/cloud/api/BaseCmd.java
index e8935de598a..195e4998240 100755
--- a/api/src/com/cloud/api/BaseCmd.java
+++ b/api/src/com/cloud/api/BaseCmd.java
@@ -34,7 +34,7 @@ import com.cloud.exception.ConcurrentOperationException;
import com.cloud.exception.InsufficientCapacityException;
import com.cloud.exception.ResourceAllocationException;
import com.cloud.exception.ResourceUnavailableException;
-import com.cloud.network.DomainRouterService;
+import com.cloud.network.VirtualNetworkApplianceService;
import com.cloud.network.NetworkService;
import com.cloud.network.lb.LoadBalancingRulesService;
import com.cloud.network.rules.RulesService;
@@ -99,7 +99,7 @@ public abstract class BaseCmd {
public static SecurityGroupService _securityGroupMgr;
public static SnapshotService _snapshotMgr;
public static ConsoleProxyService _consoleProxyMgr;
- public static DomainRouterService _routerService;
+ public static VirtualNetworkApplianceService _routerService;
public static ResponseGenerator _responseGenerator;
public static EntityManager _entityMgr;
public static RulesService _rulesService;
@@ -119,7 +119,7 @@ public abstract class BaseCmd {
_securityGroupMgr = locator.getManager(SecurityGroupService.class);
_snapshotMgr = locator.getManager(SnapshotService.class);
_consoleProxyMgr = locator.getManager(ConsoleProxyService.class);
- _routerService = locator.getManager(DomainRouterService.class);
+ _routerService = locator.getManager(VirtualNetworkApplianceService.class);
_entityMgr = locator.getManager(EntityManager.class);
_rulesService = locator.getManager(RulesService.class);
_lbService = locator.getManager(LoadBalancingRulesService.class);
diff --git a/api/src/com/cloud/network/DomainRouterService.java b/api/src/com/cloud/network/VirtualNetworkApplianceService.java
similarity index 98%
rename from api/src/com/cloud/network/DomainRouterService.java
rename to api/src/com/cloud/network/VirtualNetworkApplianceService.java
index 11d1259b81e..a3db2ffc253 100644
--- a/api/src/com/cloud/network/DomainRouterService.java
+++ b/api/src/com/cloud/network/VirtualNetworkApplianceService.java
@@ -27,7 +27,7 @@ import com.cloud.exception.InvalidParameterValueException;
import com.cloud.exception.ResourceUnavailableException;
import com.cloud.network.router.VirtualRouter;
-public interface DomainRouterService {
+public interface VirtualNetworkApplianceService {
/**
* Starts domain router
* @param cmd the command specifying router's id
diff --git a/client/tomcatconf/components.xml.in b/client/tomcatconf/components.xml.in
index f1e4c58fc26..371c8239472 100755
--- a/client/tomcatconf/components.xml.in
+++ b/client/tomcatconf/components.xml.in
@@ -76,7 +76,7 @@
-
+
diff --git a/core/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java b/core/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java
index e5fa36c0769..48429fdf1a5 100644
--- a/core/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java
+++ b/core/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java
@@ -3177,11 +3177,11 @@ public abstract class CitrixResourceBase implements ServerResource {
}
long avail = cap - lvmsr.getPhysicalUtilisation(conn);
lvmsr.setNameLabel(conn, lvmuuid);
- String name = "VMOps local storage pool in host : " + _host.uuid;
+ String name = "Cloud Stack Local Storage Pool for " + _host.uuid;
lvmsr.setNameDescription(conn, name);
Host host = Host.getByUuid(conn, _host.uuid);
String address = host.getAddress(conn);
- StoragePoolInfo pInfo = new StoragePoolInfo(name, address, SRType.LVM.toString(), SRType.LVM.toString(), StoragePoolType.LVM, cap, avail);
+ StoragePoolInfo pInfo = new StoragePoolInfo(lvmuuid, address, SRType.LVM.toString(), SRType.LVM.toString(), StoragePoolType.LVM, cap, avail);
StartupStorageCommand cmd = new StartupStorageCommand();
cmd.setPoolInfo(pInfo);
cmd.setGuid(_host.uuid);
diff --git a/server/src/com/cloud/agent/manager/AgentManagerImpl.java b/server/src/com/cloud/agent/manager/AgentManagerImpl.java
index 6d8b31d3103..bc6e5e453b7 100755
--- a/server/src/com/cloud/agent/manager/AgentManagerImpl.java
+++ b/server/src/com/cloud/agent/manager/AgentManagerImpl.java
@@ -591,8 +591,9 @@ public class AgentManagerImpl implements AgentManager, HandlerFactory, ResourceS
if(cmd.getClusterType() != null && !cmd.getClusterType().isEmpty()) {
clusterType = Cluster.ClusterType.valueOf(cmd.getClusterType());
}
- if(clusterType == null)
- clusterType = Cluster.ClusterType.CloudManaged;
+ if(clusterType == null) {
+ clusterType = Cluster.ClusterType.CloudManaged;
+ }
Discoverer discoverer = getMatchingDiscover(hypervisorType);
if(discoverer == null) {
@@ -616,8 +617,9 @@ public class AgentManagerImpl implements AgentManager, HandlerFactory, ResourceS
clusterId = cluster.getId();
}
- if(clusterType == Cluster.ClusterType.CloudManaged)
- return _hostDao.listByCluster(clusterId);
+ if(clusterType == Cluster.ClusterType.CloudManaged) {
+ return _hostDao.listByCluster(clusterId);
+ }
boolean success = false;
try {
@@ -669,8 +671,9 @@ public class AgentManagerImpl implements AgentManager, HandlerFactory, ResourceS
Enumeration en = _discoverers.enumeration();
while (en.hasMoreElements()) {
Discoverer discoverer = en.nextElement();
- if(discoverer.getHypervisorType() == hypervisorType)
- return discoverer;
+ if(discoverer.getHypervisorType() == hypervisorType) {
+ return discoverer;
+ }
}
return null;
}
@@ -772,8 +775,9 @@ public class AgentManagerImpl implements AgentManager, HandlerFactory, ResourceS
while (en.hasMoreElements()) {
Discoverer discoverer = en.nextElement();
if(hypervisorType != null) {
- if(!discoverer.matchHypervisor(hypervisorType))
- continue;
+ if(!discoverer.matchHypervisor(hypervisorType)) {
+ continue;
+ }
}
Map extends ServerResource, Map> resources = null;
@@ -1376,23 +1380,19 @@ public class AgentManagerImpl implements AgentManager, HandlerFactory, ResourceS
}
if (host.getClusterId() != null) {
params.put("cluster", Long.toString(host.getClusterId()));
+ String guid = null;
+ ClusterVO cluster = _clusterDao.findById(host.getClusterId());
+ if ( cluster.getGuid() == null ) {
+ guid = host.getDetail("pool");
+ } else {
+ guid = cluster.getGuid();
+ }
+ if( guid == null || guid.isEmpty() ) {
+ throw new CloudRuntimeException("Can not find guid for cluster " + cluster.getId() + " name " + cluster.getName());
+ }
+ params.put("pool", guid);
}
- String guid = null;
- ClusterVO cluster = _clusterDao.findById(host.getClusterId());
- if(cluster.getHypervisorType() == Hypervisor.HypervisorType.XenServer) {
- if ( cluster.getGuid() == null ) {
- guid = host.getDetail("pool");
- } else {
- guid = cluster.getGuid();
- }
- if( guid == null || guid.isEmpty() ) {
- throw new CloudRuntimeException("Can not find guid for cluster " + cluster.getId() + " name " + cluster.getName());
- }
- params.put("pool", guid);
- }
-
-
params.put("ipaddress", host.getPrivateIpAddress());
params.put("secondary.storage.vm", "false");
params.put("max.template.iso.size", _configDao.getValue("max.template.iso.size"));
@@ -1904,6 +1904,7 @@ public class AgentManagerImpl implements AgentManager, HandlerFactory, ResourceS
}
}
+ @Override
public Host addHost(long zoneId, ServerResource resource, Type hostType, Map hostDetails) {
// Check if the zone exists in the system
if (_dcDao.findById(zoneId) == null ){
@@ -1911,7 +1912,7 @@ public class AgentManagerImpl implements AgentManager, HandlerFactory, ResourceS
}
Map details = hostDetails;
- String guid = (String) details.get("guid");
+ String guid = details.get("guid");
List currentHosts = _hostDao.listBy(hostType, zoneId);
for (HostVO currentHost : currentHosts) {
if (currentHost.getGuid().equals(guid)) {
diff --git a/server/src/com/cloud/configuration/DefaultComponentLibrary.java b/server/src/com/cloud/configuration/DefaultComponentLibrary.java
index 4056731fa1b..ec72d6cab7c 100644
--- a/server/src/com/cloud/configuration/DefaultComponentLibrary.java
+++ b/server/src/com/cloud/configuration/DefaultComponentLibrary.java
@@ -70,7 +70,7 @@ import com.cloud.network.dao.NetworkRuleConfigDaoImpl;
import com.cloud.network.dao.RemoteAccessVpnDaoImpl;
import com.cloud.network.dao.VpnUserDaoImpl;
import com.cloud.network.lb.LoadBalancingRulesManagerImpl;
-import com.cloud.network.router.DomainRouterManagerImpl;
+import com.cloud.network.router.VirtualNetworkApplianceManagerImpl;
import com.cloud.network.rules.RulesManagerImpl;
import com.cloud.network.rules.dao.PortForwardingRulesDaoImpl;
import com.cloud.network.security.SecurityGroupManagerImpl;
@@ -280,7 +280,7 @@ public class DefaultComponentLibrary implements ComponentLibrary {
addManager("SnapshotScheduler", SnapshotSchedulerImpl.class);
addManager("SecurityGroupManager", SecurityGroupManagerImpl.class);
addManager("VmManager", VirtualMachineManagerImpl.class);
- addManager("DomainRouterManager", DomainRouterManagerImpl.class);
+ addManager("DomainRouterManager", VirtualNetworkApplianceManagerImpl.class);
addManager("EntityManager", EntityManagerImpl.class);
addManager("LoadBalancingRulesManager", LoadBalancingRulesManagerImpl.class);
addManager("RulesManager", RulesManagerImpl.class);
diff --git a/server/src/com/cloud/network/NetworkManagerImpl.java b/server/src/com/cloud/network/NetworkManagerImpl.java
index 44aa948bdf9..4a956bc19c7 100755
--- a/server/src/com/cloud/network/NetworkManagerImpl.java
+++ b/server/src/com/cloud/network/NetworkManagerImpl.java
@@ -101,7 +101,7 @@ import com.cloud.network.guru.NetworkGuru;
import com.cloud.network.lb.LoadBalancingRule;
import com.cloud.network.lb.LoadBalancingRule.LbDestination;
import com.cloud.network.lb.LoadBalancingRulesManager;
-import com.cloud.network.router.DomainRouterManager;
+import com.cloud.network.router.VirtualNetworkApplianceManager;
import com.cloud.network.rules.FirewallRule;
import com.cloud.network.rules.PortForwardingRuleVO;
import com.cloud.network.rules.RulesManager;
@@ -182,7 +182,7 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
@Inject NicDao _nicDao = null;
@Inject RemoteAccessVpnDao _remoteAccessVpnDao = null;
@Inject VpnUserDao _vpnUsersDao = null;
- @Inject DomainRouterManager _routerMgr;
+ @Inject VirtualNetworkApplianceManager _routerMgr;
@Inject RulesManager _rulesMgr;
@Inject LoadBalancingRulesManager _lbMgr;
@Inject FirewallRulesDao _firewallRulesDao;
diff --git a/server/src/com/cloud/network/SshKeysDistriMonitor.java b/server/src/com/cloud/network/SshKeysDistriMonitor.java
index 3ca6e01060a..15baf177190 100644
--- a/server/src/com/cloud/network/SshKeysDistriMonitor.java
+++ b/server/src/com/cloud/network/SshKeysDistriMonitor.java
@@ -36,16 +36,16 @@ import com.cloud.host.HostVO;
import com.cloud.host.Status;
import com.cloud.host.dao.HostDao;
import com.cloud.hypervisor.Hypervisor.HypervisorType;
-import com.cloud.network.router.DomainRouterManager;
+import com.cloud.network.router.VirtualNetworkApplianceManager;
public class SshKeysDistriMonitor implements Listener {
private static final Logger s_logger = Logger.getLogger(SshKeysDistriMonitor.class);
- private final DomainRouterManager _routerMgr;
+ private final VirtualNetworkApplianceManager _routerMgr;
private final HostDao _hostDao;
private ConfigurationDao _configDao;
- public SshKeysDistriMonitor(DomainRouterManager mgr, HostDao host, ConfigurationDao config) {
+ public SshKeysDistriMonitor(VirtualNetworkApplianceManager mgr, HostDao host, ConfigurationDao config) {
this._routerMgr = mgr;
_hostDao = host;
_configDao = config;
diff --git a/server/src/com/cloud/network/element/DhcpElement.java b/server/src/com/cloud/network/element/DhcpElement.java
index a9cd917402c..6b8bc98fc88 100644
--- a/server/src/com/cloud/network/element/DhcpElement.java
+++ b/server/src/com/cloud/network/element/DhcpElement.java
@@ -32,7 +32,7 @@ import com.cloud.network.Network;
import com.cloud.network.NetworkManager;
import com.cloud.network.PublicIpAddress;
import com.cloud.network.dao.NetworkDao;
-import com.cloud.network.router.DomainRouterManager;
+import com.cloud.network.router.VirtualNetworkApplianceManager;
import com.cloud.network.rules.FirewallRule;
import com.cloud.network.service.Providers;
import com.cloud.offering.NetworkOffering;
@@ -56,7 +56,7 @@ public class DhcpElement extends AdapterBase implements NetworkElement {
@Inject NetworkDao _networkConfigDao;
@Inject NetworkManager _networkMgr;
- @Inject DomainRouterManager _routerMgr;
+ @Inject VirtualNetworkApplianceManager _routerMgr;
@Inject UserVmManager _userVmMgr;
@Inject UserVmDao _userVmDao;
@Inject DomainRouterDao _routerDao;
diff --git a/server/src/com/cloud/network/element/DomainRouterElement.java b/server/src/com/cloud/network/element/VirtualRouterElement.java
similarity index 96%
rename from server/src/com/cloud/network/element/DomainRouterElement.java
rename to server/src/com/cloud/network/element/VirtualRouterElement.java
index ea5e92c6286..4b816b34b56 100644
--- a/server/src/com/cloud/network/element/DomainRouterElement.java
+++ b/server/src/com/cloud/network/element/VirtualRouterElement.java
@@ -39,7 +39,7 @@ import com.cloud.network.dao.NetworkDao;
import com.cloud.network.lb.LoadBalancingRule;
import com.cloud.network.lb.LoadBalancingRule.LbDestination;
import com.cloud.network.lb.LoadBalancingRulesManager;
-import com.cloud.network.router.DomainRouterManager;
+import com.cloud.network.router.VirtualNetworkApplianceManager;
import com.cloud.network.rules.FirewallRule;
import com.cloud.network.rules.FirewallRule.Purpose;
import com.cloud.network.service.Providers;
@@ -62,14 +62,14 @@ import com.cloud.vm.dao.UserVmDao;
@Local(value=NetworkElement.class)
-public class DomainRouterElement extends AdapterBase implements NetworkElement {
- private static final Logger s_logger = Logger.getLogger(DomainRouterElement.class);
+public class VirtualRouterElement extends AdapterBase implements NetworkElement {
+ private static final Logger s_logger = Logger.getLogger(VirtualRouterElement.class);
@Inject NetworkDao _networkConfigDao;
@Inject NetworkManager _networkMgr;
@Inject LoadBalancingRulesManager _lbMgr;
@Inject NetworkOfferingDao _networkOfferingDao;
- @Inject DomainRouterManager _routerMgr;
+ @Inject VirtualNetworkApplianceManager _routerMgr;
@Inject UserVmManager _userVmMgr;
@Inject UserVmDao _userVmDao;
@Inject DomainRouterDao _routerDao;
diff --git a/server/src/com/cloud/network/router/DomainRouterManager.java b/server/src/com/cloud/network/router/VirtualNetworkApplianceManager.java
similarity index 98%
rename from server/src/com/cloud/network/router/DomainRouterManager.java
rename to server/src/com/cloud/network/router/VirtualNetworkApplianceManager.java
index 4d05dc8c929..978906e0aba 100644
--- a/server/src/com/cloud/network/router/DomainRouterManager.java
+++ b/server/src/com/cloud/network/router/VirtualNetworkApplianceManager.java
@@ -45,7 +45,7 @@ import com.cloud.vm.VirtualMachineProfile;
* NetworkManager manages the network for the different end users.
*
*/
-public interface DomainRouterManager extends Manager {
+public interface VirtualNetworkApplianceManager extends Manager {
public static final int DEFAULT_ROUTER_VM_RAMSIZE = 128; // 128M
public static final boolean USE_POD_VLAN = false;
/**
diff --git a/server/src/com/cloud/network/router/DomainRouterManagerImpl.java b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
similarity index 93%
rename from server/src/com/cloud/network/router/DomainRouterManagerImpl.java
rename to server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
index cdb6788ba81..f392c3be13a 100644
--- a/server/src/com/cloud/network/router/DomainRouterManagerImpl.java
+++ b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
@@ -77,16 +77,12 @@ import com.cloud.configuration.dao.ResourceLimitDao;
import com.cloud.dc.DataCenter;
import com.cloud.dc.DataCenterVO;
import com.cloud.dc.HostPodVO;
-import com.cloud.dc.Vlan;
-import com.cloud.dc.Vlan.VlanType;
-import com.cloud.dc.VlanVO;
import com.cloud.dc.dao.AccountVlanMapDao;
import com.cloud.dc.dao.DataCenterDao;
import com.cloud.dc.dao.HostPodDao;
import com.cloud.dc.dao.VlanDao;
import com.cloud.deploy.DataCenterDeployment;
import com.cloud.deploy.DeployDestination;
-import com.cloud.domain.DomainVO;
import com.cloud.domain.dao.DomainDao;
import com.cloud.event.Event;
import com.cloud.event.EventTypes;
@@ -107,7 +103,6 @@ import com.cloud.host.HostVO;
import com.cloud.host.dao.HostDao;
import com.cloud.hypervisor.Hypervisor;
import com.cloud.hypervisor.Hypervisor.HypervisorType;
-import com.cloud.network.DomainRouterService;
import com.cloud.network.IPAddressVO;
import com.cloud.network.IpAddress;
import com.cloud.network.Network;
@@ -119,6 +114,7 @@ import com.cloud.network.Networks.TrafficType;
import com.cloud.network.PublicIpAddress;
import com.cloud.network.RemoteAccessVpnVO;
import com.cloud.network.SshKeysDistriMonitor;
+import com.cloud.network.VirtualNetworkApplianceService;
import com.cloud.network.VpnUserVO;
import com.cloud.network.addr.PublicIp;
import com.cloud.network.dao.FirewallRulesDao;
@@ -152,7 +148,6 @@ import com.cloud.storage.dao.VolumeDao;
import com.cloud.user.Account;
import com.cloud.user.AccountManager;
import com.cloud.user.AccountService;
-import com.cloud.user.AccountVO;
import com.cloud.user.User;
import com.cloud.user.UserContext;
import com.cloud.user.UserStatisticsVO;
@@ -169,7 +164,6 @@ import com.cloud.utils.concurrency.NamedThreadFactory;
import com.cloud.utils.db.DB;
import com.cloud.utils.db.Transaction;
import com.cloud.utils.exception.CloudRuntimeException;
-import com.cloud.utils.exception.ExecutionException;
import com.cloud.utils.net.NetUtils;
import com.cloud.vm.DomainRouterVO;
import com.cloud.vm.NicProfile;
@@ -186,11 +180,12 @@ import com.cloud.vm.dao.NicDao;
import com.cloud.vm.dao.UserVmDao;
/**
- * NetworkManagerImpl implements NetworkManager.
+ * VirtualNetworkApplianceManagerImpl manages the different types of
+ * virtual network appliances available in the Cloud Stack.
*/
-@Local(value = { DomainRouterManager.class, DomainRouterService.class })
-public class DomainRouterManagerImpl implements DomainRouterManager, DomainRouterService, VirtualMachineGuru {
- private static final Logger s_logger = Logger.getLogger(DomainRouterManagerImpl.class);
+@Local(value = { VirtualNetworkApplianceManager.class, VirtualNetworkApplianceService.class })
+public class VirtualNetworkApplianceManagerImpl implements VirtualNetworkApplianceManager, VirtualNetworkApplianceService, VirtualMachineGuru {
+ private static final Logger s_logger = Logger.getLogger(VirtualNetworkApplianceManagerImpl.class);
String _name;
@Inject
@@ -336,126 +331,6 @@ public class DomainRouterManagerImpl implements DomainRouterManager, DomainRoute
}
}
- @DB
- public DomainRouterVO createDhcpServerForDirectlyAttachedGuests(long userId, long accountId, DataCenterVO dc, HostPodVO pod, Long candidateHost,
- VlanVO guestVlan) throws ConcurrentOperationException {
-
- final AccountVO account = _accountDao.findById(accountId);
- boolean podVlan = guestVlan.getVlanType().equals(VlanType.DirectAttached) && guestVlan.getVlanTag().equals(Vlan.UNTAGGED);
- long accountIdForDHCPServer = podVlan ? Account.ACCOUNT_ID_SYSTEM : accountId;
- long domainIdForDHCPServer = podVlan ? DomainVO.ROOT_DOMAIN : account.getDomainId();
- String domainNameForDHCPServer = podVlan ? "root" : _domainDao.findById(account.getDomainId()).getName();
-
- final VMTemplateVO rtrTemplate = _templateDao.findRoutingTemplate();
-
- final Transaction txn = Transaction.currentTxn();
- DomainRouterVO router = null;
- Long podId = pod.getId();
- pod = _podDao.acquireInLockTable(podId, 20 * 60);
- if (pod == null) {
- throw new ConcurrentOperationException("Unable to acquire lock on pod " + podId);
- }
- if (s_logger.isDebugEnabled()) {
- s_logger.debug("Lock on pod " + podId + " is acquired");
- }
-
- final long id = _routerDao.getNextInSequence(Long.class, "id");
- final String[] macAddresses = _dcDao.getNextAvailableMacAddressPair(dc.getId());
- final String mgmtMacAddress = macAddresses[0];
- final String guestMacAddress = macAddresses[1];
- final String name = VirtualMachineName.getRouterName(id, _instance).intern();
-
- boolean routerLockAcquired = false;
- try {
- List rtrs = _routerDao.listByVlanDbId(guestVlan.getId());
- assert rtrs.size() < 2 : "How did we get more than one router per vlan?";
- if (rtrs.size() == 1) {
- return rtrs.get(0);
- }
- String mgmtNetmask = NetUtils.getCidrNetmask(pod.getCidrSize());
- final String guestIp = null;// _ipAddressDao.assignIpAddress(accountIdForDHCPServer,
- // domainIdForDHCPServer,
- // guestVlan.getId(),
- // false).getAddress();
-
- router = new DomainRouterVO(id, _offering.getId(), name, mgmtMacAddress, null, mgmtNetmask, _routerTemplateId,
- rtrTemplate.getGuestOSId(), guestMacAddress, guestIp, guestVlan.getVlanNetmask(), accountIdForDHCPServer, domainIdForDHCPServer,
- "FE:FF:FF:FF:FF:FF", null, "255.255.255.255", guestVlan.getId(), guestVlan.getVlanTag(), pod.getId(), dc.getId(), _routerRamSize,
- guestVlan.getVlanGateway(), domainNameForDHCPServer, dc.getDns1(), dc.getDns2());
- router.setRole(Role.DHCP_USERDATA);
- router.setVnet(guestVlan.getVlanTag());
-
- router.setLastHostId(candidateHost);
-
- txn.start();
- router = _routerDao.persist(router);
- router = _routerDao.acquireInLockTable(router.getId());
- if (router == null) {
- s_logger.debug("Unable to acquire lock on router " + id);
- throw new CloudRuntimeException("Unable to acquire lock on router " + id);
- }
-
- routerLockAcquired = true;
-
- txn.commit();
-
- List vols = _storageMgr.create(account, router, rtrTemplate, dc, pod, _offering, null, 0);
- if (vols == null) {
- _ipAddressDao.unassignIpAddress(guestIp);
- _routerDao.expunge(router.getId());
- if (s_logger.isDebugEnabled()) {
- s_logger.debug("Unable to create dhcp server in storage host or pool in pod " + pod.getName() + " (id:" + pod.getId() + ")");
- }
- }
-
- final EventVO event = new EventVO();
- event.setUserId(userId);
- event.setAccountId(accountIdForDHCPServer);
- event.setType(EventTypes.EVENT_ROUTER_CREATE);
-
- if (vols == null) {
- event.setDescription("failed to create DHCP Server : " + router.getName());
- event.setLevel(EventVO.LEVEL_ERROR);
- _eventDao.persist(event);
- throw new ExecutionException("Unable to create DHCP Server");
- }
- _itMgr.stateTransitTo(router, VirtualMachine.Event.OperationSucceeded, null);
-
- s_logger.info("DHCP server created: id=" + router.getId() + "; name=" + router.getName() + "; vlan=" + guestVlan.getVlanTag() + "; pod="
- + pod.getName());
-
- event.setDescription("successfully created DHCP Server : " + router.getName() + " with ip : " + router.getGuestIpAddress());
- _eventDao.persist(event);
-
- return router;
- } catch (final Throwable th) {
- if (th instanceof ExecutionException) {
- s_logger.error("Error while starting router due to " + th.getMessage());
- } else {
- s_logger.error("Unable to create router", th);
- }
- txn.rollback();
-
- if (router.getState() == State.Creating) {
- _routerDao.expunge(router.getId());
- }
- return null;
- } finally {
- if (routerLockAcquired) {
- if (s_logger.isDebugEnabled()) {
- s_logger.debug("Releasing lock on router " + id);
- }
- _routerDao.releaseFromLockTable(id);
- }
- if (pod != null) {
- if (s_logger.isDebugEnabled()) {
- s_logger.debug("Releasing lock on pod " + podId);
- }
- _podDao.releaseFromLockTable(pod.getId());
- }
- }
- }
-
@Override
public boolean destroyRouter(final long routerId) {
@@ -1052,7 +927,7 @@ public class DomainRouterManagerImpl implements DomainRouterManager, DomainRoute
return true;
}
- protected DomainRouterManagerImpl() {
+ protected VirtualNetworkApplianceManagerImpl() {
}
@Override
diff --git a/server/src/com/cloud/server/ManagementServerImpl.java b/server/src/com/cloud/server/ManagementServerImpl.java
index fde69992f3c..74efffcd0ac 100755
--- a/server/src/com/cloud/server/ManagementServerImpl.java
+++ b/server/src/com/cloud/server/ManagementServerImpl.java
@@ -187,7 +187,7 @@ import com.cloud.network.dao.IPAddressDao;
import com.cloud.network.dao.NetworkDao;
import com.cloud.network.dao.RemoteAccessVpnDao;
import com.cloud.network.dao.VpnUserDao;
-import com.cloud.network.router.DomainRouterManager;
+import com.cloud.network.router.VirtualNetworkApplianceManager;
import com.cloud.network.security.SecurityGroupVO;
import com.cloud.network.security.dao.SecurityGroupDao;
import com.cloud.offering.NetworkOffering;
@@ -437,7 +437,7 @@ public class ManagementServerImpl implements ManagementServer {
// Parse the max number of UserVMs and public IPs from server-setup.xml,
// and set them in the right places
- _routerRamSize = NumbersUtil.parseInt(_configs.get("router.ram.size"),DomainRouterManager.DEFAULT_ROUTER_VM_RAMSIZE);
+ _routerRamSize = NumbersUtil.parseInt(_configs.get("router.ram.size"),VirtualNetworkApplianceManager.DEFAULT_ROUTER_VM_RAMSIZE);
_proxyRamSize = NumbersUtil.parseInt(_configs.get("consoleproxy.ram.size"), ConsoleProxyManager.DEFAULT_PROXY_VM_RAMSIZE);
_ssRamSize = NumbersUtil.parseInt(_configs.get("secstorage.ram.size"), SecondaryStorageVmManager.DEFAULT_SS_VM_RAMSIZE);
diff --git a/server/src/com/cloud/storage/StorageManagerImpl.java b/server/src/com/cloud/storage/StorageManagerImpl.java
index 32ff640ff70..4e70c6ae55d 100755
--- a/server/src/com/cloud/storage/StorageManagerImpl.java
+++ b/server/src/com/cloud/storage/StorageManagerImpl.java
@@ -111,7 +111,7 @@ import com.cloud.host.dao.DetailsDao;
import com.cloud.host.dao.HostDao;
import com.cloud.hypervisor.Hypervisor.HypervisorType;
import com.cloud.network.NetworkManager;
-import com.cloud.network.router.DomainRouterManager;
+import com.cloud.network.router.VirtualNetworkApplianceManager;
import com.cloud.offering.ServiceOffering;
import com.cloud.service.ServiceOfferingVO;
import com.cloud.service.dao.ServiceOfferingDao;
@@ -210,7 +210,7 @@ public class StorageManagerImpl implements StorageManager, StorageService, Manag
@Inject protected DomainDao _domainDao;
@Inject protected UserDao _userDao;
@Inject protected ClusterDao _clusterDao;
- @Inject protected DomainRouterManager _routerMgr;
+ @Inject protected VirtualNetworkApplianceManager _routerMgr;
@Inject(adapter=StoragePoolAllocator.class)
protected Adapters _storagePoolAllocators;
@@ -2783,13 +2783,14 @@ public class StorageManagerImpl implements StorageManager, StorageService, Manag
}
Pair created = createVolume(newVol, _diskOfferingDao.findById(newVol.getDiskOfferingId()), vm, vols, dest);
if (created == null) {
+ long poolId = newVol.getPoolId();
newVol.setPoolId(null);
try {
_volsDao.update(newVol, Volume.Event.OperationFailed);
} catch (ConcurrentOperationException e) {
throw new CloudRuntimeException("Unable to update the failure on a volume: " + newVol, e);
}
- throw new StorageUnavailableException("Unable to create " + newVol, newVol.getPoolId());
+ throw new StorageUnavailableException("Unable to create " + newVol, poolId);
}
created.first().setDeviceId(newVol.getDeviceId().intValue());
newVol.setStatus(AsyncInstanceCreateStatus.Created);
diff --git a/server/src/com/cloud/user/AccountManagerImpl.java b/server/src/com/cloud/user/AccountManagerImpl.java
index 976e0666ce2..98601b9510e 100755
--- a/server/src/com/cloud/user/AccountManagerImpl.java
+++ b/server/src/com/cloud/user/AccountManagerImpl.java
@@ -70,7 +70,7 @@ import com.cloud.network.NetworkManager;
import com.cloud.network.NetworkVO;
import com.cloud.network.dao.IPAddressDao;
import com.cloud.network.dao.NetworkDao;
-import com.cloud.network.router.DomainRouterManager;
+import com.cloud.network.router.VirtualNetworkApplianceManager;
import com.cloud.network.security.SecurityGroupManager;
import com.cloud.server.Criteria;
import com.cloud.storage.StorageManager;
@@ -128,7 +128,7 @@ public class AccountManagerImpl implements AccountManager, AccountService {
@Inject private StorageManager _storageMgr;
@Inject private TemplateManager _tmpltMgr;
@Inject private ConfigurationManager _configMgr;
- @Inject private DomainRouterManager _routerMgr;
+ @Inject private VirtualNetworkApplianceManager _routerMgr;
private final GlobalLock m_resourceCountLock = GlobalLock.getInternLock("resource.count");
diff --git a/server/src/com/cloud/vm/UserVmManagerImpl.java b/server/src/com/cloud/vm/UserVmManagerImpl.java
index 64830e7adda..0d9bd056ddd 100755
--- a/server/src/com/cloud/vm/UserVmManagerImpl.java
+++ b/server/src/com/cloud/vm/UserVmManagerImpl.java
@@ -130,7 +130,7 @@ import com.cloud.network.dao.IPAddressDao;
import com.cloud.network.dao.LoadBalancerDao;
import com.cloud.network.dao.LoadBalancerVMMapDao;
import com.cloud.network.dao.NetworkDao;
-import com.cloud.network.router.DomainRouterManager;
+import com.cloud.network.router.VirtualNetworkApplianceManager;
import com.cloud.network.rules.RulesManager;
import com.cloud.network.security.SecurityGroupManager;
import com.cloud.offering.NetworkOffering;
@@ -249,7 +249,7 @@ public class UserVmManagerImpl implements UserVmManager, UserVmService, Manager
@Inject InstanceGroupVMMapDao _groupVMMapDao;
@Inject VirtualMachineManager _itMgr;
@Inject NetworkDao _networkDao;
- @Inject DomainRouterManager _routerMgr;
+ @Inject VirtualNetworkApplianceManager _routerMgr;
@Inject NicDao _nicDao;
@Inject RulesManager _rulesMgr;