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> 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;