Add CLI support for new inject_default_route attr

Implements blueprint inject-default-route

Change-Id: I3cecca2e778017a8b13de15a82028a9147a303b5
This commit is contained in:
Sumit Naiksatam 2015-12-10 15:57:19 -08:00
parent ab1adfc70d
commit 6a51342287
2 changed files with 20 additions and 4 deletions

View File

@ -301,7 +301,8 @@ class ListL2Policy(neutronV20.ListCommand):
resource = 'l2_policy'
log = logging.getLogger(__name__ + '.ListL2Policy')
_formatters = {}
list_columns = ['id', 'name', 'description', 'l3_policy_id', 'network_id']
list_columns = ['id', 'name', 'description', 'l3_policy_id', 'network_id',
'inject_default_route']
pagination_support = True
sorting_support = True
@ -335,6 +336,10 @@ class CreateL2Policy(neutronV20.CreateCommand):
parser.add_argument(
'name', metavar='NAME',
help=_('Name of L2 Policy to create (required argument)'))
n_utils.add_boolean_argument(
parser, '--inject-default-route', dest='inject_default_route',
help=_('Enable or disable injecting default route, '
'default is True'))
n_utils.add_boolean_argument(
parser, '--shared', dest='shared',
help=_('Enable or disable resource sharing, default is False'))
@ -343,7 +348,8 @@ class CreateL2Policy(neutronV20.CreateCommand):
body = {self.resource: {}, }
neutronV20.update_dict(parsed_args, body[self.resource],
['name', 'tenant_id', 'description', 'shared'])
['name', 'tenant_id', 'description', 'shared',
'inject_default_route'])
if parsed_args.l3_policy:
body[self.resource]['l3_policy_id'] = \
neutronV20.find_resourceid_by_name_or_id(
@ -380,6 +386,9 @@ class UpdateL2Policy(neutronV20.UpdateCommand):
parser.add_argument(
'--name',
help=_('New name of the L2 Policy'))
n_utils.add_boolean_argument(
parser, '--inject-default-route', dest='inject_default_route',
help=_('Enable or disable injecting of default route'))
n_utils.add_boolean_argument(
parser, '--shared', dest='shared',
help=_('Enable or disable resource sharing'))
@ -388,7 +397,8 @@ class UpdateL2Policy(neutronV20.UpdateCommand):
body = {self.resource: {}, }
neutronV20.update_dict(parsed_args, body[self.resource],
['name', 'tenant_id', 'description', 'shared'])
['name', 'tenant_id', 'description', 'shared',
'inject_default_route'])
if parsed_args.l3_policy:
body[self.resource]['l3_policy_id'] = \
neutronV20.find_resourceid_by_name_or_id(

View File

@ -48,17 +48,20 @@ class CLITestV20L2PolicyJSON(test_cli20.CLITestV20Base):
name = 'my-name'
description = 'l2p description'
l3_policy_id = 'l3p'
inject_default_route = 'false'
shared = 'true'
args = [name,
'--tenant-id', tenant_id,
'--description', description,
'--l3-policy-id', l3_policy_id,
'--inject-default-route', inject_default_route,
'--shared', shared]
position_names = ['name', 'description', 'l3_policy_id']
position_values = [name, description, l3_policy_id]
self._test_create_resource(resource, cmd, name, my_id, args,
position_names, position_values,
tenant_id=tenant_id, shared=shared)
tenant_id=tenant_id, shared=shared,
inject_default_route=inject_default_route)
def test_list_l2_policies(self):
resource = 'l2_policies'
@ -87,16 +90,19 @@ class CLITestV20L2PolicyJSON(test_cli20.CLITestV20Base):
name = 'l2policy'
description = 'l2policy description'
l3_policy_id = 'l3p'
inject_default_route = 'false'
shared = 'true'
args = [my_id,
'--name', name,
'--description', description,
'--l3-policy-id', l3_policy_id,
'--inject-default-route', inject_default_route,
'--shared', shared]
params = {
'name': name,
'description': description,
'l3_policy_id': l3_policy_id,
'inject_default_route': inject_default_route,
'shared': shared
}
self._test_update_resource(resource, cmd, my_id, args, params)