summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Tran <jtran@attinteractive.com>2011-08-05 02:27:36 +0000
committerTarmac <>2011-08-05 02:27:36 +0000
commit502801bfff0015ed3aa93b9d65a87cb6b80fd11d (patch)
tree5e12d6bd7257f44e6cbc7c34dffbc3475cdcdf19
parent0b275cd9d7a82aa596cc45be7137176de479cb4b (diff)
parentf942a7f22acb6a6719a3de778ba55ca25ea0ee68 (diff)
For nova-manage network create cmd, added warning when size of subnet(s) being created are larger than FLAG.network_size, in attempt to alleviate confusion. For example, currently when 'nova-manage network create foo 192.168.0.0/16', the result is that it creates a 192.168.0.0/24 instead without any indication to why
-rwxr-xr-xbin/nova-manage13
1 files changed, 12 insertions, 1 deletions
diff --git a/bin/nova-manage b/bin/nova-manage
index 807753a2e..f272351c2 100755
--- a/bin/nova-manage
+++ b/bin/nova-manage
@@ -56,6 +56,7 @@
import gettext
import glob
import json
+import math
import netaddr
import os
import sys
@@ -694,7 +695,17 @@ class NetworkCommands(object):
if not num_networks:
num_networks = FLAGS.num_networks
if not network_size:
- network_size = FLAGS.network_size
+ fixnet = netaddr.IPNetwork(fixed_range_v4)
+ each_subnet_size = fixnet.size / int(num_networks)
+ if each_subnet_size > FLAGS.network_size:
+ network_size = FLAGS.network_size
+ subnet = 32 - int(math.log(network_size, 2))
+ oversize_msg = _('Subnet(s) too large, defaulting to /%s.'
+ ' To override, specify network_size flag.'
+ ) % subnet
+ print oversize_msg
+ else:
+ network_size = fixnet.size
if not multi_host:
multi_host = FLAGS.multi_host
else: