From 224c48a76e3325598dda3d4eec95249fedfad5b3 Mon Sep 17 00:00:00 2001 From: Abhinandan Prateek Date: Fri, 29 Nov 2013 14:15:12 +0530 Subject: [PATCH] Fix issue with sourceCidr not being passed to the VRouter on start --- .../network/router/VirtualNetworkApplianceManagerImpl.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java index 2baf35baf01..13dfb0189cb 100755 --- a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java +++ b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java @@ -189,6 +189,7 @@ import com.cloud.network.rules.StaticNat; import com.cloud.network.rules.StaticNatImpl; import com.cloud.network.rules.StaticNatRule; import com.cloud.network.rules.dao.PortForwardingRulesDao; +import com.cloud.network.rules.FirewallRuleVO; import com.cloud.network.vpn.Site2SiteVpnManager; import com.cloud.offering.NetworkOffering; import com.cloud.offering.ServiceOffering; @@ -2794,12 +2795,11 @@ public class VirtualNetworkApplianceManagerImpl extends ManagerBase implements V } @Override - public boolean configDhcpForSubnet(Network network, final NicProfile nic, VirtualMachineProfile profile, DeployDestination dest, List routers) throws ResourceUnavailableException { + public boolean configDhcpForSubnet(Network network, final NicProfile nic, VirtualMachineProfile profile, DeployDestination dest, List routers) + throws ResourceUnavailableException { _userVmDao.loadDetails((UserVmVO) profile.getVirtualMachine()); final VirtualMachineProfile updatedProfile = profile; - final boolean isZoneBasic = (dest.getDataCenter().getNetworkType() == NetworkType.Basic); - final Long podId = isZoneBasic ? dest.getPod().getId() : null; //Asuming we have only one router per network For Now. DomainRouterVO router = routers.get(0); @@ -3732,6 +3732,7 @@ public class VirtualNetworkApplianceManagerImpl extends ManagerBase implements V } rulesTO = new ArrayList(); for (FirewallRule rule : rules) { + _rulesDao.loadSourceCidrs((FirewallRuleVO)rule); FirewallRule.TrafficType traffictype = rule.getTrafficType(); if(traffictype == FirewallRule.TrafficType.Ingress){ IpAddress sourceIp = _networkModel.getIp(rule.getSourceIpAddressId());