Fixes unclear error when no --pool-prefix given
--pool-prefix is required on subnetpool creation.
refactor: removed unused 'for_create' argument in
add_updatable_arguments in subnetpool module.
Closes-bug: #1536479
Change-Id: I79573369cb95c0b090e9ebfea9af40485d968e2f
(cherry-picked from commit 37ec942417
)
This commit is contained in:
parent
eba0c389d0
commit
a04f98c993
|
@ -26,7 +26,7 @@ def _format_prefixes(subnetpool):
|
|||
return subnetpool['prefixes']
|
||||
|
||||
|
||||
def add_updatable_arguments(parser):
|
||||
def add_updatable_arguments(parser, for_create=False):
|
||||
parser.add_argument(
|
||||
'--min-prefixlen', type=int,
|
||||
help=_('Subnetpool minimum prefix length.'))
|
||||
|
@ -39,6 +39,7 @@ def add_updatable_arguments(parser):
|
|||
parser.add_argument(
|
||||
'--pool-prefix',
|
||||
action='append', dest='prefixes',
|
||||
required=for_create,
|
||||
help=_('Subnetpool prefixes (This option can be repeated).'))
|
||||
utils.add_boolean_argument(
|
||||
parser, '--is-default',
|
||||
|
@ -46,7 +47,7 @@ def add_updatable_arguments(parser):
|
|||
'(True meaning default).'))
|
||||
|
||||
|
||||
def updatable_args2body(parsed_args, body, for_create=True):
|
||||
def updatable_args2body(parsed_args, body):
|
||||
neutronV20.update_dict(parsed_args, body,
|
||||
['name', 'prefixes', 'default_prefixlen',
|
||||
'min_prefixlen', 'max_prefixlen', 'is_default'])
|
||||
|
@ -75,7 +76,7 @@ class CreateSubnetPool(neutronV20.CreateCommand):
|
|||
resource = 'subnetpool'
|
||||
|
||||
def add_known_arguments(self, parser):
|
||||
add_updatable_arguments(parser)
|
||||
add_updatable_arguments(parser, for_create=True)
|
||||
parser.add_argument(
|
||||
'--shared',
|
||||
action='store_true',
|
||||
|
@ -135,7 +136,7 @@ class UpdateSubnetPool(neutronV20.UpdateCommand):
|
|||
|
||||
def args2body(self, parsed_args):
|
||||
body = {}
|
||||
updatable_args2body(parsed_args, body, for_create=False)
|
||||
updatable_args2body(parsed_args, body)
|
||||
|
||||
# Parse and update for "address-scope" option/s
|
||||
if parsed_args.no_address_scope:
|
||||
|
|
|
@ -118,6 +118,19 @@ class CLITestV20SubnetPoolJSON(test_cli20.CLITestV20Base):
|
|||
self._test_create_resource(resource, cmd, name, myid, args,
|
||||
position_names, position_values)
|
||||
|
||||
def test_create_subnetpool_no_poolprefix(self):
|
||||
# Should raise an error because --pool-prefix is required
|
||||
resource = 'subnetpool'
|
||||
cmd = subnetpool.CreateSubnetPool(test_cli20.MyApp(sys.stdout), None)
|
||||
name = 'myname'
|
||||
myid = 'myid'
|
||||
args = [name]
|
||||
position_names = ['name']
|
||||
position_values = [name]
|
||||
self.assertRaises(SystemExit, self._test_create_resource, resource,
|
||||
cmd, name, myid, args, position_names,
|
||||
position_values)
|
||||
|
||||
def test_list_subnetpool_pagination(self):
|
||||
cmd = subnetpool.ListSubnetPool(test_cli20.MyApp(sys.stdout), None)
|
||||
self.mox.StubOutWithMock(subnetpool.ListSubnetPool, "extend_list")
|
||||
|
|
Loading…
Reference in New Issue