summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTrey Morris <trey.morris@rackspace.com>2011-07-27 17:58:13 -0500
committerTrey Morris <trey.morris@rackspace.com>2011-07-27 17:58:13 -0500
commit45ff96e29669c5650873b0a7ddcf52160eddd27c (patch)
treedf88465ddc2f9fd543cc1b66abd77879e1850cad
parentf4c8c97cdd1ec9a9b6c7f271dcc92b1e716c3285 (diff)
downloadnova-45ff96e29669c5650873b0a7ddcf52160eddd27c.tar.gz
nova-45ff96e29669c5650873b0a7ddcf52160eddd27c.tar.xz
nova-45ff96e29669c5650873b0a7ddcf52160eddd27c.zip
fixed create_networks ipv6 management
-rw-r--r--nova/network/manager.py13
1 files changed, 8 insertions, 5 deletions
diff --git a/nova/network/manager.py b/nova/network/manager.py
index 34b26d728..37f8ea25d 100644
--- a/nova/network/manager.py
+++ b/nova/network/manager.py
@@ -614,6 +614,11 @@ class NetworkManager(manager.SchedulerDependentManager):
bridge_interface, dns1=None, dns2=None, **kwargs):
"""Create networks based on parameters."""
fixed_net = netaddr.IPNetwork(cidr)
+ if FLAGS.use_ipv6:
+ fixed_net_v6 = netaddr.IPNetwork(cidr_v6)
+ significant_bits_v6 = 64
+ network_size_v6 = 1 << 64
+
for index in range(num_networks):
start = index * network_size
significant_bits = 32 - int(math.log(network_size, 2))
@@ -636,14 +641,12 @@ class NetworkManager(manager.SchedulerDependentManager):
net['label'] = label
if FLAGS.use_ipv6:
- project_net_v6 = netaddr.IPNetwork(cidr_v6)
- significant_bits_v6 = 64
- network_size_v6 = 1 << 64
- start_v6 = index * network_size_v6
- cidr_v6 = '%s/%s' % (project_net_v6[start_v6],
+ cidr_v6 = '%s/%s' % (fixed_net_v6[start_v6],
significant_bits_v6)
net['cidr_v6'] = cidr_v6
+ project_net_v6 = netaddr.IPNetwork(cidr_v6)
+
if gateway_v6:
# use a pre-defined gateway if one is provided
net['gateway_v6'] = str(gateway_v6)