diff --git a/gbpclient/gbp/v2_0/groupbasedpolicy.py b/gbpclient/gbp/v2_0/groupbasedpolicy.py index a5bf63b..5cb3343 100644 --- a/gbpclient/gbp/v2_0/groupbasedpolicy.py +++ b/gbpclient/gbp/v2_0/groupbasedpolicy.py @@ -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( diff --git a/gbpclient/tests/unit/test_cli20_l2policy.py b/gbpclient/tests/unit/test_cli20_l2policy.py index 17da512..e089822 100644 --- a/gbpclient/tests/unit/test_cli20_l2policy.py +++ b/gbpclient/tests/unit/test_cli20_l2policy.py @@ -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)