Skip to content

Commit 9d7ccd9

Browse files
Jenkinsopenstack-gerrit
authored andcommitted
Merge "Fixes BadRequest when no --pool-prefix given"
2 parents 1ccb26b + 08759b8 commit 9d7ccd9

4 files changed

Lines changed: 28 additions & 9 deletions

File tree

doc/source/command-objects/subnet-pool.rst

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,21 +16,16 @@ Create subnet pool
1616
.. code:: bash
1717
1818
os subnet pool create
19-
[--pool-prefix <pool-prefix> [...]]
2019
[--default-prefix-length <default-prefix-length>]
2120
[--min-prefix-length <min-prefix-length>]
2221
[--max-prefix-length <max-prefix-length>]
2322
[--project <project> [--project-domain <project-domain>]]
2423
[--address-scope <address-scope>]
2524
[--default | --no-default]
2625
[--share | --no-share]
26+
--pool-prefix <pool-prefix> [...]
2727
<name>
2828
29-
.. option:: --pool-prefix <pool-prefix>
30-
31-
Set subnet pool prefixes (in CIDR notation)
32-
(repeat option to set multiple prefixes)
33-
3429
.. option:: --default-prefix-length <default-prefix-length>
3530
3631
Set subnet pool default prefix length
@@ -73,6 +68,11 @@ Create subnet pool
7368
7469
Set this subnet pool as not shared
7570
71+
.. describe:: --pool-prefix <pool-prefix>
72+
73+
Set subnet pool prefixes (in CIDR notation)
74+
(repeat option to set multiple prefixes)
75+
7676
.. _subnet_pool_create-name:
7777
.. describe:: <name>
7878

openstackclient/network/v2/subnet_pool.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,12 +78,13 @@ def _get_attrs(client_manager, parsed_args):
7878
return attrs
7979

8080

81-
def _add_prefix_options(parser):
81+
def _add_prefix_options(parser, for_create=False):
8282
parser.add_argument(
8383
'--pool-prefix',
8484
metavar='<pool-prefix>',
8585
dest='prefixes',
8686
action='append',
87+
required=for_create,
8788
help=_("Set subnet pool prefixes (in CIDR notation) "
8889
"(repeat option to set multiple prefixes)")
8990
)
@@ -131,7 +132,7 @@ def get_parser(self, prog_name):
131132
metavar='<name>',
132133
help=_("Name of the new subnet pool")
133134
)
134-
_add_prefix_options(parser)
135+
_add_prefix_options(parser, for_create=True)
135136
parser.add_argument(
136137
'--project',
137138
metavar='<project>',

openstackclient/tests/network/v2/test_subnet_pool.py

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,17 @@ def test_create_no_options(self):
113113
self.assertRaises(tests_utils.ParserException, self.check_parser,
114114
self.cmd, arglist, verifylist)
115115

116+
def test_create_no_pool_prefix(self):
117+
"""Make sure --pool-prefix is a required argument"""
118+
arglist = [
119+
self._subnet_pool.name,
120+
]
121+
verifylist = [
122+
('name', self._subnet_pool.name),
123+
]
124+
self.assertRaises(tests_utils.ParserException, self.check_parser,
125+
self.cmd, arglist, verifylist)
126+
116127
def test_create_default_options(self):
117128
arglist = [
118129
'--pool-prefix', '10.0.10.0/24',
@@ -138,13 +149,15 @@ def test_create_prefixlen_options(self):
138149
'--default-prefix-length', self._subnet_pool.default_prefixlen,
139150
'--max-prefix-length', self._subnet_pool.max_prefixlen,
140151
'--min-prefix-length', self._subnet_pool.min_prefixlen,
152+
'--pool-prefix', '10.0.10.0/24',
141153
self._subnet_pool.name,
142154
]
143155
verifylist = [
144156
('default_prefix_length', self._subnet_pool.default_prefixlen),
145157
('max_prefix_length', self._subnet_pool.max_prefixlen),
146158
('min_prefix_length', self._subnet_pool.min_prefixlen),
147159
('name', self._subnet_pool.name),
160+
('prefixes', ['10.0.10.0/24']),
148161
]
149162
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
150163

@@ -154,7 +167,7 @@ def test_create_prefixlen_options(self):
154167
'default_prefixlen': self._subnet_pool.default_prefixlen,
155168
'max_prefixlen': self._subnet_pool.max_prefixlen,
156169
'min_prefixlen': self._subnet_pool.min_prefixlen,
157-
'prefixes': [],
170+
'prefixes': ['10.0.10.0/24'],
158171
'name': self._subnet_pool.name,
159172
})
160173
self.assertEqual(self.columns, columns)
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
fixes:
3+
- |
4+
``--pool-prefix`` option made required for ``subnet pool create``
5+
[Bug `1536479 <https://bugs.launchpad.net/bugs/1536479>`_]

0 commit comments

Comments
 (0)