Merge "Add segment as an attribute to subnet in client"

This commit is contained in:
Jenkins
2016-07-27 20:50:46 +00:00
committed by Gerrit Code Review
2 changed files with 23 additions and 0 deletions

View File

@@ -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

View File

@@ -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'