summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2016-07-26 12:30:38 +0000
committerGerrit Code Review <review@openstack.org>2016-07-26 12:30:38 +0000
commit519caf7f1ed4d3c477d6f9a61d12b60f2c63a257 (patch)
tree7afcfe9e8fa95fca0b2e1e46f73ce4f3494a769a
parente7e84d351167e142ff41ea7a3971982032e5f90e (diff)
parenta04f98c9932eacf58275356a8be372cdae939c95 (diff)
downloadpython-neutronclient-519caf7f1ed4d3c477d6f9a61d12b60f2c63a257.tar.gz
Merge "Fixes unclear error when no --pool-prefix given" into stable/mitaka
-rw-r--r--neutronclient/neutron/v2_0/subnetpool.py9
-rw-r--r--neutronclient/tests/unit/test_cli20_subnetpool.py13
2 files changed, 18 insertions, 4 deletions
diff --git a/neutronclient/neutron/v2_0/subnetpool.py b/neutronclient/neutron/v2_0/subnetpool.py
index a4a2247..74a7eb4 100644
--- a/neutronclient/neutron/v2_0/subnetpool.py
+++ b/neutronclient/neutron/v2_0/subnetpool.py
@@ -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:
diff --git a/neutronclient/tests/unit/test_cli20_subnetpool.py b/neutronclient/tests/unit/test_cli20_subnetpool.py
index 60d25de..371a3c9 100644
--- a/neutronclient/tests/unit/test_cli20_subnetpool.py
+++ b/neutronclient/tests/unit/test_cli20_subnetpool.py
@@ -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")