diff --git a/neutronclient/neutron/v2_0/subnetpool.py b/neutronclient/neutron/v2_0/subnetpool.py index 8677cd5..f94c28b 100644 --- a/neutronclient/neutron/v2_0/subnetpool.py +++ b/neutronclient/neutron/v2_0/subnetpool.py @@ -15,6 +15,7 @@ # from neutronclient._i18n import _ +from neutronclient.common import utils from neutronclient.neutron import v2_0 as neutronV20 @@ -32,12 +33,16 @@ def add_updatable_arguments(parser): '--pool-prefix', action='append', dest='prefixes', help=_('Subnetpool prefixes (This option can be repeated).')) + utils.add_boolean_argument( + parser, '--is-default', + help=_('Specify whether this should be the default subnetpool ' + '(True meaning default).')) def updatable_args2body(parsed_args, body, for_create=True): neutronV20.update_dict(parsed_args, body, ['name', 'prefixes', 'default_prefixlen', - 'min_prefixlen', 'max_prefixlen']) + 'min_prefixlen', 'max_prefixlen', 'is_default']) class ListSubnetPool(neutronV20.ListCommand): @@ -45,7 +50,7 @@ class ListSubnetPool(neutronV20.ListCommand): resource = 'subnetpool' list_columns = ['id', 'name', 'prefixes', - 'default_prefixlen', 'address_scope_id'] + 'default_prefixlen', 'address_scope_id', 'is_default'] pagination_support = True sorting_support = True diff --git a/neutronclient/tests/unit/test_cli20_subnetpool.py b/neutronclient/tests/unit/test_cli20_subnetpool.py index dd743aa..60d25de 100644 --- a/neutronclient/tests/unit/test_cli20_subnetpool.py +++ b/neutronclient/tests/unit/test_cli20_subnetpool.py @@ -63,6 +63,26 @@ class CLITestV20SubnetPoolJSON(test_cli20.CLITestV20Base): self._test_create_resource(resource, cmd, name, myid, args, position_names, position_values) + def test_create_subnetpool(self, default='false'): + # Create subnetpool: myname. + resource = 'subnetpool' + cmd = subnetpool.CreateSubnetPool(test_cli20.MyApp(sys.stdout), None) + name = 'myname' + myid = 'myid' + min_prefixlen = 30 + prefix1 = '10.11.12.0/24' + prefix2 = '12.11.13.0/24' + args = [name, '--min-prefixlen', str(min_prefixlen), + '--pool-prefix', prefix1, '--pool-prefix', prefix2, + '--is-default', default] + position_names = ['name', 'min_prefixlen', 'prefixes', 'is_default'] + position_values = [name, min_prefixlen, [prefix1, prefix2], default] + self._test_create_resource(resource, cmd, name, myid, args, + position_names, position_values) + + def test_create_subnetpool_default(self): + self.test_create_subnetpool(default='true') + def test_create_subnetpool_with_unicode(self): # Create subnetpool: u'\u7f51\u7edc'. resource = 'subnetpool' diff --git a/releasenotes/notes/default-subnetpool-support-c0d34870e9d3e814.yaml b/releasenotes/notes/default-subnetpool-support-c0d34870e9d3e814.yaml new file mode 100644 index 0000000..2a571d6 --- /dev/null +++ b/releasenotes/notes/default-subnetpool-support-c0d34870e9d3e814.yaml @@ -0,0 +1,9 @@ +--- +features: + - | + CLI support for default subnetpools. + + * The ``subnetpool-list`` and ``subnetpool-show`` command output includes + the ``is_default`` field. + * The ``subnetpool-create`` and ``subnetpool-update`` commands include a + ``--is-default`` option.