added ipv6 requirements to nova-manage network create. changed --network to --fixed_range_v4

This commit is contained in:
Trey Morris
2011-07-27 13:49:36 -05:00
parent dd10a0fece
commit dc3f1b0247
2 changed files with 19 additions and 13 deletions

View File

@@ -632,7 +632,7 @@ class NetworkCommands(object):
@args('--label', dest="label", metavar='<label>',
help='Label for network (ex: public)')
@args('--network', dest="fixed_range", metavar='<x.x.x.x/yy>',
@args('--fixed_range_v4', dest="fixed_range_v4", metavar='<x.x.x.x/yy>',
help='IPv4 subnet (ex: 10.0.0.0/8)')
@args('--num_networks', dest="num_networks", metavar='<number>',
help='Number of networks to create')
@@ -653,7 +653,7 @@ class NetworkCommands(object):
help='Multi host')
@args('--dns1', dest="dns1", metavar="<DNS Address>", help='First DNS')
@args('--dns2', dest="dns2", metavar="<DNS Address>", help='Second DNS')
def create(self, label=None, fixed_range=None, num_networks=None,
def create(self, label=None, fixed_range_v4=None, num_networks=None,
network_size=None, multi_host=None, vlan_start=None,
vpn_start=None, fixed_range_v6=None, gateway_v6=None,
bridge=None, bridge_interface=None, dns1=None, dns2=None):
@@ -661,16 +661,16 @@ class NetworkCommands(object):
# check for certain required inputs
if not label:
raise exception.NetworkNotCreated(req='label')
if not fixed_range:
raise exception.NetworkNotCreated(req='fixed range')
raise exception.NetworkNotCreated(req='--label')
if not fixed_range_v4:
raise exception.NetworkNotCreated(req='--fixed_range_v4')
bridge = bridge or FLAGS.flat_network_bridge
if not bridge:
bridge_required = ['nova.network.manager.FlatManager',
'nova.network.manager.FlatDHCPManager']
if FLAGS.network_manager in bridge_required:
raise exception.NetworkNotCreated(req='bridge')
raise exception.NetworkNotCreated(req='--bridge')
bridge_interface = bridge_interface or FLAGS.flat_interface or \
FLAGS.vlan_interface
@@ -678,7 +678,17 @@ class NetworkCommands(object):
interface_required = ['nova.network.manager.FlatDHCPManager',
'nova.network.manager.VlanManager']
if FLAGS.network_manager in interface_required:
raise exception.NetworkNotCreated(req='bridge interface')
raise exception.NetworkNotCreated(req='--bridge_interface')
if FLAGS.use_ipv6:
fixed_range_v6 = fixed_range_v6 or FLAGS.fixed_range_v6
if not fixed_range_v6:
raise exception.NetworkNotCreated(req='with use_ipv6, '
'--fixed_range_v6')
gateway_v6 = gateway_v6 or FLAGS.gateway_v6
if not gateway_v6:
raise exception.NetworkNotCreated(req='with use_ipv6, '
'--gateway_v6')
# sanitize other input using FLAGS if necessary
if not num_networks:
@@ -693,10 +703,6 @@ class NetworkCommands(object):
vlan_start = FLAGS.vlan_start
if not vpn_start:
vpn_start = FLAGS.vpn_start
if not fixed_range_v6:
fixed_range_v6 = FLAGS.fixed_range_v6
if not gateway_v6:
gateway_v6 = FLAGS.gateway_v6
if not dns1 and FLAGS.flat_network_dns:
dns1 = FLAGS.flat_network_dns
@@ -704,7 +710,7 @@ class NetworkCommands(object):
net_manager = utils.import_object(FLAGS.network_manager)
net_manager.create_networks(context.get_admin_context(),
label=label,
cidr=fixed_range,
cidr=fixed_range_v4,
multi_host=multi_host,
num_networks=int(num_networks),
network_size=int(network_size),

View File

@@ -373,7 +373,7 @@ class StorageRepositoryNotFound(NotFound):
class NetworkNotCreated(NovaException):
message = _("A %(req)s is required to create a network.")
message = _("%(req)s is required to create a network.")
class NetworkNotFound(NotFound):