Updated Branches: refs/heads/master-6-17-stable 335294ce4 -> 58663b326
Cloudstack-3313 Ipv6 - Not able to deploy a new VM in IPV6 network. Signed-off-by: Abhinandan Prateek <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/58663b32 Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/58663b32 Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/58663b32 Branch: refs/heads/master-6-17-stable Commit: 58663b326d310ca1295bb603f4f0045dbcb748a7 Parents: 335294c Author: Bharat Kumar <[email protected]> Authored: Tue Jul 2 07:30:44 2013 +0530 Committer: Abhinandan Prateek <[email protected]> Committed: Wed Jul 3 20:48:10 2013 +0530 ---------------------------------------------------------------------- .../systemvm/debian/config/etc/init.d/cloud-early-config | 9 ++++++++- .../com/cloud/configuration/ConfigurationManagerImpl.java | 3 ++- server/src/com/cloud/network/NetworkManagerImpl.java | 6 ++++-- 3 files changed, 14 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/58663b32/patches/systemvm/debian/config/etc/init.d/cloud-early-config ---------------------------------------------------------------------- diff --git a/patches/systemvm/debian/config/etc/init.d/cloud-early-config b/patches/systemvm/debian/config/etc/init.d/cloud-early-config index b215271..d53cb41 100755 --- a/patches/systemvm/debian/config/etc/init.d/cloud-early-config +++ b/patches/systemvm/debian/config/etc/init.d/cloud-early-config @@ -541,7 +541,14 @@ setup_dnsmasq() { [ $ETH0_IP ] && echo "dhcp-option=6,$NS" >> /etc/dnsmasq.conf [ $ETH0_IP6 ] && echo "dhcp-option=option6:dns-server,$NS6" >> /etc/dnsmasq.conf #adding the name data-server to the /etc/hosts for allowing the access to user-data service and ssh-key reset in every subnet. - echo "$ETH0_IP data-server" >> /etc/hosts + if [ -n "$ETH0_IP" ] + then + echo "$ETH0_IP data-server" >> /etc/hosts + fi + if [ -n "$ETH0_IP6" ] + then + echo "$ETH0_IP6 data-server" >> /etc/hosts + fi } setup_sshd(){ http://git-wip-us.apache.org/repos/asf/cloudstack/blob/58663b32/server/src/com/cloud/configuration/ConfigurationManagerImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/configuration/ConfigurationManagerImpl.java b/server/src/com/cloud/configuration/ConfigurationManagerImpl.java index 27c1a51..1c973b8 100755 --- a/server/src/com/cloud/configuration/ConfigurationManagerImpl.java +++ b/server/src/com/cloud/configuration/ConfigurationManagerImpl.java @@ -2653,6 +2653,7 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati ip6Gateway = network.getIp6Gateway(); ip6Cidr = network.getIp6Cidr(); _networkModel.checkIp6Parameters(startIPv6, endIPv6, ip6Gateway, ip6Cidr); + sameSubnet = true; } } } @@ -2668,7 +2669,7 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati vlanDetails = new Pair<String, String>(newVlanGateway, newVlanNetmask); } //check if the gatewayip is the part of the ip range being added. - if (NetUtils.ipRangesOverlap(startIP, endIP, vlanDetails.first(), vlanDetails.first())) { + if (ipv4 && NetUtils.ipRangesOverlap(startIP, endIP, vlanDetails.first(), vlanDetails.first())) { throw new InvalidParameterValueException("The gateway ip should not be the part of the ip range being added."); } http://git-wip-us.apache.org/repos/asf/cloudstack/blob/58663b32/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 63e9708..708c03d 100755 --- a/server/src/com/cloud/network/NetworkManagerImpl.java +++ b/server/src/com/cloud/network/NetworkManagerImpl.java @@ -1976,8 +1976,10 @@ public class NetworkManagerImpl extends ManagerBase implements NetworkManager, L _networkModel.isProviderSupportServiceInNetwork(network.getId(), Service.Dhcp, element.getProvider()) && element instanceof DhcpServiceProvider) { DhcpServiceProvider sp = (DhcpServiceProvider) element; - if (!sp.configDhcpSupportForSubnet(network, profile, vmProfile, dest, context)) { - return false; + if (profile.getIp6Address() == null) { + if (!sp.configDhcpSupportForSubnet(network, profile, vmProfile, dest, context)) { + return false; + } } sp.addDhcpEntry(network, profile, vmProfile, dest, context); }
