cloudstack-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From d...@apache.org
Subject [01/50] [abbrv] git commit: updated refs/heads/feature/systemvm-persistent-config to 8620642
Date Mon, 16 Feb 2015 16:47:42 GMT
Repository: cloudstack
Updated Branches:
  refs/heads/feature/systemvm-persistent-config [created] 8620642fd


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e7e1f47e/server/src/com/cloud/network/router/NetworkHelperImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/router/NetworkHelperImpl.java b/server/src/com/cloud/network/router/NetworkHelperImpl.java
index b6b9b7b..bbf9139 100644
--- a/server/src/com/cloud/network/router/NetworkHelperImpl.java
+++ b/server/src/com/cloud/network/router/NetworkHelperImpl.java
@@ -28,7 +28,6 @@ import javax.annotation.PostConstruct;
 import javax.ejb.Local;
 import javax.inject.Inject;
 
-import com.cloud.user.dao.UserDao;
 import org.apache.cloudstack.context.CallContext;
 import org.apache.cloudstack.engine.orchestration.service.NetworkOrchestrationService;
 import org.apache.cloudstack.framework.config.ConfigKey;
@@ -87,6 +86,7 @@ import com.cloud.storage.dao.VolumeDao;
 import com.cloud.user.Account;
 import com.cloud.user.AccountManager;
 import com.cloud.user.User;
+import com.cloud.user.dao.UserDao;
 import com.cloud.utils.exception.CloudRuntimeException;
 import com.cloud.utils.net.NetUtils;
 import com.cloud.vm.DomainRouterVO;
