Merge "Add segment as an attribute to subnet in client"
This commit is contained in:
@@ -201,6 +201,9 @@ class CreateSubnet(neutronV20.CreateCommand):
|
||||
parser.add_argument(
|
||||
'--prefixlen', metavar='PREFIX_LENGTH',
|
||||
help=_('Prefix length for subnet allocation from subnetpool.'))
|
||||
parser.add_argument(
|
||||
'--segment', metavar='SEGMENT',
|
||||
help=_('ID of segment with which this subnet will be associated.'))
|
||||
|
||||
def args2body(self, parsed_args):
|
||||
_network_id = neutronV20.find_resourceid_by_name_or_id(
|
||||
@@ -212,6 +215,9 @@ class CreateSubnet(neutronV20.CreateCommand):
|
||||
ip_version = parsed_args.ip_version
|
||||
if parsed_args.use_default_subnetpool:
|
||||
body['use_default_subnetpool'] = True
|
||||
if parsed_args.segment:
|
||||
body['segment_id'] = neutronV20.find_resourceid_by_name_or_id(
|
||||
self.get_client(), 'segment', parsed_args.segment)
|
||||
if parsed_args.subnetpool:
|
||||
if parsed_args.subnetpool == 'None':
|
||||
_subnetpool_id = None
|
||||
|
@@ -77,6 +77,23 @@ class CLITestV20SubnetJSON(test_cli20.CLITestV20Base):
|
||||
self._test_create_resource(resource, cmd, name, myid, args,
|
||||
position_names, position_values)
|
||||
|
||||
def test_create_subnet_with_segment(self):
|
||||
# Create subnet: --segment segment netid cidr.
|
||||
resource = 'subnet'
|
||||
cmd = subnet.CreateSubnet(test_cli20.MyApp(sys.stdout), None)
|
||||
name = 'myname'
|
||||
myid = 'myid'
|
||||
netid = 'netid'
|
||||
cidr = '10.10.10.0/24'
|
||||
segment = 'segment'
|
||||
args = ['--segment', segment, netid, cidr,
|
||||
'--description', 'cave']
|
||||
position_names = ['ip_version', 'network_id', 'cidr', 'segment_id']
|
||||
position_values = [4, netid, cidr, segment]
|
||||
self._test_create_resource(resource, cmd, name, myid, args,
|
||||
position_names, position_values,
|
||||
description='cave')
|
||||
|
||||
def test_create_subnet_with_bad_gateway_option(self):
|
||||
# Create sbunet: --no-gateway netid cidr.
|
||||
resource = 'subnet'
|
||||
|
Reference in New Issue
Block a user