From 4914b4e3b53f58551c548c449a5e59b626536db6 Mon Sep 17 00:00:00 2001 From: Akihiro Motoki Date: Sun, 7 Jan 2018 05:03:25 +0900 Subject: [PATCH] Consume column utils from osc-lib get_column_definitions() and get_columns() in neutronclient.osc.utils have been migrated to osc-lib 1.8.0 (or later), so we no longer need to maintain our own versions. This commit consumes osc-lib versions. The workaround in firewallrule.py is no longer needed with osc-lib 1.8.0 as the original bug has been fixed in osc-lib 1.8.0 (osc-lib commit 8cbdcde6076fa1df40e00d3e16bf140a59aa6273). Change-Id: I4b9243b0fdb4ca744cc3f85371cb066a456f1d42 --- neutronclient/osc/utils.py | 75 ------------------- .../osc/v2/dynamic_routing/bgp_peer.py | 5 +- .../osc/v2/dynamic_routing/bgp_speaker.py | 5 +- neutronclient/osc/v2/fwaas/firewallgroup.py | 27 +++---- neutronclient/osc/v2/fwaas/firewallpolicy.py | 21 +++--- neutronclient/osc/v2/fwaas/firewallrule.py | 35 ++++----- neutronclient/osc/v2/logging/network_log.py | 31 ++++---- .../osc/v2/networking_bgpvpn/bgpvpn.py | 33 ++++---- .../networking_bgpvpn/network_association.py | 8 +- .../v2/networking_bgpvpn/port_association.py | 14 ++-- .../networking_bgpvpn/resource_association.py | 9 +-- .../networking_bgpvpn/router_association.py | 8 +- .../osc/v2/sfc/sfc_flow_classifier.py | 40 +++++----- neutronclient/osc/v2/sfc/sfc_port_chain.py | 24 +++--- neutronclient/osc/v2/sfc/sfc_port_pair.py | 22 +++--- .../osc/v2/sfc/sfc_port_pair_group.py | 24 +++--- neutronclient/osc/v2/sfc/sfc_service_graph.py | 18 ++--- neutronclient/osc/v2/vpnaas/endpoint_group.py | 19 ++--- neutronclient/osc/v2/vpnaas/ikepolicy.py | 27 +++---- .../osc/v2/vpnaas/ipsec_site_connection.py | 48 ++++++------ neutronclient/osc/v2/vpnaas/ipsecpolicy.py | 27 +++---- neutronclient/osc/v2/vpnaas/vpnservice.py | 25 ++++--- neutronclient/tests/unit/osc/test_utils.py | 60 --------------- .../unit/osc/v2/networking_bgpvpn/fakes.py | 7 +- .../osc/v2/networking_bgpvpn/test_bgpvpn.py | 18 ++--- .../test_resource_association.py | 18 ++--- 26 files changed, 263 insertions(+), 385 deletions(-) delete mode 100644 neutronclient/tests/unit/osc/test_utils.py diff --git a/neutronclient/osc/utils.py b/neutronclient/osc/utils.py index c9aecc1e3..413ad607c 100644 --- a/neutronclient/osc/utils.py +++ b/neutronclient/osc/utils.py @@ -20,8 +20,6 @@ Stuffs specific to neutronclient OSC plugin should not be added to this module. They should go to neutronclient.osc.v2.utils. """ -import operator - from keystoneclient import exceptions as identity_exc from keystoneclient.v3 import domains from keystoneclient.v3 import projects @@ -30,79 +28,6 @@ from osc_lib import utils from neutronclient._i18n import _ -LIST_BOTH = 'both' -LIST_SHORT_ONLY = 'short_only' -LIST_LONG_ONLY = 'long_only' - - -def get_column_definitions(attr_map, long_listing): - """Return table headers and column names for a listing table. - - :param attr_map: a list of table entry definitions. - Each entry should be a tuple consisting of - (API attribute name, header name, listing mode). For example: - (('id', 'ID', LIST_BOTH), - ('name', 'Name', LIST_BOTH), - ('tenant_id', 'Project', LIST_LONG_ONLY)) - The third field of each tuple must be one of LIST_BOTH, - LIST_LONG_ONLY (a corresponding column is shown only in a long mode), or - LIST_SHORT_ONLY (a corresponding column is shown only in a short mode). - :param long_listing: A boolean value which indicates a long listing - or not. In most cases, parsed_args.long is passed to this argument. - :return: A tuple of a list of table headers and a list of column names. - """ - - if long_listing: - headers = [hdr for col, hdr, listing_mode in attr_map - if listing_mode in (LIST_BOTH, LIST_LONG_ONLY)] - columns = [col for col, hdr, listing_mode in attr_map - if listing_mode in (LIST_BOTH, LIST_LONG_ONLY)] - else: - headers = [hdr for col, hdr, listing_mode in attr_map if listing_mode - if listing_mode in (LIST_BOTH, LIST_SHORT_ONLY)] - columns = [col for col, hdr, listing_mode in attr_map if listing_mode - if listing_mode in (LIST_BOTH, LIST_SHORT_ONLY)] - - return headers, columns - - -def get_columns(item, attr_map=None): - """Return pair of resource attributes and corresponding display names. - - Assume the following item and attr_map are passed. - item: {'id': 'myid', 'name': 'myname', - 'foo': 'bar', 'tenant_id': 'mytenan'} - attr_map: - (('id', 'ID', LIST_BOTH), - ('name', 'Name', LIST_BOTH), - ('tenant_id', 'Project', LIST_LONG_ONLY)) - - This method returns: - - (('id', 'name', 'tenant_id', 'foo'), # attributes - ('ID', 'Name', 'Project', 'foo') # display names - - Both tuples of attributes and display names are sorted by display names - in the alphabetical order. - Attributes not found in a given attr_map are kept as-is. - - :param item: a dictionary which represents a resource. - Keys of the dictionary are expected to be attributes of the resource. - Values are not referred to by this method. - :param attr_map: a list of mapping from attribute to display name. - The same format is used as for get_column_definitions attr_map. - :return: A pair of tuple of attributes and tuple of display names. - """ - attr_map = attr_map or tuple([]) - _attr_map_dict = dict((col, hdr) for col, hdr, listing_mode in attr_map) - - columns = [(column, _attr_map_dict.get(column, column)) - for column in item.keys()] - columns = sorted(columns, key=operator.itemgetter(1)) - return (tuple(col[0] for col in columns), - tuple(col[1] for col in columns)) - - # TODO(amotoki): Use osc-lib version once osc-lib provides this. def add_project_owner_option_to_parser(parser): """Register project and project domain options. diff --git a/neutronclient/osc/v2/dynamic_routing/bgp_peer.py b/neutronclient/osc/v2/dynamic_routing/bgp_peer.py index c245ce2e7..c8e602ebb 100644 --- a/neutronclient/osc/v2/dynamic_routing/bgp_peer.py +++ b/neutronclient/osc/v2/dynamic_routing/bgp_peer.py @@ -13,6 +13,7 @@ from osc_lib.command import command from osc_lib import utils +from osc_lib.utils import columns as column_util from neutronclient._i18n import _ from neutronclient.common import exceptions @@ -99,7 +100,7 @@ class CreateBgpPeer(command.ShowOne): attrs = _get_attrs(self.app.client_manager, parsed_args) body = {constants.BGP_PEER: attrs} obj = client.create_bgp_peer(body)[constants.BGP_PEER] - columns, display_columns = nc_osc_utils.get_columns(obj) + columns, display_columns = column_util.get_columns(obj) data = utils.get_dict_properties(obj, columns) return display_columns, data @@ -183,6 +184,6 @@ class ShowBgpPeer(command.ShowOne): id = client.find_resource(constants.BGP_PEER, parsed_args.bgp_peer)['id'] obj = client.show_bgp_peer(id)[constants.BGP_PEER] - columns, display_columns = nc_osc_utils.get_columns(obj) + columns, display_columns = column_util.get_columns(obj) data = utils.get_dict_properties(obj, columns) return display_columns, data diff --git a/neutronclient/osc/v2/dynamic_routing/bgp_speaker.py b/neutronclient/osc/v2/dynamic_routing/bgp_speaker.py index bfe202f2b..366dadcf3 100644 --- a/neutronclient/osc/v2/dynamic_routing/bgp_speaker.py +++ b/neutronclient/osc/v2/dynamic_routing/bgp_speaker.py @@ -13,6 +13,7 @@ from osc_lib.command import command from osc_lib import utils +from osc_lib.utils import columns as column_util from neutronclient._i18n import _ from neutronclient.osc import utils as nc_osc_utils @@ -149,7 +150,7 @@ class CreateBgpSpeaker(command.ShowOne): body = {} body[constants.BGP_SPEAKER] = attrs obj = client.create_bgp_speaker(body)[constants.BGP_SPEAKER] - columns, display_columns = nc_osc_utils.get_columns(obj) + columns, display_columns = column_util.get_columns(obj) data = utils.get_dict_properties(obj, columns) return display_columns, data @@ -315,6 +316,6 @@ class ShowBgpSpeaker(command.ShowOne): id = client.find_resource(constants.BGP_SPEAKER, parsed_args.bgp_speaker)['id'] obj = client.show_bgp_speaker(id)[constants.BGP_SPEAKER] - columns, display_columns = nc_osc_utils.get_columns(obj) + columns, display_columns = column_util.get_columns(obj) data = utils.get_dict_properties(obj, columns) return display_columns, data diff --git a/neutronclient/osc/v2/fwaas/firewallgroup.py b/neutronclient/osc/v2/fwaas/firewallgroup.py index 3d25022d1..fe8ab1188 100644 --- a/neutronclient/osc/v2/fwaas/firewallgroup.py +++ b/neutronclient/osc/v2/fwaas/firewallgroup.py @@ -18,6 +18,7 @@ import logging from osc_lib.command import command from osc_lib import exceptions from osc_lib import utils +from osc_lib.utils import columns as column_util from neutronclient._i18n import _ from neutronclient.osc import utils as osc_utils @@ -32,16 +33,16 @@ _formatters = { } _attr_map = ( - ('id', 'ID', osc_utils.LIST_BOTH), - ('name', 'Name', osc_utils.LIST_BOTH), - ('ingress_firewall_policy_id', 'Ingress Policy ID', osc_utils.LIST_BOTH), - ('egress_firewall_policy_id', 'Egress Policy ID', osc_utils.LIST_BOTH), - ('description', 'Description', osc_utils.LIST_LONG_ONLY), - ('status', 'Status', osc_utils.LIST_LONG_ONLY), - ('ports', 'Ports', osc_utils.LIST_LONG_ONLY), - ('admin_state_up', 'State', osc_utils.LIST_LONG_ONLY), - ('shared', 'Shared', osc_utils.LIST_LONG_ONLY), - ('tenant_id', 'Project', osc_utils.LIST_LONG_ONLY), + ('id', 'ID', column_util.LIST_BOTH), + ('name', 'Name', column_util.LIST_BOTH), + ('ingress_firewall_policy_id', 'Ingress Policy ID', column_util.LIST_BOTH), + ('egress_firewall_policy_id', 'Egress Policy ID', column_util.LIST_BOTH), + ('description', 'Description', column_util.LIST_LONG_ONLY), + ('status', 'Status', column_util.LIST_LONG_ONLY), + ('ports', 'Ports', column_util.LIST_LONG_ONLY), + ('admin_state_up', 'State', column_util.LIST_LONG_ONLY), + ('shared', 'Shared', column_util.LIST_LONG_ONLY), + ('tenant_id', 'Project', column_util.LIST_LONG_ONLY), ) @@ -201,7 +202,7 @@ class CreateFirewallGroup(command.ShowOne): attrs = _get_common_attrs(self.app.client_manager, parsed_args) obj = client.create_fwaas_firewall_group( {const.FWG: attrs})[const.FWG] - columns, display_columns = osc_utils.get_columns(obj, _attr_map) + columns, display_columns = column_util.get_columns(obj, _attr_map) data = utils.get_dict_properties(obj, columns, formatters=_formatters) return (display_columns, data) @@ -254,7 +255,7 @@ class ListFirewallGroup(command.Lister): def take_action(self, parsed_args): client = self.app.client_manager.neutronclient obj = client.list_fwaas_firewall_groups()[const.FWGS] - headers, columns = osc_utils.get_column_definitions( + headers, columns = column_util.get_column_definitions( _attr_map, long_listing=parsed_args.long) return (headers, (utils.get_dict_properties( s, columns, formatters=_formatters) for s in obj)) @@ -313,7 +314,7 @@ class ShowFirewallGroup(command.ShowOne): fwg_id = client.find_resource(const.FWG, parsed_args.firewall_group, cmd_resource=const.CMD_FWG)['id'] obj = client.show_fwaas_firewall_group(fwg_id)[const.FWG] - columns, display_columns = osc_utils.get_columns(obj, _attr_map) + columns, display_columns = column_util.get_columns(obj, _attr_map) data = utils.get_dict_properties(obj, columns, formatters=_formatters) return (display_columns, data) diff --git a/neutronclient/osc/v2/fwaas/firewallpolicy.py b/neutronclient/osc/v2/fwaas/firewallpolicy.py index cee84065c..2c3d5675e 100644 --- a/neutronclient/osc/v2/fwaas/firewallpolicy.py +++ b/neutronclient/osc/v2/fwaas/firewallpolicy.py @@ -21,6 +21,7 @@ import logging from osc_lib.command import command from osc_lib import exceptions from osc_lib import utils +from osc_lib.utils import columns as column_util from neutronclient._i18n import _ from neutronclient.osc import utils as osc_utils @@ -32,13 +33,13 @@ LOG = logging.getLogger(__name__) _formatters = {} _attr_map = ( - ('id', 'ID', osc_utils.LIST_BOTH), - ('name', 'Name', osc_utils.LIST_BOTH), - ('firewall_rules', 'Firewall Rules', osc_utils.LIST_BOTH), - ('description', 'Description', osc_utils.LIST_LONG_ONLY), - ('audited', 'Audited', osc_utils.LIST_LONG_ONLY), - ('shared', 'Shared', osc_utils.LIST_LONG_ONLY), - ('tenant_id', 'Project', osc_utils.LIST_LONG_ONLY), + ('id', 'ID', column_util.LIST_BOTH), + ('name', 'Name', column_util.LIST_BOTH), + ('firewall_rules', 'Firewall Rules', column_util.LIST_BOTH), + ('description', 'Description', column_util.LIST_LONG_ONLY), + ('audited', 'Audited', column_util.LIST_LONG_ONLY), + ('shared', 'Shared', column_util.LIST_LONG_ONLY), + ('tenant_id', 'Project', column_util.LIST_LONG_ONLY), ) @@ -155,7 +156,7 @@ class CreateFirewallPolicy(command.ShowOne): attrs = _get_common_attrs(self.app.client_manager, parsed_args) obj = client.create_fwaas_firewall_policy( {const.FWP: attrs})[const.FWP] - columns, display_columns = osc_utils.get_columns(obj, _attr_map) + columns, display_columns = column_util.get_columns(obj, _attr_map) data = utils.get_dict_properties(obj, columns, formatters=_formatters) return (display_columns, data) @@ -297,7 +298,7 @@ class ListFirewallPolicy(command.Lister): def take_action(self, parsed_args): client = self.app.client_manager.neutronclient obj = client.list_fwaas_firewall_policies()[const.FWPS] - headers, columns = osc_utils.get_column_definitions( + headers, columns = column_util.get_column_definitions( _attr_map, long_listing=parsed_args.long) return (headers, (utils.get_dict_properties( s, columns, formatters=_formatters) for s in obj)) @@ -360,7 +361,7 @@ class ShowFirewallPolicy(command.ShowOne): parsed_args.firewall_policy, cmd_resource=const.CMD_FWP)['id'] obj = client.show_fwaas_firewall_policy(fwp_id)[const.FWP] - columns, display_columns = osc_utils.get_columns(obj, _attr_map) + columns, display_columns = column_util.get_columns(obj, _attr_map) data = utils.get_dict_properties(obj, columns, formatters=_formatters) return (display_columns, data) diff --git a/neutronclient/osc/v2/fwaas/firewallrule.py b/neutronclient/osc/v2/fwaas/firewallrule.py index aee0441ac..964e7e16e 100644 --- a/neutronclient/osc/v2/fwaas/firewallrule.py +++ b/neutronclient/osc/v2/fwaas/firewallrule.py @@ -20,6 +20,7 @@ from cliff import columns as cliff_columns from osc_lib.command import command from osc_lib import exceptions from osc_lib import utils +from osc_lib.utils import columns as column_util from neutronclient._i18n import _ from neutronclient.common import utils as nc_utils @@ -31,21 +32,21 @@ LOG = logging.getLogger(__name__) _attr_map = ( - ('id', 'ID', osc_utils.LIST_BOTH), - ('name', 'Name', osc_utils.LIST_BOTH), - ('enabled', 'Enabled', osc_utils.LIST_BOTH), - ('summary', 'Summary', osc_utils.LIST_SHORT_ONLY), - ('description', 'Description', osc_utils.LIST_LONG_ONLY), - ('ip_version', 'IP Version', osc_utils.LIST_LONG_ONLY), - ('action', 'Action', osc_utils.LIST_LONG_ONLY), - ('protocol', 'Protocol', osc_utils.LIST_LONG_ONLY), - ('source_ip_address', 'Source IP Address', osc_utils.LIST_LONG_ONLY), - ('source_port', 'Source Port', osc_utils.LIST_LONG_ONLY), + ('id', 'ID', column_util.LIST_BOTH), + ('name', 'Name', column_util.LIST_BOTH), + ('enabled', 'Enabled', column_util.LIST_BOTH), + ('summary', 'Summary', column_util.LIST_SHORT_ONLY), + ('description', 'Description', column_util.LIST_LONG_ONLY), + ('ip_version', 'IP Version', column_util.LIST_LONG_ONLY), + ('action', 'Action', column_util.LIST_LONG_ONLY), + ('protocol', 'Protocol', column_util.LIST_LONG_ONLY), + ('source_ip_address', 'Source IP Address', column_util.LIST_LONG_ONLY), + ('source_port', 'Source Port', column_util.LIST_LONG_ONLY), ('destination_ip_address', 'Destination IP Address', - osc_utils.LIST_LONG_ONLY), - ('destination_port', 'Destination Port', osc_utils.LIST_LONG_ONLY), - ('shared', 'Shared', osc_utils.LIST_LONG_ONLY), - ('tenant_id', 'Project', osc_utils.LIST_LONG_ONLY), + column_util.LIST_LONG_ONLY), + ('destination_port', 'Destination Port', column_util.LIST_LONG_ONLY), + ('shared', 'Shared', column_util.LIST_LONG_ONLY), + ('tenant_id', 'Project', column_util.LIST_LONG_ONLY), ) @@ -217,7 +218,7 @@ class CreateFirewallRule(command.ShowOne): attrs = _get_common_attrs(self.app.client_manager, parsed_args) obj = client.create_fwaas_firewall_rule( {const.FWR: attrs})[const.FWR] - columns, display_columns = osc_utils.get_columns(obj, _attr_map) + columns, display_columns = column_util.get_columns(obj, _attr_map) data = utils.get_dict_properties(obj, columns, formatters=_formatters) return display_columns, data @@ -294,7 +295,7 @@ class ListFirewallRule(command.Lister): client = self.app.client_manager.neutronclient obj = client.list_fwaas_firewall_rules()[const.FWRS] obj_extend = self.extend_list(obj, parsed_args) - headers, columns = osc_utils.get_column_definitions( + headers, columns = column_util.get_column_definitions( _attr_map, long_listing=parsed_args.long) return (headers, (utils.get_dict_properties( s, columns, formatters=_formatters) for s in obj_extend)) @@ -344,7 +345,7 @@ class ShowFirewallRule(command.ShowOne): const.FWR, parsed_args.firewall_rule, cmd_resource=const.CMD_FWR)['id'] obj = client.show_fwaas_firewall_rule(fwr_id)[const.FWR] - columns, display_columns = osc_utils.get_columns(obj, _attr_map) + columns, display_columns = column_util.get_columns(obj, _attr_map) data = utils.get_dict_properties(obj, columns, formatters=_formatters) return (display_columns, data) diff --git a/neutronclient/osc/v2/logging/network_log.py b/neutronclient/osc/v2/logging/network_log.py index becb1cb69..534e48d82 100644 --- a/neutronclient/osc/v2/logging/network_log.py +++ b/neutronclient/osc/v2/logging/network_log.py @@ -19,6 +19,7 @@ import copy from osc_lib.command import command from osc_lib import exceptions from osc_lib import utils +from osc_lib.utils import columns as column_util from oslo_log import log as logging from neutronclient._i18n import _ @@ -29,20 +30,20 @@ from neutronclient.osc import utils as osc_utils LOG = logging.getLogger(__name__) _attr_map = ( - ('id', 'ID', osc_utils.LIST_BOTH), - ('description', 'Description', osc_utils.LIST_LONG_ONLY), - ('enabled', 'Enabled', osc_utils.LIST_BOTH), - ('name', 'Name', osc_utils.LIST_BOTH), - ('target_id', 'Target', osc_utils.LIST_LONG_ONLY), - ('project_id', 'Project', osc_utils.LIST_LONG_ONLY), - ('resource_id', 'Resource', osc_utils.LIST_LONG_ONLY), - ('resource_type', 'Type', osc_utils.LIST_BOTH), - ('event', 'Event', osc_utils.LIST_LONG_ONLY), - ('summary', 'Summary', osc_utils.LIST_SHORT_ONLY), + ('id', 'ID', column_util.LIST_BOTH), + ('description', 'Description', column_util.LIST_LONG_ONLY), + ('enabled', 'Enabled', column_util.LIST_BOTH), + ('name', 'Name', column_util.LIST_BOTH), + ('target_id', 'Target', column_util.LIST_LONG_ONLY), + ('project_id', 'Project', column_util.LIST_LONG_ONLY), + ('resource_id', 'Resource', column_util.LIST_LONG_ONLY), + ('resource_type', 'Type', column_util.LIST_BOTH), + ('event', 'Event', column_util.LIST_LONG_ONLY), + ('summary', 'Summary', column_util.LIST_SHORT_ONLY), ) _attr_map_for_loggable = ( - ('type', 'Supported types', osc_utils.LIST_BOTH), + ('type', 'Supported types', column_util.LIST_BOTH), ) NET_LOG = 'network_log' @@ -142,7 +143,7 @@ class CreateNetworkLog(command.ShowOne): client = self.app.client_manager.neutronclient attrs = _get_common_attrs(self.app.client_manager, parsed_args) obj = client.create_network_log({'log': attrs})['log'] - columns, display_columns = osc_utils.get_columns(obj, _attr_map) + columns, display_columns = column_util.get_columns(obj, _attr_map) data = utils.get_dict_properties(obj, columns) return (display_columns, data) @@ -195,7 +196,7 @@ class ListLoggableResource(command.Lister): def take_action(self, parsed_args): client = self.app.client_manager.neutronclient obj = client.list_network_loggable_resources()['loggable_resources'] - headers, columns = osc_utils.get_column_definitions( + headers, columns = column_util.get_column_definitions( _attr_map_for_loggable, long_listing=parsed_args.long) return (headers, (utils.get_dict_properties(s, columns) for s in obj)) @@ -232,7 +233,7 @@ class ListNetworkLog(command.Lister): client = self.app.client_manager.neutronclient obj = client.list_network_logs()['logs'] obj_extend = self._extend_list(obj, parsed_args) - headers, columns = osc_utils.get_column_definitions( + headers, columns = column_util.get_column_definitions( _attr_map, long_listing=parsed_args.long) return (headers, ( utils.get_dict_properties(s, columns) for s in obj_extend)) @@ -284,6 +285,6 @@ class ShowNetworkLog(command.ShowOne): log_id = client.find_resource( 'log', parsed_args.network_log, cmd_resource=NET_LOG)['id'] obj = client.show_network_log(log_id)['log'] - columns, display_columns = osc_utils.get_columns(obj, _attr_map) + columns, display_columns = column_util.get_columns(obj, _attr_map) data = utils.get_dict_properties(obj, columns) return (display_columns, data) diff --git a/neutronclient/osc/v2/networking_bgpvpn/bgpvpn.py b/neutronclient/osc/v2/networking_bgpvpn/bgpvpn.py index 6ce93ac65..58c9e8a43 100644 --- a/neutronclient/osc/v2/networking_bgpvpn/bgpvpn.py +++ b/neutronclient/osc/v2/networking_bgpvpn/bgpvpn.py @@ -21,6 +21,7 @@ from osc_lib.cli.parseractions import KeyValueAction from osc_lib.command import command from osc_lib import exceptions from osc_lib import utils as osc_utils +from osc_lib.utils import columns as column_util from neutronclient._i18n import _ from neutronclient.osc import utils as nc_osc_utils @@ -29,20 +30,20 @@ from neutronclient.osc.v2.networking_bgpvpn import constants LOG = logging.getLogger(__name__) _attr_map = ( - ('id', 'ID', nc_osc_utils.LIST_BOTH), - ('tenant_id', 'Project', nc_osc_utils.LIST_LONG_ONLY), - ('name', 'Name', nc_osc_utils.LIST_BOTH), - ('type', 'Type', nc_osc_utils.LIST_BOTH), - ('route_targets', 'Route Targets', nc_osc_utils.LIST_LONG_ONLY), - ('import_targets', 'Import Targets', nc_osc_utils.LIST_LONG_ONLY), - ('export_targets', 'Export Targets', nc_osc_utils.LIST_LONG_ONLY), + ('id', 'ID', column_util.LIST_BOTH), + ('tenant_id', 'Project', column_util.LIST_LONG_ONLY), + ('name', 'Name', column_util.LIST_BOTH), + ('type', 'Type', column_util.LIST_BOTH), + ('route_targets', 'Route Targets', column_util.LIST_LONG_ONLY), + ('import_targets', 'Import Targets', column_util.LIST_LONG_ONLY), + ('export_targets', 'Export Targets', column_util.LIST_LONG_ONLY), ('route_distinguishers', 'Route Distinguishers', - nc_osc_utils.LIST_LONG_ONLY), - ('networks', 'Associated Networks', nc_osc_utils.LIST_LONG_ONLY), - ('routers', 'Associated Routers', nc_osc_utils.LIST_LONG_ONLY), - ('ports', 'Associated Ports', nc_osc_utils.LIST_LONG_ONLY), - ('vni', 'VNI', nc_osc_utils.LIST_LONG_ONLY), - ('local_pref', 'Local Pref', nc_osc_utils.LIST_LONG_ONLY), + column_util.LIST_LONG_ONLY), + ('networks', 'Associated Networks', column_util.LIST_LONG_ONLY), + ('routers', 'Associated Routers', column_util.LIST_LONG_ONLY), + ('ports', 'Associated Ports', column_util.LIST_LONG_ONLY), + ('vni', 'VNI', column_util.LIST_LONG_ONLY), + ('local_pref', 'Local Pref', column_util.LIST_LONG_ONLY), ) _formatters = { 'route_targets': format_columns.ListColumn, @@ -267,7 +268,7 @@ class CreateBgpvpn(command.ShowOne): attrs['tenant_id'] = project_id body = {constants.BGPVPN: attrs} obj = client.create_bgpvpn(body)[constants.BGPVPN] - columns, display_columns = nc_osc_utils.get_columns(obj, _attr_map) + columns, display_columns = column_util.get_columns(obj, _attr_map) data = osc_utils.get_dict_properties(obj, columns, formatters=_formatters) return display_columns, data @@ -379,7 +380,7 @@ class ListBgpvpn(command.Lister): if parsed_args.property: params.update(parsed_args.property) objs = client.list_bgpvpns(**params)[constants.BGPVPNS] - headers, columns = nc_osc_utils.get_column_definitions( + headers, columns = column_util.get_column_definitions( _attr_map, long_listing=parsed_args.long) return (headers, (osc_utils.get_dict_properties( s, columns, formatters=_formatters) for s in objs)) @@ -401,7 +402,7 @@ class ShowBgpvpn(command.ShowOne): client = self.app.client_manager.neutronclient id = client.find_resource(constants.BGPVPN, parsed_args.bgpvpn)['id'] obj = client.show_bgpvpn(id)[constants.BGPVPN] - columns, display_columns = nc_osc_utils.get_columns(obj, _attr_map) + columns, display_columns = column_util.get_columns(obj, _attr_map) data = osc_utils.get_dict_properties(obj, columns, formatters=_formatters) return display_columns, data diff --git a/neutronclient/osc/v2/networking_bgpvpn/network_association.py b/neutronclient/osc/v2/networking_bgpvpn/network_association.py index 33e199651..05c44320e 100644 --- a/neutronclient/osc/v2/networking_bgpvpn/network_association.py +++ b/neutronclient/osc/v2/networking_bgpvpn/network_association.py @@ -14,9 +14,9 @@ # under the License. # +from osc_lib.utils import columns as column_util from neutronclient._i18n import _ -from neutronclient.osc import utils as nc_osc_utils from neutronclient.osc.v2.networking_bgpvpn import constants from neutronclient.osc.v2.networking_bgpvpn.resource_association import\ CreateBgpvpnResAssoc @@ -34,10 +34,10 @@ class BgpvpnNetAssoc(object): _resource_plural = constants.NETWORK_ASSOCS _attr_map = ( - ('id', 'ID', nc_osc_utils.LIST_BOTH), - ('tenant_id', 'Project', nc_osc_utils.LIST_LONG_ONLY), + ('id', 'ID', column_util.LIST_BOTH), + ('tenant_id', 'Project', column_util.LIST_LONG_ONLY), ('%s_id' % _assoc_res_name, '%s ID' % _assoc_res_name.capitalize(), - nc_osc_utils.LIST_BOTH), + column_util.LIST_BOTH), ) _formatters = {} diff --git a/neutronclient/osc/v2/networking_bgpvpn/port_association.py b/neutronclient/osc/v2/networking_bgpvpn/port_association.py index 75d5c0fd9..abf82ab72 100644 --- a/neutronclient/osc/v2/networking_bgpvpn/port_association.py +++ b/neutronclient/osc/v2/networking_bgpvpn/port_association.py @@ -18,9 +18,9 @@ import logging from osc_lib.cli import format_columns from osc_lib.cli import parseractions +from osc_lib.utils import columns as column_util from neutronclient._i18n import _ -from neutronclient.osc import utils as nc_osc_utils from neutronclient.osc.v2.networking_bgpvpn import constants from neutronclient.osc.v2.networking_bgpvpn import resource_association @@ -33,16 +33,16 @@ class BgpvpnPortAssoc(object): _resource_plural = constants.PORT_ASSOCS _attr_map = ( - ('id', 'ID', nc_osc_utils.LIST_BOTH), - ('tenant_id', 'Project', nc_osc_utils.LIST_LONG_ONLY), + ('id', 'ID', column_util.LIST_BOTH), + ('tenant_id', 'Project', column_util.LIST_LONG_ONLY), ('%s_id' % _assoc_res_name, '%s ID' % _assoc_res_name.capitalize(), - nc_osc_utils.LIST_BOTH), + column_util.LIST_BOTH), ('prefix_routes', 'Prefix Routes (BGP LOCAL_PREF)', - nc_osc_utils.LIST_LONG_ONLY), + column_util.LIST_LONG_ONLY), ('bgpvpn_routes', 'BGP VPN Routes (BGP LOCAL_PREF)', - nc_osc_utils.LIST_LONG_ONLY), + column_util.LIST_LONG_ONLY), ('advertise_fixed_ips', "Advertise Port's Fixed IPs", - nc_osc_utils.LIST_LONG_ONLY), + column_util.LIST_LONG_ONLY), ) _formatters = { 'prefix_routes': format_columns.ListColumn, diff --git a/neutronclient/osc/v2/networking_bgpvpn/resource_association.py b/neutronclient/osc/v2/networking_bgpvpn/resource_association.py index 4784100f8..96c559b24 100644 --- a/neutronclient/osc/v2/networking_bgpvpn/resource_association.py +++ b/neutronclient/osc/v2/networking_bgpvpn/resource_association.py @@ -20,6 +20,7 @@ from osc_lib.cli import parseractions from osc_lib.command import command from osc_lib import exceptions from osc_lib import utils as osc_utils +from osc_lib.utils import columns as column_util from neutronclient._i18n import _ from neutronclient.osc import utils as nc_osc_utils @@ -83,8 +84,7 @@ class CreateBgpvpnResAssoc(command.ShowOne): transform = getattr(self, '_transform_resource', None) if callable(transform): transform(obj) - columns, display_columns = nc_osc_utils.get_columns(obj, - self._attr_map) + columns, display_columns = column_util.get_columns(obj, self._attr_map) data = osc_utils.get_dict_properties(obj, columns, formatters=self._formatters) return display_columns, data @@ -218,7 +218,7 @@ class ListBgpvpnResAssoc(command.Lister): transform = getattr(self, '_transform_resource', None) if callable(transform): [transform(obj) for obj in objs] - headers, columns = nc_osc_utils.get_column_definitions( + headers, columns = column_util.get_column_definitions( self._attr_map, long_listing=parsed_args.long) return (headers, (osc_utils.get_dict_properties( s, columns, formatters=self._formatters) for s in objs)) @@ -256,8 +256,7 @@ class ShowBgpvpnResAssoc(command.ShowOne): transform = getattr(self, '_transform_resource', None) if callable(transform): transform(obj) - columns, display_columns = nc_osc_utils.get_columns(obj, - self._attr_map) + columns, display_columns = column_util.get_columns(obj, self._attr_map) data = osc_utils.get_dict_properties(obj, columns, formatters=self._formatters) return display_columns, data diff --git a/neutronclient/osc/v2/networking_bgpvpn/router_association.py b/neutronclient/osc/v2/networking_bgpvpn/router_association.py index a51fbe604..40664b6dc 100644 --- a/neutronclient/osc/v2/networking_bgpvpn/router_association.py +++ b/neutronclient/osc/v2/networking_bgpvpn/router_association.py @@ -14,9 +14,9 @@ # under the License. # +from osc_lib.utils import columns as column_util from neutronclient._i18n import _ -from neutronclient.osc import utils as nc_osc_utils from neutronclient.osc.v2.networking_bgpvpn import constants from neutronclient.osc.v2.networking_bgpvpn.resource_association import\ CreateBgpvpnResAssoc @@ -34,10 +34,10 @@ class BgpvpnRouterAssoc(object): _resource_plural = constants.ROUTER_ASSOCS _attr_map = ( - ('id', 'ID', nc_osc_utils.LIST_BOTH), - ('tenant_id', 'Project', nc_osc_utils.LIST_LONG_ONLY), + ('id', 'ID', column_util.LIST_BOTH), + ('tenant_id', 'Project', column_util.LIST_LONG_ONLY), ('%s_id' % _assoc_res_name, '%s ID' % _assoc_res_name.capitalize(), - nc_osc_utils.LIST_BOTH), + column_util.LIST_BOTH), ) _formatters = {} diff --git a/neutronclient/osc/v2/sfc/sfc_flow_classifier.py b/neutronclient/osc/v2/sfc/sfc_flow_classifier.py index 529cf8aa6..ad35aa6bd 100755 --- a/neutronclient/osc/v2/sfc/sfc_flow_classifier.py +++ b/neutronclient/osc/v2/sfc/sfc_flow_classifier.py @@ -19,40 +19,40 @@ import logging from osc_lib.command import command from osc_lib import exceptions from osc_lib import utils +from osc_lib.utils import columns as column_util from neutronclient._i18n import _ from neutronclient.common import exceptions as nc_exc -from neutronclient.osc import utils as nc_osc_utils LOG = logging.getLogger(__name__) resource = 'flow_classifier' _attr_map = ( - ('id', 'ID', nc_osc_utils.LIST_BOTH), - ('name', 'Name', nc_osc_utils.LIST_BOTH), - ('summary', 'Summary', nc_osc_utils.LIST_SHORT_ONLY), - ('protocol', 'Protocol', nc_osc_utils.LIST_LONG_ONLY), - ('ethertype', 'Ethertype', nc_osc_utils.LIST_LONG_ONLY), + ('id', 'ID', column_util.LIST_BOTH), + ('name', 'Name', column_util.LIST_BOTH), + ('summary', 'Summary', column_util.LIST_SHORT_ONLY), + ('protocol', 'Protocol', column_util.LIST_LONG_ONLY), + ('ethertype', 'Ethertype', column_util.LIST_LONG_ONLY), ('source_ip_prefix', 'Source IP', - nc_osc_utils.LIST_LONG_ONLY), + column_util.LIST_LONG_ONLY), ('destination_ip_prefix', 'Destination IP', - nc_osc_utils.LIST_LONG_ONLY), + column_util.LIST_LONG_ONLY), ('logical_source_port', 'Logical Source Port', - nc_osc_utils.LIST_LONG_ONLY), + column_util.LIST_LONG_ONLY), ('logical_destination_port', 'Logical Destination Port', - nc_osc_utils.LIST_LONG_ONLY), + column_util.LIST_LONG_ONLY), ('source_port_range_min', 'Source Port Range Min', - nc_osc_utils.LIST_LONG_ONLY), + column_util.LIST_LONG_ONLY), ('source_port_range_max', 'Source Port Range Max', - nc_osc_utils.LIST_LONG_ONLY), + column_util.LIST_LONG_ONLY), ('destination_port_range_min', 'Destination Port Range Min', - nc_osc_utils.LIST_LONG_ONLY), + column_util.LIST_LONG_ONLY), ('destination_port_range_max', 'Destination Port Range Max', - nc_osc_utils.LIST_LONG_ONLY), - ('l7_parameters', 'L7 Parameters', nc_osc_utils.LIST_LONG_ONLY), - ('description', 'Description', nc_osc_utils.LIST_LONG_ONLY), - ('project_id', 'Project', nc_osc_utils.LIST_LONG_ONLY), + column_util.LIST_LONG_ONLY), + ('l7_parameters', 'L7 Parameters', column_util.LIST_LONG_ONLY), + ('description', 'Description', column_util.LIST_LONG_ONLY), + ('project_id', 'Project', column_util.LIST_LONG_ONLY), ) @@ -118,7 +118,7 @@ class CreateSfcFlowClassifier(command.ShowOne): attrs = _get_common_attrs(self.app.client_manager, parsed_args) body = {resource: attrs} obj = client.create_sfc_flow_classifier(body)[resource] - columns, display_columns = nc_osc_utils.get_columns(obj, _attr_map) + columns, display_columns = column_util.get_columns(obj, _attr_map) data = utils.get_dict_properties(obj, columns) return display_columns, data @@ -200,7 +200,7 @@ class ListSfcFlowClassifier(command.Lister): client = self.app.client_manager.neutronclient obj = client.list_sfc_flow_classifiers() obj_extend = self.extend_list(obj, parsed_args) - headers, columns = nc_osc_utils.get_column_definitions( + headers, columns = column_util.get_column_definitions( _attr_map, long_listing=parsed_args.long) return (headers, (utils.get_dict_properties( s, columns) for s in obj_extend)) @@ -256,7 +256,7 @@ class ShowSfcFlowClassifier(command.ShowOne): client = self.app.client_manager.neutronclient fc_id = _get_id(client, parsed_args.flow_classifier, resource) obj = client.show_sfc_flow_classifier(fc_id)[resource] - columns, display_columns = nc_osc_utils.get_columns(obj, _attr_map) + columns, display_columns = column_util.get_columns(obj, _attr_map) data = utils.get_dict_properties(obj, columns) return display_columns, data diff --git a/neutronclient/osc/v2/sfc/sfc_port_chain.py b/neutronclient/osc/v2/sfc/sfc_port_chain.py index 3e3f5f6a5..4ce790dc3 100755 --- a/neutronclient/osc/v2/sfc/sfc_port_chain.py +++ b/neutronclient/osc/v2/sfc/sfc_port_chain.py @@ -19,25 +19,25 @@ from osc_lib.cli import parseractions from osc_lib.command import command from osc_lib import exceptions from osc_lib import utils +from osc_lib.utils import columns as column_util from neutronclient._i18n import _ -from neutronclient.osc import utils as nc_osc_utils LOG = logging.getLogger(__name__) resource = 'port_chain' _attr_map = ( - ('id', 'ID', nc_osc_utils.LIST_BOTH), - ('name', 'Name', nc_osc_utils.LIST_BOTH), - ('port_pair_groups', 'Port Pair Groups', nc_osc_utils.LIST_BOTH), + ('id', 'ID', column_util.LIST_BOTH), + ('name', 'Name', column_util.LIST_BOTH), + ('port_pair_groups', 'Port Pair Groups', column_util.LIST_BOTH), ('flow_classifiers', 'Flow Classifiers', - nc_osc_utils.LIST_BOTH), + column_util.LIST_BOTH), ('chain_parameters', 'Chain Parameters', - nc_osc_utils.LIST_BOTH), - ('description', 'Description', nc_osc_utils.LIST_LONG_ONLY), - ('chain_id', 'Chain ID', nc_osc_utils.LIST_BOTH), - ('project_id', 'Project', nc_osc_utils.LIST_LONG_ONLY), + column_util.LIST_BOTH), + ('description', 'Description', column_util.LIST_LONG_ONLY), + ('chain_id', 'Chain ID', column_util.LIST_BOTH), + ('project_id', 'Project', column_util.LIST_LONG_ONLY), ) @@ -85,7 +85,7 @@ class CreateSfcPortChain(command.ShowOne): attrs = _get_common_attrs(self.app.client_manager, parsed_args) body = {resource: attrs} obj = client.create_sfc_port_chain(body)[resource] - columns, display_columns = nc_osc_utils.get_columns(obj, _attr_map) + columns, display_columns = column_util.get_columns(obj, _attr_map) data = utils.get_dict_properties(obj, columns) return display_columns, data @@ -131,7 +131,7 @@ class ListSfcPortChain(command.Lister): def take_action(self, parsed_args): client = self.app.client_manager.neutronclient data = client.list_sfc_port_chains() - headers, columns = nc_osc_utils.get_column_definitions( + headers, columns = column_util.get_column_definitions( _attr_map, long_listing=parsed_args.long) return (headers, (utils.get_dict_properties(s, columns) @@ -254,7 +254,7 @@ class ShowSfcPortChain(command.ShowOne): client = self.app.client_manager.neutronclient pc_id = _get_id(client, parsed_args.port_chain, resource) obj = client.show_sfc_port_chain(pc_id)[resource] - columns, display_columns = nc_osc_utils.get_columns(obj, _attr_map) + columns, display_columns = column_util.get_columns(obj, _attr_map) data = utils.get_dict_properties(obj, columns) return display_columns, data diff --git a/neutronclient/osc/v2/sfc/sfc_port_pair.py b/neutronclient/osc/v2/sfc/sfc_port_pair.py index 12b35dd0d..68d131cdd 100755 --- a/neutronclient/osc/v2/sfc/sfc_port_pair.py +++ b/neutronclient/osc/v2/sfc/sfc_port_pair.py @@ -19,23 +19,23 @@ from osc_lib.cli import parseractions from osc_lib.command import command from osc_lib import exceptions from osc_lib import utils +from osc_lib.utils import columns as column_util from neutronclient._i18n import _ -from neutronclient.osc import utils as nc_osc_utils LOG = logging.getLogger(__name__) resource = 'port_pair' _attr_map = ( - ('id', 'ID', nc_osc_utils.LIST_BOTH), - ('name', 'Name', nc_osc_utils.LIST_BOTH), - ('ingress', 'Ingress Logical Port', nc_osc_utils.LIST_BOTH), - ('egress', 'Egress Logical Port', nc_osc_utils.LIST_BOTH), + ('id', 'ID', column_util.LIST_BOTH), + ('name', 'Name', column_util.LIST_BOTH), + ('ingress', 'Ingress Logical Port', column_util.LIST_BOTH), + ('egress', 'Egress Logical Port', column_util.LIST_BOTH), ('service_function_parameters', 'Service Function Parameters', - nc_osc_utils.LIST_LONG_ONLY), - ('description', 'Description', nc_osc_utils.LIST_LONG_ONLY), - ('project_id', 'Project', nc_osc_utils.LIST_LONG_ONLY), + column_util.LIST_LONG_ONLY), + ('description', 'Description', column_util.LIST_LONG_ONLY), + ('project_id', 'Project', column_util.LIST_LONG_ONLY), ) @@ -80,7 +80,7 @@ class CreateSfcPortPair(command.ShowOne): attrs = _get_common_attrs(self.app.client_manager, parsed_args) body = {resource: attrs} obj = client.create_sfc_port_pair(body)[resource] - columns, display_columns = nc_osc_utils.get_columns(obj, _attr_map) + columns, display_columns = column_util.get_columns(obj, _attr_map) data = utils.get_dict_properties(obj, columns) return display_columns, data @@ -125,7 +125,7 @@ class ListSfcPortPair(command.Lister): def take_action(self, parsed_args): client = self.app.client_manager.neutronclient data = client.list_sfc_port_pairs() - headers, columns = nc_osc_utils.get_column_definitions( + headers, columns = column_util.get_column_definitions( _attr_map, long_listing=parsed_args.long) return (headers, (utils.get_dict_properties( @@ -183,7 +183,7 @@ class ShowSfcPortPair(command.ShowOne): client = self.app.client_manager.neutronclient port_pair_id = _get_id(client, parsed_args.port_pair, resource) obj = client.show_sfc_port_pair(port_pair_id)[resource] - columns, display_columns = nc_osc_utils.get_columns(obj, _attr_map) + columns, display_columns = column_util.get_columns(obj, _attr_map) data = utils.get_dict_properties(obj, columns) return display_columns, data diff --git a/neutronclient/osc/v2/sfc/sfc_port_pair_group.py b/neutronclient/osc/v2/sfc/sfc_port_pair_group.py index 972b72766..6053c9a4f 100755 --- a/neutronclient/osc/v2/sfc/sfc_port_pair_group.py +++ b/neutronclient/osc/v2/sfc/sfc_port_pair_group.py @@ -19,24 +19,24 @@ from osc_lib.cli import parseractions from osc_lib.command import command from osc_lib import exceptions from osc_lib import utils +from osc_lib.utils import columns as column_util from neutronclient._i18n import _ -from neutronclient.osc import utils as nc_osc_utils LOG = logging.getLogger(__name__) resource = 'port_pair_group' _attr_map = ( - ('id', 'ID', nc_osc_utils.LIST_BOTH), - ('name', 'Name', nc_osc_utils.LIST_BOTH), - ('port_pairs', 'Port Pair', nc_osc_utils.LIST_BOTH), + ('id', 'ID', column_util.LIST_BOTH), + ('name', 'Name', column_util.LIST_BOTH), + ('port_pairs', 'Port Pair', column_util.LIST_BOTH), ('port_pair_group_parameters', 'Port Pair Group Parameters', - nc_osc_utils.LIST_BOTH), - ('description', 'Description', nc_osc_utils.LIST_LONG_ONLY), - ('group_id', 'Loadbalance ID', nc_osc_utils.LIST_LONG_ONLY), - ('project_id', 'Project', nc_osc_utils.LIST_LONG_ONLY), - ('tap_enabled', 'Tap Enabled', nc_osc_utils.LIST_BOTH) + column_util.LIST_BOTH), + ('description', 'Description', column_util.LIST_LONG_ONLY), + ('group_id', 'Loadbalance ID', column_util.LIST_LONG_ONLY), + ('project_id', 'Project', column_util.LIST_LONG_ONLY), + ('tap_enabled', 'Tap Enabled', column_util.LIST_BOTH) ) @@ -89,7 +89,7 @@ class CreateSfcPortPairGroup(command.ShowOne): attrs = _get_common_attrs(self.app.client_manager, parsed_args) body = {resource: attrs} obj = client.create_sfc_port_pair_group(body)[resource] - columns, display_columns = nc_osc_utils.get_columns(obj, _attr_map) + columns, display_columns = column_util.get_columns(obj, _attr_map) data = utils.get_dict_properties(obj, columns) return display_columns, data @@ -135,7 +135,7 @@ class ListSfcPortPairGroup(command.Lister): def take_action(self, parsed_args): client = self.app.client_manager.neutronclient data = client.list_sfc_port_pair_groups() - headers, columns = nc_osc_utils.get_column_definitions( + headers, columns = column_util.get_column_definitions( _attr_map, long_listing=parsed_args.long) return (headers, (utils.get_dict_properties( @@ -217,7 +217,7 @@ class ShowSfcPortPairGroup(command.ShowOne): client = self.app.client_manager.neutronclient ppg_id = _get_id(client, parsed_args.port_pair_group, resource) obj = client.show_sfc_port_pair_group(ppg_id)[resource] - columns, display_columns = nc_osc_utils.get_columns(obj, _attr_map) + columns, display_columns = column_util.get_columns(obj, _attr_map) data = utils.get_dict_properties(obj, columns) return display_columns, data diff --git a/neutronclient/osc/v2/sfc/sfc_service_graph.py b/neutronclient/osc/v2/sfc/sfc_service_graph.py index 53edff8f9..fc4772675 100644 --- a/neutronclient/osc/v2/sfc/sfc_service_graph.py +++ b/neutronclient/osc/v2/sfc/sfc_service_graph.py @@ -17,20 +17,20 @@ import logging from osc_lib.command import command from osc_lib import exceptions from osc_lib import utils +from osc_lib.utils import columns as column_util from neutronclient._i18n import _ -from neutronclient.osc import utils as nc_osc_utils LOG = logging.getLogger(__name__) resource = 'service_graph' _attr_map = ( - ('id', 'ID', nc_osc_utils.LIST_BOTH), - ('name', 'Name', nc_osc_utils.LIST_BOTH), - ('port_chains', 'Branching Points', nc_osc_utils.LIST_BOTH), - ('description', 'Description', nc_osc_utils.LIST_LONG_ONLY), - ('project_id', 'Project', nc_osc_utils.LIST_LONG_ONLY), + ('id', 'ID', column_util.LIST_BOTH), + ('name', 'Name', column_util.LIST_BOTH), + ('port_chains', 'Branching Points', column_util.LIST_BOTH), + ('description', 'Description', column_util.LIST_LONG_ONLY), + ('project_id', 'Project', column_util.LIST_LONG_ONLY), ) @@ -62,7 +62,7 @@ class CreateSfcServiceGraph(command.ShowOne): try: body = {resource: attrs} obj = client.create_sfc_service_graph(body)[resource] - columns, display_columns = nc_osc_utils.get_columns(obj, _attr_map) + columns, display_columns = column_util.get_columns(obj, _attr_map) data = utils.get_dict_properties(obj, columns) return display_columns, data except Exception as e: @@ -140,7 +140,7 @@ class ListSfcServiceGraph(command.Lister): def take_action(self, parsed_args): client = self.app.client_manager.neutronclient data = client.list_sfc_service_graphs() - headers, columns = nc_osc_utils.get_column_definitions( + headers, columns = column_util.get_column_definitions( _attr_map, long_listing=parsed_args.long) return (headers, (utils.get_dict_properties(s, columns) @@ -163,7 +163,7 @@ class ShowSfcServiceGraph(command.ShowOne): client = self.app.client_manager.neutronclient sg_id = _get_id(client, parsed_args.service_graph, resource) obj = client.show_sfc_service_graph(sg_id)[resource] - columns, display_columns = nc_osc_utils.get_columns(obj, _attr_map) + columns, display_columns = column_util.get_columns(obj, _attr_map) data = utils.get_dict_properties(obj, columns) return display_columns, data diff --git a/neutronclient/osc/v2/vpnaas/endpoint_group.py b/neutronclient/osc/v2/vpnaas/endpoint_group.py index 269da97ea..668b3d80a 100644 --- a/neutronclient/osc/v2/vpnaas/endpoint_group.py +++ b/neutronclient/osc/v2/vpnaas/endpoint_group.py @@ -17,6 +17,7 @@ from osc_lib.command import command from osc_lib import exceptions from osc_lib import utils +from osc_lib.utils import columns as column_util from oslo_log import log as logging from neutronclient._i18n import _ @@ -26,12 +27,12 @@ from neutronclient.osc import utils as osc_utils LOG = logging.getLogger(__name__) _attr_map = ( - ('id', 'ID', osc_utils.LIST_BOTH), - ('name', 'Name', osc_utils.LIST_BOTH), - ('type', 'Type', osc_utils.LIST_BOTH), - ('endpoints', 'Endpoints', osc_utils.LIST_BOTH), - ('description', 'Description', osc_utils.LIST_LONG_ONLY), - ('tenant_id', 'Project', osc_utils.LIST_LONG_ONLY), + ('id', 'ID', column_util.LIST_BOTH), + ('name', 'Name', column_util.LIST_BOTH), + ('type', 'Type', column_util.LIST_BOTH), + ('endpoints', 'Endpoints', column_util.LIST_BOTH), + ('description', 'Description', column_util.LIST_LONG_ONLY), + ('tenant_id', 'Project', column_util.LIST_LONG_ONLY), ) @@ -98,7 +99,7 @@ class CreateEndpointGroup(command.ShowOne): attrs['endpoints'] = parsed_args.endpoints obj = client.create_endpoint_group( {'endpoint_group': attrs})['endpoint_group'] - columns, display_columns = osc_utils.get_columns(obj, _attr_map) + columns, display_columns = column_util.get_columns(obj, _attr_map) data = utils.get_dict_properties(obj, columns) return display_columns, data @@ -154,7 +155,7 @@ class ListEndpointGroup(command.Lister): def take_action(self, parsed_args): client = self.app.client_manager.neutronclient obj = client.list_endpoint_groups()['endpoint_groups'] - headers, columns = osc_utils.get_column_definitions( + headers, columns = column_util.get_column_definitions( _attr_map, long_listing=parsed_args.long) return (headers, (utils.get_dict_properties(s, columns) for s in obj)) @@ -211,6 +212,6 @@ class ShowEndpointGroup(command.ShowOne): 'endpoint_group', parsed_args.endpoint_group, cmd_resource='endpoint_group')['id'] obj = client.show_endpoint_group(endpoint_id)['endpoint_group'] - columns, display_columns = osc_utils.get_columns(obj, _attr_map) + columns, display_columns = column_util.get_columns(obj, _attr_map) data = utils.get_dict_properties(obj, columns) return (display_columns, data) diff --git a/neutronclient/osc/v2/vpnaas/ikepolicy.py b/neutronclient/osc/v2/vpnaas/ikepolicy.py index 28e6f6088..eb598ead2 100644 --- a/neutronclient/osc/v2/vpnaas/ikepolicy.py +++ b/neutronclient/osc/v2/vpnaas/ikepolicy.py @@ -17,6 +17,7 @@ from osc_lib.command import command from osc_lib import exceptions from osc_lib import utils +from osc_lib.utils import columns as column_util from oslo_log import log as logging from neutronclient._i18n import _ @@ -28,17 +29,17 @@ from neutronclient.osc.v2.vpnaas import utils as vpn_utils LOG = logging.getLogger(__name__) _attr_map = ( - ('id', 'ID', osc_utils.LIST_BOTH), - ('name', 'Name', osc_utils.LIST_BOTH), - ('auth_algorithm', 'Authentication Algorithm', osc_utils.LIST_BOTH), - ('encryption_algorithm', 'Encryption Algorithm', osc_utils.LIST_BOTH), - ('ike_version', 'IKE Version', osc_utils.LIST_BOTH), - ('pfs', 'Perfect Forward Secrecy (PFS)', osc_utils.LIST_BOTH), - ('description', 'Description', osc_utils.LIST_LONG_ONLY), + ('id', 'ID', column_util.LIST_BOTH), + ('name', 'Name', column_util.LIST_BOTH), + ('auth_algorithm', 'Authentication Algorithm', column_util.LIST_BOTH), + ('encryption_algorithm', 'Encryption Algorithm', column_util.LIST_BOTH), + ('ike_version', 'IKE Version', column_util.LIST_BOTH), + ('pfs', 'Perfect Forward Secrecy (PFS)', column_util.LIST_BOTH), + ('description', 'Description', column_util.LIST_LONG_ONLY), ('phase1_negotiation_mode', 'Phase1 Negotiation Mode', - osc_utils.LIST_LONG_ONLY), - ('tenant_id', 'Project', osc_utils.LIST_LONG_ONLY), - ('lifetime', 'Lifetime', osc_utils.LIST_LONG_ONLY), + column_util.LIST_LONG_ONLY), + ('tenant_id', 'Project', column_util.LIST_LONG_ONLY), + ('lifetime', 'Lifetime', column_util.LIST_LONG_ONLY), ) @@ -130,7 +131,7 @@ class CreateIKEPolicy(command.ShowOne): if parsed_args.name: attrs['name'] = str(parsed_args.name) obj = client.create_ikepolicy({'ikepolicy': attrs})['ikepolicy'] - columns, display_columns = osc_utils.get_columns(obj, _attr_map) + columns, display_columns = column_util.get_columns(obj, _attr_map) data = utils.get_dict_properties(obj, columns) return display_columns, data @@ -183,7 +184,7 @@ class ListIKEPolicy(command.Lister): def take_action(self, parsed_args): client = self.app.client_manager.neutronclient obj = client.list_ikepolicies()['ikepolicies'] - headers, columns = osc_utils.get_column_definitions( + headers, columns = column_util.get_column_definitions( _attr_map, long_listing=parsed_args.long) return (headers, (utils.get_dict_properties(s, columns) for s in obj)) @@ -238,6 +239,6 @@ class ShowIKEPolicy(command.ShowOne): 'ikepolicy', parsed_args.ikepolicy, cmd_resource='ikepolicy')['id'] obj = client.show_ikepolicy(ike_id)['ikepolicy'] - columns, display_columns = osc_utils.get_columns(obj, _attr_map) + columns, display_columns = column_util.get_columns(obj, _attr_map) data = utils.get_dict_properties(obj, columns) return (display_columns, data) diff --git a/neutronclient/osc/v2/vpnaas/ipsec_site_connection.py b/neutronclient/osc/v2/vpnaas/ipsec_site_connection.py index 8dd98a9e4..4a861f081 100644 --- a/neutronclient/osc/v2/vpnaas/ipsec_site_connection.py +++ b/neutronclient/osc/v2/vpnaas/ipsec_site_connection.py @@ -18,6 +18,7 @@ from osc_lib.cli import format_columns from osc_lib.command import command from osc_lib import exceptions from osc_lib import utils +from osc_lib.utils import columns as column_util from oslo_log import log as logging from neutronclient._i18n import _ @@ -35,26 +36,27 @@ _formatters = { _attr_map = ( - ('id', 'ID', osc_utils.LIST_BOTH), - ('name', 'Name', osc_utils.LIST_BOTH), - ('peer_address', 'Peer Address', osc_utils.LIST_BOTH), - ('auth_mode', 'Authentication Algorithm', osc_utils.LIST_BOTH), - ('status', 'Status', osc_utils.LIST_BOTH), - ('tenant_id', 'Project', osc_utils.LIST_LONG_ONLY), - ('peer_cidrs', 'Peer CIDRs', osc_utils.LIST_LONG_ONLY), - ('vpnservice_id', 'VPN Service', osc_utils.LIST_LONG_ONLY), - ('ipsecpolicy_id', 'IPSec Policy', osc_utils.LIST_LONG_ONLY), - ('ikepolicy_id', 'IKE Policy', osc_utils.LIST_LONG_ONLY), - ('mtu', 'MTU', osc_utils.LIST_LONG_ONLY), - ('initiator', 'Initiator', osc_utils.LIST_LONG_ONLY), - ('admin_state_up', 'State', osc_utils.LIST_LONG_ONLY), - ('description', 'Description', osc_utils.LIST_LONG_ONLY), - ('psk', 'Pre-shared Key', osc_utils.LIST_LONG_ONLY), - ('route_mode', 'Route Mode', osc_utils.LIST_LONG_ONLY), - ('local_id', 'Local ID', osc_utils.LIST_LONG_ONLY), - ('peer_id', 'Peer ID', osc_utils.LIST_LONG_ONLY), - ('local_ep_group_id', 'Local Endpoint Group ID', osc_utils.LIST_LONG_ONLY), - ('peer_ep_group_id', 'Peer Endpoint Group ID', osc_utils.LIST_LONG_ONLY), + ('id', 'ID', column_util.LIST_BOTH), + ('name', 'Name', column_util.LIST_BOTH), + ('peer_address', 'Peer Address', column_util.LIST_BOTH), + ('auth_mode', 'Authentication Algorithm', column_util.LIST_BOTH), + ('status', 'Status', column_util.LIST_BOTH), + ('tenant_id', 'Project', column_util.LIST_LONG_ONLY), + ('peer_cidrs', 'Peer CIDRs', column_util.LIST_LONG_ONLY), + ('vpnservice_id', 'VPN Service', column_util.LIST_LONG_ONLY), + ('ipsecpolicy_id', 'IPSec Policy', column_util.LIST_LONG_ONLY), + ('ikepolicy_id', 'IKE Policy', column_util.LIST_LONG_ONLY), + ('mtu', 'MTU', column_util.LIST_LONG_ONLY), + ('initiator', 'Initiator', column_util.LIST_LONG_ONLY), + ('admin_state_up', 'State', column_util.LIST_LONG_ONLY), + ('description', 'Description', column_util.LIST_LONG_ONLY), + ('psk', 'Pre-shared Key', column_util.LIST_LONG_ONLY), + ('route_mode', 'Route Mode', column_util.LIST_LONG_ONLY), + ('local_id', 'Local ID', column_util.LIST_LONG_ONLY), + ('peer_id', 'Peer ID', column_util.LIST_LONG_ONLY), + ('local_ep_group_id', 'Local Endpoint Group ID', + column_util.LIST_LONG_ONLY), + ('peer_ep_group_id', 'Peer Endpoint Group ID', column_util.LIST_LONG_ONLY), ) @@ -239,7 +241,7 @@ class CreateIPsecSiteConnection(command.ShowOne): raise exceptions.CommandError(message) obj = client.create_ipsec_site_connection( {'ipsec_site_connection': attrs})['ipsec_site_connection'] - columns, display_columns = osc_utils.get_columns(obj, _attr_map) + columns, display_columns = column_util.get_columns(obj, _attr_map) data = utils.get_dict_properties(obj, columns, formatters=_formatters) return display_columns, data @@ -296,7 +298,7 @@ class ListIPsecSiteConnection(command.Lister): def take_action(self, parsed_args): client = self.app.client_manager.neutronclient obj = client.list_ipsec_site_connections()['ipsec_site_connections'] - headers, columns = osc_utils.get_column_definitions( + headers, columns = column_util.get_column_definitions( _attr_map, long_listing=parsed_args.long) return (headers, (utils.get_dict_properties( s, columns, formatters=_formatters) for s in obj)) @@ -367,6 +369,6 @@ class ShowIPsecSiteConnection(command.ShowOne): cmd_resource='ipsec_site_connection')['id'] obj = client.show_ipsec_site_connection( ipsec_site_id)['ipsec_site_connection'] - columns, display_columns = osc_utils.get_columns(obj, _attr_map) + columns, display_columns = column_util.get_columns(obj, _attr_map) data = utils.get_dict_properties(obj, columns, formatters=_formatters) return (display_columns, data) diff --git a/neutronclient/osc/v2/vpnaas/ipsecpolicy.py b/neutronclient/osc/v2/vpnaas/ipsecpolicy.py index 43599f328..2c80543e7 100644 --- a/neutronclient/osc/v2/vpnaas/ipsecpolicy.py +++ b/neutronclient/osc/v2/vpnaas/ipsecpolicy.py @@ -17,6 +17,7 @@ from osc_lib.command import command from osc_lib import exceptions from osc_lib import utils +from osc_lib.utils import columns as column_util from oslo_log import log as logging from neutronclient._i18n import _ @@ -28,16 +29,16 @@ from neutronclient.osc.v2.vpnaas import utils as vpn_utils LOG = logging.getLogger(__name__) _attr_map = ( - ('id', 'ID', osc_utils.LIST_BOTH), - ('name', 'Name', osc_utils.LIST_BOTH), - ('auth_algorithm', 'Authentication Algorithm', osc_utils.LIST_BOTH), - ('encapsulation_mode', 'Encapsulation Mode', osc_utils.LIST_BOTH), - ('transform_protocol', 'Transform Protocol', osc_utils.LIST_BOTH), - ('encryption_algorithm', 'Encryption Algorithm', osc_utils.LIST_BOTH), - ('pfs', 'Perfect Forward Secrecy (PFS)', osc_utils.LIST_LONG_ONLY), - ('description', 'Description', osc_utils.LIST_LONG_ONLY), - ('tenant_id', 'Project', osc_utils.LIST_LONG_ONLY), - ('lifetime', 'Lifetime', osc_utils.LIST_LONG_ONLY), + ('id', 'ID', column_util.LIST_BOTH), + ('name', 'Name', column_util.LIST_BOTH), + ('auth_algorithm', 'Authentication Algorithm', column_util.LIST_BOTH), + ('encapsulation_mode', 'Encapsulation Mode', column_util.LIST_BOTH), + ('transform_protocol', 'Transform Protocol', column_util.LIST_BOTH), + ('encryption_algorithm', 'Encryption Algorithm', column_util.LIST_BOTH), + ('pfs', 'Perfect Forward Secrecy (PFS)', column_util.LIST_LONG_ONLY), + ('description', 'Description', column_util.LIST_LONG_ONLY), + ('tenant_id', 'Project', column_util.LIST_LONG_ONLY), + ('lifetime', 'Lifetime', column_util.LIST_LONG_ONLY), ) @@ -128,7 +129,7 @@ class CreateIPsecPolicy(command.ShowOne): if parsed_args.name: attrs['name'] = str(parsed_args.name) obj = client.create_ipsecpolicy({'ipsecpolicy': attrs})['ipsecpolicy'] - columns, display_columns = osc_utils.get_columns(obj, _attr_map) + columns, display_columns = column_util.get_columns(obj, _attr_map) data = utils.get_dict_properties(obj, columns) return display_columns, data @@ -182,7 +183,7 @@ class ListIPsecPolicy(command.Lister): def take_action(self, parsed_args): client = self.app.client_manager.neutronclient obj = client.list_ipsecpolicies()['ipsecpolicies'] - headers, columns = osc_utils.get_column_definitions( + headers, columns = column_util.get_column_definitions( _attr_map, long_listing=parsed_args.long) return (headers, (utils.get_dict_properties(s, columns) for s in obj)) @@ -237,6 +238,6 @@ class ShowIPsecPolicy(command.ShowOne): 'ipsecpolicy', parsed_args.ipsecpolicy, cmd_resource='ipsecpolicy')['id'] obj = client.show_ipsecpolicy(ipsec_id)['ipsecpolicy'] - columns, display_columns = osc_utils.get_columns(obj, _attr_map) + columns, display_columns = column_util.get_columns(obj, _attr_map) data = utils.get_dict_properties(obj, columns) return (display_columns, data) diff --git a/neutronclient/osc/v2/vpnaas/vpnservice.py b/neutronclient/osc/v2/vpnaas/vpnservice.py index 2120a14fb..3d5b10e7d 100644 --- a/neutronclient/osc/v2/vpnaas/vpnservice.py +++ b/neutronclient/osc/v2/vpnaas/vpnservice.py @@ -17,6 +17,7 @@ from osc_lib.command import command from osc_lib import exceptions from osc_lib import utils +from osc_lib.utils import columns as column_util from oslo_log import log as logging from neutronclient._i18n import _ @@ -26,15 +27,15 @@ from neutronclient.osc import utils as osc_utils LOG = logging.getLogger(__name__) _attr_map = ( - ('id', 'ID', osc_utils.LIST_BOTH), - ('name', 'Name', osc_utils.LIST_BOTH), - ('router_id', 'Router', osc_utils.LIST_BOTH), - ('subnet_id', 'Subnet', osc_utils.LIST_BOTH), - ('flavor_id', 'Flavor', osc_utils.LIST_BOTH), - ('admin_state_up', 'State', osc_utils.LIST_BOTH), - ('status', 'Status', osc_utils.LIST_BOTH), - ('description', 'Description', osc_utils.LIST_LONG_ONLY), - ('tenant_id', 'Project', osc_utils.LIST_LONG_ONLY), + ('id', 'ID', column_util.LIST_BOTH), + ('name', 'Name', column_util.LIST_BOTH), + ('router_id', 'Router', column_util.LIST_BOTH), + ('subnet_id', 'Subnet', column_util.LIST_BOTH), + ('flavor_id', 'Flavor', column_util.LIST_BOTH), + ('admin_state_up', 'State', column_util.LIST_BOTH), + ('status', 'Status', column_util.LIST_BOTH), + ('description', 'Description', column_util.LIST_LONG_ONLY), + ('tenant_id', 'Project', column_util.LIST_LONG_ONLY), ) @@ -121,7 +122,7 @@ class CreateVPNService(command.ShowOne): parsed_args.router).id attrs['router_id'] = _router_id obj = client.create_vpnservice({'vpnservice': attrs})['vpnservice'] - columns, display_columns = osc_utils.get_columns(obj, _attr_map) + columns, display_columns = column_util.get_columns(obj, _attr_map) data = utils.get_dict_properties(obj, columns) return display_columns, data @@ -175,7 +176,7 @@ class ListVPNService(command.Lister): def take_action(self, parsed_args): client = self.app.client_manager.neutronclient obj = client.list_vpnservices()['vpnservices'] - headers, columns = osc_utils.get_column_definitions( + headers, columns = column_util.get_column_definitions( _attr_map, long_listing=parsed_args.long) return (headers, (utils.get_dict_properties(s, columns) for s in obj)) @@ -230,6 +231,6 @@ class ShowVPNService(command.ShowOne): 'vpnservice', parsed_args.vpnservice, cmd_resource='vpnservice')['id'] obj = client.show_vpnservice(vpn_id)['vpnservice'] - columns, display_columns = osc_utils.get_columns(obj, _attr_map) + columns, display_columns = column_util.get_columns(obj, _attr_map) data = utils.get_dict_properties(obj, columns) return (display_columns, data) diff --git a/neutronclient/tests/unit/osc/test_utils.py b/neutronclient/tests/unit/osc/test_utils.py deleted file mode 100644 index c9857beda..000000000 --- a/neutronclient/tests/unit/osc/test_utils.py +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright 2016 NEC Corporation -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -import testtools - -from neutronclient.osc import utils - - -class TestUtils(testtools.TestCase): - - def test_get_column_definitions(self): - attr_map = ( - ('id', 'ID', utils.LIST_BOTH), - ('tenant_id', 'Project', utils.LIST_LONG_ONLY), - ('name', 'Name', utils.LIST_BOTH), - ('summary', 'Summary', utils.LIST_SHORT_ONLY), - ) - headers, columns = utils.get_column_definitions(attr_map, - long_listing=False) - self.assertEqual(['id', 'name', 'summary'], columns) - self.assertEqual(['ID', 'Name', 'Summary'], headers) - - def test_get_column_definitions_long(self): - attr_map = ( - ('id', 'ID', utils.LIST_BOTH), - ('tenant_id', 'Project', utils.LIST_LONG_ONLY), - ('name', 'Name', utils.LIST_BOTH), - ('summary', 'Summary', utils.LIST_SHORT_ONLY), - ) - headers, columns = utils.get_column_definitions(attr_map, - long_listing=True) - self.assertEqual(['id', 'tenant_id', 'name'], columns) - self.assertEqual(['ID', 'Project', 'Name'], headers) - - def test_get_columns(self): - item = { - 'id': 'test-id', - 'tenant_id': 'test-tenant_id', - # 'name' is not included - 'foo': 'bar', # unknown attribute - } - attr_map = ( - ('id', 'ID', utils.LIST_BOTH), - ('tenant_id', 'Project', utils.LIST_LONG_ONLY), - ('name', 'Name', utils.LIST_BOTH), - ) - columns, display_names = utils.get_columns(item, attr_map) - self.assertEqual(tuple(['id', 'tenant_id', 'foo']), columns) - self.assertEqual(tuple(['ID', 'Project', 'foo']), display_names) diff --git a/neutronclient/tests/unit/osc/v2/networking_bgpvpn/fakes.py b/neutronclient/tests/unit/osc/v2/networking_bgpvpn/fakes.py index 1b8c4c008..21b9a762b 100644 --- a/neutronclient/tests/unit/osc/v2/networking_bgpvpn/fakes.py +++ b/neutronclient/tests/unit/osc/v2/networking_bgpvpn/fakes.py @@ -17,6 +17,7 @@ import copy import mock +from osc_lib.utils import columns as column_util from neutronclient.osc import utils as nc_osc_utils from neutronclient.osc.v2.networking_bgpvpn import constants @@ -106,10 +107,10 @@ class BgpvpnFakeAssoc(object): _resource_plural = '%ss' % _resource _attr_map = ( - ('id', 'ID', nc_osc_utils.LIST_BOTH), - ('tenant_id', 'Project', nc_osc_utils.LIST_LONG_ONLY), + ('id', 'ID', column_util.LIST_BOTH), + ('tenant_id', 'Project', column_util.LIST_LONG_ONLY), ('%s_id' % _assoc_res_name, '%s ID' % _assoc_res_name.capitalize(), - nc_osc_utils.LIST_BOTH), + column_util.LIST_BOTH), ) _formatters = {} diff --git a/neutronclient/tests/unit/osc/v2/networking_bgpvpn/test_bgpvpn.py b/neutronclient/tests/unit/osc/v2/networking_bgpvpn/test_bgpvpn.py index 62316d472..14b6bb1a5 100644 --- a/neutronclient/tests/unit/osc/v2/networking_bgpvpn/test_bgpvpn.py +++ b/neutronclient/tests/unit/osc/v2/networking_bgpvpn/test_bgpvpn.py @@ -20,25 +20,25 @@ import operator import mock from osc_lib import exceptions from osc_lib import utils as osc_utils +from osc_lib.utils import columns as column_util -from neutronclient.osc import utils as nc_osc_utils from neutronclient.osc.v2.networking_bgpvpn import bgpvpn from neutronclient.osc.v2.networking_bgpvpn import constants from neutronclient.tests.unit.osc.v2.networking_bgpvpn import fakes columns_short = tuple(col for col, _, listing_mode in bgpvpn._attr_map - if listing_mode in (nc_osc_utils.LIST_BOTH, - nc_osc_utils.LIST_SHORT_ONLY)) + if listing_mode in (column_util.LIST_BOTH, + column_util.LIST_SHORT_ONLY)) columns_long = tuple(col for col, _, listing_mode in bgpvpn._attr_map - if listing_mode in (nc_osc_utils.LIST_BOTH, - nc_osc_utils.LIST_LONG_ONLY)) + if listing_mode in (column_util.LIST_BOTH, + column_util.LIST_LONG_ONLY)) headers_short = tuple(head for _, head, listing_mode in bgpvpn._attr_map - if listing_mode in (nc_osc_utils.LIST_BOTH, - nc_osc_utils.LIST_SHORT_ONLY)) + if listing_mode in (column_util.LIST_BOTH, + column_util.LIST_SHORT_ONLY)) headers_long = tuple(head for _, head, listing_mode in bgpvpn._attr_map - if listing_mode in (nc_osc_utils.LIST_BOTH, - nc_osc_utils.LIST_LONG_ONLY)) + if listing_mode in (column_util.LIST_BOTH, + column_util.LIST_LONG_ONLY)) sorted_attr_map = sorted(bgpvpn._attr_map, key=operator.itemgetter(1)) sorted_columns = tuple(col for col, _, _ in sorted_attr_map) sorted_headers = tuple(head for _, head, _ in sorted_attr_map) diff --git a/neutronclient/tests/unit/osc/v2/networking_bgpvpn/test_resource_association.py b/neutronclient/tests/unit/osc/v2/networking_bgpvpn/test_resource_association.py index 49be9f452..926001742 100644 --- a/neutronclient/tests/unit/osc/v2/networking_bgpvpn/test_resource_association.py +++ b/neutronclient/tests/unit/osc/v2/networking_bgpvpn/test_resource_association.py @@ -20,27 +20,27 @@ import operator import mock from osc_lib import exceptions from osc_lib import utils as osc_utils +from osc_lib.utils import columns as column_util -from neutronclient.osc import utils as nc_osc_utils from neutronclient.tests.unit.osc.v2.networking_bgpvpn import fakes columns_short = tuple(col for col, _, listing_mode in fakes.BgpvpnFakeAssoc._attr_map - if listing_mode in (nc_osc_utils.LIST_BOTH, - nc_osc_utils.LIST_SHORT_ONLY)) + if listing_mode in (column_util.LIST_BOTH, + column_util.LIST_SHORT_ONLY)) columns_long = tuple(col for col, _, listing_mode in fakes.BgpvpnFakeAssoc._attr_map - if listing_mode in (nc_osc_utils.LIST_BOTH, - nc_osc_utils.LIST_LONG_ONLY)) + if listing_mode in (column_util.LIST_BOTH, + column_util.LIST_LONG_ONLY)) headers_short = tuple(head for _, head, listing_mode in fakes.BgpvpnFakeAssoc._attr_map - if listing_mode in (nc_osc_utils.LIST_BOTH, - nc_osc_utils.LIST_SHORT_ONLY)) + if listing_mode in (column_util.LIST_BOTH, + column_util.LIST_SHORT_ONLY)) headers_long = tuple(head for _, head, listing_mode in fakes.BgpvpnFakeAssoc._attr_map - if listing_mode in (nc_osc_utils.LIST_BOTH, - nc_osc_utils.LIST_LONG_ONLY)) + if listing_mode in (column_util.LIST_BOTH, + column_util.LIST_LONG_ONLY)) sorted_attr_map = sorted(fakes.BgpvpnFakeAssoc._attr_map, key=operator.itemgetter(1)) sorted_columns = tuple(col for col, _, _ in sorted_attr_map)