@@ -121,8 +121,6 @@ public class NetworkHelperImpl implements NetworkHelper {
     @Inject
     protected NetworkModel _networkModel;
     @Inject
-    private VirtualMachineManager _itMgr;
-    @Inject
     private AccountManager _accountMgr;
     @Inject
     private Site2SiteVpnManager _s2sVpnMgr;
@@ -131,8 +129,6 @@ public class NetworkHelperImpl implements NetworkHelper {
     @Inject
     private VolumeDao _volumeDao;
     @Inject
-    private ServiceOfferingDao _serviceOfferingDao;
-    @Inject
     private VMTemplateDao _templateDao;
     @Inject
     private ResourceManager _resourceMgr;
@@ -141,8 +137,6 @@ public class NetworkHelperImpl implements NetworkHelper {
     @Inject
     protected IPAddressDao _ipAddressDao;
     @Inject
-    private IpAddressManager _ipAddrMgr;
-    @Inject
     private UserIpv6AddressDao _ipv6Dao;
     @Inject
     private RouterControlHelper _routerControlHelper;
@@ -150,6 +144,11 @@ public class NetworkHelperImpl implements NetworkHelper {
     protected NetworkOrchestrationService _networkMgr;
     @Inject
     private UserDao _userDao;
+    protected ServiceOfferingDao _serviceOfferingDao;
+    @Inject
+    protected VirtualMachineManager _itMgr;
+    @Inject
+    protected IpAddressManager _ipAddrMgr;
 
     protected final Map<HypervisorType, ConfigKey<String>> hypervisorsMap = new
HashMap<>();
 
@@ -287,7 +286,7 @@ public class NetworkHelperImpl implements NetworkHelper {
         if (router.getTemplateVersion() == null) {
             return false;
         }
-        long dcid = router.getDataCenterId();
+        final long dcid = router.getDataCenterId();
         final String trimmedVersion = Version.trimRouterVersion(router.getTemplateVersion());
         return Version.compare(trimmedVersion, NetworkOrchestrationService.MinVRVersion.valueIn(dcid))
>= 0;
     }
@@ -530,9 +529,7 @@ public class NetworkHelperImpl implements NetworkHelper {
                 router.setRole(Role.VIRTUAL_ROUTER);
                 router = _routerDao.persist(router);
 
-                final LinkedHashMap<Network, List<? extends NicProfile>> networks
= createRouterNetworks(routerDeploymentDefinition);
-
-                _itMgr.allocate(router.getInstanceName(), template, routerOffering, networks,
routerDeploymentDefinition.getPlan(), null);
+                reallocateRouterNetworks(routerDeploymentDefinition, router, template, null);
                 router = _routerDao.findById(router.getId());
             } catch (final InsufficientCapacityException ex) {
                 if (allocateRetry < 2 && iter.hasNext()) {
@@ -644,13 +641,66 @@ public class NetworkHelperImpl implements NetworkHelper {
     }
 
     @Override
-    public LinkedHashMap<Network, List<? extends NicProfile>> createRouterNetworks(final
RouterDeploymentDefinition routerDeploymentDefinition)
+    public LinkedHashMap<Network, List<? extends NicProfile>>  configureDefaultNics(final
RouterDeploymentDefinition routerDeploymentDefinition) throws ConcurrentOperationException,
InsufficientAddressCapacityException {
+
+        final LinkedHashMap<Network, List<? extends NicProfile>> networks = configureGuestNic(routerDeploymentDefinition);
+
+        // 2) Control network
+        s_logger.debug("Adding nic for Virtual Router in Control network ");
+        final List<? extends NetworkOffering> offerings = _networkModel.getSystemAccountNetworkOfferings(NetworkOffering.SystemControlNetwork);
+        final NetworkOffering controlOffering = offerings.get(0);
+        final Network controlConfig = _networkMgr.setupNetwork(s_systemAccount, controlOffering,
routerDeploymentDefinition.getPlan(), null, null, false).get(0);
+        networks.put(controlConfig, new ArrayList<NicProfile>());
+        // 3) Public network
+        if (routerDeploymentDefinition.isPublicNetwork()) {
+            s_logger.debug("Adding nic for Virtual Router in Public network ");
+            // if source nat service is supported by the network, get the source
+            // nat ip address
+            final NicProfile defaultNic = new NicProfile();
+            defaultNic.setDefaultNic(true);
+            final PublicIp sourceNatIp = routerDeploymentDefinition.getSourceNatIP();
+            defaultNic.setIp4Address(sourceNatIp.getAddress().addr());
+            defaultNic.setGateway(sourceNatIp.getGateway());
+            defaultNic.setNetmask(sourceNatIp.getNetmask());
+            defaultNic.setMacAddress(sourceNatIp.getMacAddress());
+            // get broadcast from public network
+            final Network pubNet = _networkDao.findById(sourceNatIp.getNetworkId());
+            if (pubNet.getBroadcastDomainType() == BroadcastDomainType.Vxlan) {
+                defaultNic.setBroadcastType(BroadcastDomainType.Vxlan);
+                defaultNic.setBroadcastUri(BroadcastDomainType.Vxlan.toUri(sourceNatIp.getVlanTag()));
+                defaultNic.setIsolationUri(BroadcastDomainType.Vxlan.toUri(sourceNatIp.getVlanTag()));
+            } else {
+                defaultNic.setBroadcastType(BroadcastDomainType.Vlan);
+                defaultNic.setBroadcastUri(BroadcastDomainType.Vlan.toUri(sourceNatIp.getVlanTag()));
+                defaultNic.setIsolationUri(IsolationType.Vlan.toUri(sourceNatIp.getVlanTag()));
+            }
+            //If guest nic has already been addedd we will have 2 devices in the list.
+            if (networks.size() > 1) {
+                defaultNic.setDeviceId(2);
+            }
+            final NetworkOffering publicOffering = _networkModel.getSystemAccountNetworkOfferings(NetworkOffering.SystemPublicNetwork).get(0);
+            final List<? extends Network> publicNetworks = _networkMgr.setupNetwork(s_systemAccount,
publicOffering, routerDeploymentDefinition.getPlan(), null, null, false);
+            final String publicIp = defaultNic.getIp4Address();
+            // We want to use the identical MAC address for RvR on public
+            // interface if possible
+            final NicVO peerNic = _nicDao.findByIp4AddressAndNetworkId(publicIp, publicNetworks.get(0).getId());
+            if (peerNic != null) {
+                s_logger.info("Use same MAC as previous RvR, the MAC is " + peerNic.getMacAddress());
+                defaultNic.setMacAddress(peerNic.getMacAddress());
+            }
+            networks.put(publicNetworks.get(0), new ArrayList<NicProfile>(Arrays.asList(defaultNic)));
+        }
+
+        return networks;
+    }
+
+    @Override
+    public LinkedHashMap<Network, List<? extends NicProfile>> configureGuestNic(final
RouterDeploymentDefinition routerDeploymentDefinition)
             throws ConcurrentOperationException, InsufficientAddressCapacityException {
 
         // Form networks
         final LinkedHashMap<Network, List<? extends NicProfile>> networks = new
LinkedHashMap<Network, List<? extends NicProfile>>(3);
         // 1) Guest network
-        boolean hasGuestNetwork = false;
         final Network guestNetwork = routerDeploymentDefinition.getGuestNetwork();
 
         if (guestNetwork != null) {
@@ -710,55 +760,18 @@ public class NetworkHelperImpl implements NetworkHelper {
             }
 
             networks.put(guestNetwork, new ArrayList<NicProfile>(Arrays.asList(gatewayNic)));
-            hasGuestNetwork = true;
         }
+        return networks;
+    }
 
-        // 2) Control network
-        s_logger.debug("Adding nic for Virtual Router in Control network ");
-        final List<? extends NetworkOffering> offerings = _networkModel.getSystemAccountNetworkOfferings(NetworkOffering.SystemControlNetwork);
-        final NetworkOffering controlOffering = offerings.get(0);
-        final Network controlConfig = _networkMgr.setupNetwork(s_systemAccount, controlOffering,
routerDeploymentDefinition.getPlan(), null, null, false).get(0);
-        networks.put(controlConfig, new ArrayList<NicProfile>());
-        // 3) Public network
-        if (routerDeploymentDefinition.isPublicNetwork()) {
-            s_logger.debug("Adding nic for Virtual Router in Public network ");
-            // if source nat service is supported by the network, get the source
-            // nat ip address
-            final NicProfile defaultNic = new NicProfile();
-            defaultNic.setDefaultNic(true);
-            final PublicIp sourceNatIp = routerDeploymentDefinition.getSourceNatIP();
-            defaultNic.setIp4Address(sourceNatIp.getAddress().addr());
-            defaultNic.setGateway(sourceNatIp.getGateway());
-            defaultNic.setNetmask(sourceNatIp.getNetmask());
-            defaultNic.setMacAddress(sourceNatIp.getMacAddress());
-            // get broadcast from public network
-            final Network pubNet = _networkDao.findById(sourceNatIp.getNetworkId());
-            if (pubNet.getBroadcastDomainType() == BroadcastDomainType.Vxlan) {
-                defaultNic.setBroadcastType(BroadcastDomainType.Vxlan);
-                defaultNic.setBroadcastUri(BroadcastDomainType.Vxlan.toUri(sourceNatIp.getVlanTag()));
-                defaultNic.setIsolationUri(BroadcastDomainType.Vxlan.toUri(sourceNatIp.getVlanTag()));
-            } else {
-                defaultNic.setBroadcastType(BroadcastDomainType.Vlan);
-                defaultNic.setBroadcastUri(BroadcastDomainType.Vlan.toUri(sourceNatIp.getVlanTag()));
-                defaultNic.setIsolationUri(IsolationType.Vlan.toUri(sourceNatIp.getVlanTag()));
-            }
-            if (hasGuestNetwork) {
-                defaultNic.setDeviceId(2);
-            }
-            final NetworkOffering publicOffering = _networkModel.getSystemAccountNetworkOfferings(NetworkOffering.SystemPublicNetwork).get(0);
-            final List<? extends Network> publicNetworks = _networkMgr.setupNetwork(s_systemAccount,
publicOffering, routerDeploymentDefinition.getPlan(), null, null, false);
-            final String publicIp = defaultNic.getIp4Address();
-            // We want to use the identical MAC address for RvR on public
-            // interface if possible
-            final NicVO peerNic = _nicDao.findByIp4AddressAndNetworkId(publicIp, publicNetworks.get(0).getId());
-            if (peerNic != null) {
-                s_logger.info("Use same MAC as previous RvR, the MAC is " + peerNic.getMacAddress());
-                defaultNic.setMacAddress(peerNic.getMacAddress());
-            }
-            networks.put(publicNetworks.get(0), new ArrayList<NicProfile>(Arrays.asList(defaultNic)));
-        }
+    @Override
+    public void reallocateRouterNetworks(final RouterDeploymentDefinition routerDeploymentDefinition,
final VirtualRouter router, final VMTemplateVO template, final HypervisorType hType)
+            throws ConcurrentOperationException, InsufficientCapacityException {
+        final ServiceOfferingVO routerOffering = _serviceOfferingDao.findById(routerDeploymentDefinition.getServiceOfferingId());
 
-        return networks;
+        final LinkedHashMap<Network, List<? extends NicProfile>> networks = configureDefaultNics(routerDeploymentDefinition);
+
+        _itMgr.allocate(router.getInstanceName(), template, routerOffering, networks, routerDeploymentDefinition.getPlan(),
hType);
     }
 
     public static void setSystemAccount(final Account systemAccount) {

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e7e1f47e/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 462e1ae..278164b 100644
--- a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
+++ b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
@@ -2632,8 +2632,11 @@ Configurable, StateListener<State, VirtualMachine.Event, VirtualMachine>
{
     protected boolean aggregationExecution(final AggregationControlCommand.Action action,
final Network network, final List<DomainRouterVO> routers)
             throws AgentUnavailableException, ResourceUnavailableException {
         for (final DomainRouterVO router : routers) {
-            final AggregationControlCommand cmd = new AggregationControlCommand(action, router.getInstanceName(),
_routerControlHelper.getRouterControlIp(router.getId()), _routerControlHelper.getRouterIpInNetwork(
-                    network.getId(), router.getId()));
+
+            final String routerControlIp = _routerControlHelper.getRouterControlIp(router.getId());
+            final String routerIpInNetwork = _routerControlHelper.getRouterIpInNetwork(network.getId(),
router.getId());
+
+            final AggregationControlCommand cmd = new AggregationControlCommand(action, router.getInstanceName(),
routerControlIp, routerIpInNetwork);
             final Commands cmds = new Commands(cmd);
             if (!_nwHelper.sendCommandsToRouter(router, cmds)) {
                 return false;

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e7e1f47e/server/src/com/cloud/network/router/VpcNetworkHelperImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/router/VpcNetworkHelperImpl.java b/server/src/com/cloud/network/router/VpcNetworkHelperImpl.java
index 58537d1..069937d 100644
--- a/server/src/com/cloud/network/router/VpcNetworkHelperImpl.java
+++ b/server/src/com/cloud/network/router/VpcNetworkHelperImpl.java
@@ -32,7 +32,7 @@ import org.cloud.network.router.deployment.RouterDeploymentDefinition;
 
 import com.cloud.dc.dao.VlanDao;
 import com.cloud.exception.ConcurrentOperationException;
-import com.cloud.exception.InsufficientAddressCapacityException;
+import com.cloud.exception.InsufficientCapacityException;
 import com.cloud.hypervisor.Hypervisor.HypervisorType;
 import com.cloud.network.IpAddress;
 import com.cloud.network.Network;
@@ -43,6 +43,8 @@ import com.cloud.network.dao.IPAddressVO;
 import com.cloud.network.vpc.PrivateGateway;
 import com.cloud.network.vpc.VpcManager;
 import com.cloud.offering.NetworkOffering;
+import com.cloud.service.ServiceOfferingVO;
+import com.cloud.storage.VMTemplateVO;
 import com.cloud.vm.NicProfile;
 
 
@@ -76,37 +78,34 @@ public class VpcNetworkHelperImpl extends NetworkHelperImpl {
     }
 
     @Override
-    public LinkedHashMap<Network, List<? extends NicProfile>> createRouterNetworks(
-            final RouterDeploymentDefinition vpcRouterDeploymentDefinition)
-                    throws ConcurrentOperationException, InsufficientAddressCapacityException
{
+    public void reallocateRouterNetworks(final RouterDeploymentDefinition vpcRouterDeploymentDefinition,
final VirtualRouter router, final VMTemplateVO template, final HypervisorType hType)
+            throws ConcurrentOperationException, InsufficientCapacityException {
 
         final TreeSet<String> publicVlans = new TreeSet<String>();
         publicVlans.add(vpcRouterDeploymentDefinition.getSourceNatIP().getVlanTag());
 
         //1) allocate nic for control and source nat public ip
-        final LinkedHashMap<Network, List<? extends NicProfile>> networks =
-                super.createRouterNetworks(vpcRouterDeploymentDefinition);
-
+        final LinkedHashMap<Network, List<? extends NicProfile>> networks = configureDefaultNics(vpcRouterDeploymentDefinition);
 
         final Long vpcId = vpcRouterDeploymentDefinition.getVpc().getId();
         //2) allocate nic for private gateways if needed
         final List<PrivateGateway> privateGateways = vpcMgr.getVpcPrivateGateways(vpcId);
         if (privateGateways != null && !privateGateways.isEmpty()) {
-            for (PrivateGateway privateGateway : privateGateways) {
-                NicProfile privateNic = nicProfileHelper.createPrivateNicProfileForGateway(privateGateway);
-                Network privateNetwork = _networkModel.getNetwork(privateGateway.getNetworkId());
+            for (final PrivateGateway privateGateway : privateGateways) {
+                final NicProfile privateNic = nicProfileHelper.createPrivateNicProfileForGateway(privateGateway);
+                final Network privateNetwork = _networkModel.getNetwork(privateGateway.getNetworkId());
                 networks.put(privateNetwork, new ArrayList<NicProfile>(Arrays.asList(privateNic)));
             }
         }
 
         //3) allocate nic for guest gateway if needed
-        List<? extends Network> guestNetworks = vpcMgr.getVpcNetworks(vpcId);
-        for (Network guestNetwork : guestNetworks) {
+        final List<? extends Network> guestNetworks = vpcMgr.getVpcNetworks(vpcId);
+        for (final Network guestNetwork : guestNetworks) {
             if (_networkModel.isPrivateGateway(guestNetwork.getId())) {
                 continue;
             }
             if (guestNetwork.getState() == Network.State.Implemented || guestNetwork.getState()
== Network.State.Setup) {
-                NicProfile guestNic = nicProfileHelper.createGuestNicProfileForVpcRouter(guestNetwork);
+                final NicProfile guestNic = nicProfileHelper.createGuestNicProfileForVpcRouter(guestNetwork);
                 networks.put(guestNetwork, new ArrayList<NicProfile>(Arrays.asList(guestNic)));
             }
         }
@@ -115,12 +114,12 @@ public class VpcNetworkHelperImpl extends NetworkHelperImpl {
         final List<IPAddressVO> ips = _ipAddressDao.listByAssociatedVpc(vpcId, false);
         final List<NicProfile> publicNics = new ArrayList<NicProfile>();
         Network publicNetwork = null;
-        for (IPAddressVO ip : ips) {
-            PublicIp publicIp = PublicIp.createFromAddrAndVlan(ip, _vlanDao.findById(ip.getVlanId()));
+        for (final IPAddressVO ip : ips) {
+            final PublicIp publicIp = PublicIp.createFromAddrAndVlan(ip, _vlanDao.findById(ip.getVlanId()));
             if ((ip.getState() == IpAddress.State.Allocated || ip.getState() == IpAddress.State.Allocating)
&& vpcMgr.isIpAllocatedToVpc(ip) &&
                     !publicVlans.contains(publicIp.getVlanTag())) {
                 s_logger.debug("Allocating nic for router in vlan " + publicIp.getVlanTag());
-                NicProfile publicNic = new NicProfile();
+                final NicProfile publicNic = new NicProfile();
                 publicNic.setDefaultNic(false);
                 publicNic.setIp4Address(publicIp.getAddress().addr());
                 publicNic.setGateway(publicIp.getGateway());
@@ -129,9 +128,9 @@ public class VpcNetworkHelperImpl extends NetworkHelperImpl {
                 publicNic.setBroadcastType(BroadcastDomainType.Vlan);
                 publicNic.setBroadcastUri(BroadcastDomainType.Vlan.toUri(publicIp.getVlanTag()));
                 publicNic.setIsolationUri(IsolationType.Vlan.toUri(publicIp.getVlanTag()));
-                NetworkOffering publicOffering = _networkModel.getSystemAccountNetworkOfferings(NetworkOffering.SystemPublicNetwork).get(0);
+                final NetworkOffering publicOffering = _networkModel.getSystemAccountNetworkOfferings(NetworkOffering.SystemPublicNetwork).get(0);
                 if (publicNetwork == null) {
-                    List<? extends Network> publicNetworks = _networkMgr.setupNetwork(s_systemAccount,
publicOffering, vpcRouterDeploymentDefinition.getPlan(), null, null, false);
+                    final List<? extends Network> publicNetworks = _networkMgr.setupNetwork(s_systemAccount,
publicOffering, vpcRouterDeploymentDefinition.getPlan(), null, null, false);
                     publicNetwork = publicNetworks.get(0);
                 }
                 publicNics.add(publicNic);
@@ -141,6 +140,7 @@ public class VpcNetworkHelperImpl extends NetworkHelperImpl {
         if (publicNetwork != null) {
             if (networks.get(publicNetwork) != null) {
                 @SuppressWarnings("unchecked")
+                final
                 List<NicProfile> publicNicProfiles = (List<NicProfile>)networks.get(publicNetwork);
                 publicNicProfiles.addAll(publicNics);
                 networks.put(publicNetwork, publicNicProfiles);
@@ -149,6 +149,8 @@ public class VpcNetworkHelperImpl extends NetworkHelperImpl {
             }
         }
 
-        return networks;
+        final ServiceOfferingVO routerOffering = _serviceOfferingDao.findById(vpcRouterDeploymentDefinition.getServiceOfferingId());
+
+        _itMgr.allocate(router.getInstanceName(), template, routerOffering, networks, vpcRouterDeploymentDefinition.getPlan(),
hType);
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e7e1f47e/server/src/org/cloud/network/router/deployment/RouterDeploymentDefinitionBuilder.java
----------------------------------------------------------------------
diff --git a/server/src/org/cloud/network/router/deployment/RouterDeploymentDefinitionBuilder.java
b/server/src/org/cloud/network/router/deployment/RouterDeploymentDefinitionBuilder.java
index 2ad9483..33ed9d0 100644
--- a/server/src/org/cloud/network/router/deployment/RouterDeploymentDefinitionBuilder.java
+++ b/server/src/org/cloud/network/router/deployment/RouterDeploymentDefinitionBuilder.java
@@ -194,7 +194,7 @@ public class RouterDeploymentDefinitionBuilder {
         public RouterDeploymentDefinition build() {
             RouterDeploymentDefinition routerDeploymentDefinition = null;
             if (vpc != null) {
-                routerDeploymentDefinition = new VpcRouterDeploymentDefinition(vpc, dest,
owner, params);
+                routerDeploymentDefinition = new VpcRouterDeploymentDefinition(guestNetwork,
vpc, dest, owner, params);
             } else {
                 routerDeploymentDefinition = new RouterDeploymentDefinition(guestNetwork,
dest, owner, params);
             }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e7e1f47e/server/src/org/cloud/network/router/deployment/VpcRouterDeploymentDefinition.java
----------------------------------------------------------------------
diff --git a/server/src/org/cloud/network/router/deployment/VpcRouterDeploymentDefinition.java
b/server/src/org/cloud/network/router/deployment/VpcRouterDeploymentDefinition.java
index 8452d7f..514c37c 100644
--- a/server/src/org/cloud/network/router/deployment/VpcRouterDeploymentDefinition.java
+++ b/server/src/org/cloud/network/router/deployment/VpcRouterDeploymentDefinition.java
@@ -29,6 +29,7 @@ import com.cloud.exception.ConcurrentOperationException;
 import com.cloud.exception.InsufficientAddressCapacityException;
 import com.cloud.exception.InsufficientCapacityException;
 import com.cloud.exception.ResourceUnavailableException;
+import com.cloud.network.Network;
 import com.cloud.network.PhysicalNetwork;
 import com.cloud.network.PhysicalNetworkServiceProvider;
 import com.cloud.network.VirtualRouterProvider.Type;
@@ -53,10 +54,10 @@ public class VpcRouterDeploymentDefinition extends RouterDeploymentDefinition
{
 
     protected Vpc vpc;
 
-    protected VpcRouterDeploymentDefinition(final Vpc vpc, final DeployDestination dest,
final Account owner,
+    protected VpcRouterDeploymentDefinition(final Network guestNetwork, final Vpc vpc, final
DeployDestination dest, final Account owner,
             final Map<Param, Object> params) {
 
-        super(null, dest, owner, params);
+        super(guestNetwork, dest, owner, params);
 
         this.vpc = vpc;
     }
@@ -197,7 +198,7 @@ public class VpcRouterDeploymentDefinition extends RouterDeploymentDefinition
{
     }
 
     @Override
-    protected void generateDeploymentPlan() {
+    public void generateDeploymentPlan() {
         plan = new DataCenterDeployment(dest.getDataCenter().getId());
     }
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e7e1f47e/systemvm/patches/debian/config/opt/cloud/bin/cs/CsDhcp.py
----------------------------------------------------------------------
diff --git a/systemvm/patches/debian/config/opt/cloud/bin/cs/CsDhcp.py b/systemvm/patches/debian/config/opt/cloud/bin/cs/CsDhcp.py
index 33452e0..173be47 100644
--- a/systemvm/patches/debian/config/opt/cloud/bin/cs/CsDhcp.py
+++ b/systemvm/patches/debian/config/opt/cloud/bin/cs/CsDhcp.py
@@ -111,7 +111,7 @@ class CsDhcp(CsDataBag):
 
             for o in leases:
                 if o['del']:
-                    cmd = "dhcp_release eth%s %s %s" % (o.device, o.ip, o.mac)
+                    cmd = "dhcp_release eth%s %s %s" % (o['device'], o['ip'], o['mac'])
                     logging.info(cmd)
                     CsHelper.execute(cmd)
         except IOError:

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e7e1f47e/systemvm/patches/debian/config/opt/cloud/templates/keepalived.conf.templ
----------------------------------------------------------------------
diff --git a/systemvm/patches/debian/config/opt/cloud/templates/keepalived.conf.templ b/systemvm/patches/debian/config/opt/cloud/templates/keepalived.conf.templ
index 34d233c..a79f207 100644
--- a/systemvm/patches/debian/config/opt/cloud/templates/keepalived.conf.templ
+++ b/systemvm/patches/debian/config/opt/cloud/templates/keepalived.conf.templ
@@ -52,7 +52,7 @@ vrrp_instance inside_network {
     }
 
     !That's the correct path of the master.py file.
-    notify_master "/root/cloud_scripts/opt/cloud/bin/master.py --master"
-    notify_backup "/root/cloud_scripts/opt/cloud/bin/master.py --backup"
-    notify_fault "/root/cloud_scripts/opt/cloud/bin/master.py --fault"
+    !notify_master "/opt/cloud/bin/master.py --master"
+    !notify_backup "/opt/cloud/bin/master.py --backup"
+    !notify_fault "/opt/cloud/bin/master.py --fault"
 }


Mime
View raw message