summaryrefslogtreecommitdiff
path: root/openstackclient
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2016-05-02 16:37:54 +0000
committerGerrit Code Review <review@openstack.org>2016-05-02 16:37:54 +0000
commit9d7ccd9385776c8c0edf90094b8ef323ef1890a6 (patch)
tree390424bdb474ad19128acbb1e8c77b34389b128f /openstackclient
parent1ccb26b5c93689f5fc1b6c5fbdf8330a3ba14a12 (diff)
parent08759b853a2611144a2d3f0e9216d6801fc23ef2 (diff)
downloadpython-openstackclient-9d7ccd9385776c8c0edf90094b8ef323ef1890a6.tar.gz
Merge "Fixes BadRequest when no --pool-prefix given"
Diffstat (limited to 'openstackclient')
-rw-r--r--openstackclient/network/v2/subnet_pool.py5
-rw-r--r--openstackclient/tests/network/v2/test_subnet_pool.py15
2 files changed, 17 insertions, 3 deletions
diff --git a/openstackclient/network/v2/subnet_pool.py b/openstackclient/network/v2/subnet_pool.py
index 688dd2ca..435db2e1 100644
--- a/openstackclient/network/v2/subnet_pool.py
+++ b/openstackclient/network/v2/subnet_pool.py
@@ -78,12 +78,13 @@ def _get_attrs(client_manager, parsed_args):
return attrs
-def _add_prefix_options(parser):
+def _add_prefix_options(parser, for_create=False):
parser.add_argument(
'--pool-prefix',
metavar='<pool-prefix>',
dest='prefixes',
action='append',
+ required=for_create,
help=_("Set subnet pool prefixes (in CIDR notation) "
"(repeat option to set multiple prefixes)")
)
@@ -131,7 +132,7 @@ class CreateSubnetPool(command.ShowOne):
metavar='<name>',
help=_("Name of the new subnet pool")
)
- _add_prefix_options(parser)
+ _add_prefix_options(parser, for_create=True)
parser.add_argument(
'--project',
metavar='<project>',
diff --git a/openstackclient/tests/network/v2/test_subnet_pool.py b/openstackclient/tests/network/v2/test_subnet_pool.py
index 369a8b11..b40390a1 100644
--- a/openstackclient/tests/network/v2/test_subnet_pool.py
+++ b/openstackclient/tests/network/v2/test_subnet_pool.py
@@ -113,6 +113,17 @@ class TestCreateSubnetPool(TestSubnetPool):
self.assertRaises(tests_utils.ParserException, self.check_parser,
self.cmd, arglist, verifylist)
+ def test_create_no_pool_prefix(self):
+ """Make sure --pool-prefix is a required argument"""
+ arglist = [
+ self._subnet_pool.name,
+ ]
+ verifylist = [
+ ('name', self._subnet_pool.name),
+ ]
+ self.assertRaises(tests_utils.ParserException, self.check_parser,
+ self.cmd, arglist, verifylist)
+
def test_create_default_options(self):
arglist = [
'--pool-prefix', '10.0.10.0/24',
@@ -138,6 +149,7 @@ class TestCreateSubnetPool(TestSubnetPool):
'--default-prefix-length', self._subnet_pool.default_prefixlen,
'--max-prefix-length', self._subnet_pool.max_prefixlen,
'--min-prefix-length', self._subnet_pool.min_prefixlen,
+ '--pool-prefix', '10.0.10.0/24',
self._subnet_pool.name,
]
verifylist = [
@@ -145,6 +157,7 @@ class TestCreateSubnetPool(TestSubnetPool):
('max_prefix_length', self._subnet_pool.max_prefixlen),
('min_prefix_length', self._subnet_pool.min_prefixlen),
('name', self._subnet_pool.name),
+ ('prefixes', ['10.0.10.0/24']),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -154,7 +167,7 @@ class TestCreateSubnetPool(TestSubnetPool):
'default_prefixlen': self._subnet_pool.default_prefixlen,
'max_prefixlen': self._subnet_pool.max_prefixlen,
'min_prefixlen': self._subnet_pool.min_prefixlen,
- 'prefixes': [],
+ 'prefixes': ['10.0.10.0/24'],
'name': self._subnet_pool.name,
})
self.assertEqual(self.columns, columns)