From 6aceca218af7d1d2c708fde48f1a5f2b798bc421 Mon Sep 17 00:00:00 2001 From: Rui Chen Date: Fri, 20 Jan 2017 14:37:14 +0800 Subject: Replace "Display Name" by "Name" in volume list Current "volume list --name" command use "display_name" as search_opts to send to cinder API, and show the result table with "Display Name" column title in osc, cinder list API support "name" as search opts too, and there is "name" attribute in volume response body, so we can replace all "Display Name" by "Name" in order to keep "volume list" command consistent with other commands, like: server list, network list and so on, only use "Name" attribute for all objects. Support a mapping for volume list -c "Display Name" (Volume v1 and v2) and volume create/show -c "display_name" (Volume v1) for minimal backward compatibility until R release. Change-Id: I120be0118e7bb30093b4237c5eeb69a9eedef077 Closes-Bug: #1657956 Depends-On: I1fb62219b092346ea380099811cbd082cae5bafe --- openstackclient/volume/v1/volume.py | 24 ++++++++++++++++++++---- openstackclient/volume/v2/volume.py | 6 +++--- 2 files changed, 23 insertions(+), 7 deletions(-) (limited to 'openstackclient/volume') diff --git a/openstackclient/volume/v1/volume.py b/openstackclient/volume/v1/volume.py index 0121e059..b29429ef 100644 --- a/openstackclient/volume/v1/volume.py +++ b/openstackclient/volume/v1/volume.py @@ -211,8 +211,14 @@ class CreateVolume(command.ShowOne): 'type': volume._info.pop('volume_type'), }, ) + # Replace "display_name" by "name", keep consistent in v1 and v2 + if 'display_name' in volume._info: + volume._info.update({'name': volume._info.pop('display_name')}) + volume_info = utils.backward_compat_col_showone( + volume._info, parsed_args.columns, {'display_name': 'name'} + ) - return zip(*sorted(six.iteritems(volume._info))) + return zip(*sorted(six.iteritems(volume_info))) class DeleteVolume(command.Command): @@ -330,7 +336,7 @@ class ListVolume(command.Lister): ) column_headers = ( 'ID', - 'Display Name', + 'Name', 'Status', 'Size', 'Type', @@ -348,7 +354,7 @@ class ListVolume(command.Lister): ) column_headers = ( 'ID', - 'Display Name', + 'Name', 'Status', 'Size', 'Attached to', @@ -373,6 +379,8 @@ class ListVolume(command.Lister): search_opts=search_opts, limit=parsed_args.limit, ) + column_headers = utils.backward_compat_col_lister( + column_headers, parsed_args.columns, {'Display Name': 'Name'}) return (column_headers, (utils.get_item_properties( @@ -576,7 +584,15 @@ class ShowVolume(command.ShowOne): {'project_id': volume._info.pop( 'os-vol-tenant-attr:tenant_id')} ) - return zip(*sorted(six.iteritems(volume._info))) + # Replace "display_name" by "name", keep consistent in v1 and v2 + if 'display_name' in volume._info: + volume._info.update({'name': volume._info.pop('display_name')}) + + volume_info = utils.backward_compat_col_showone( + volume._info, parsed_args.columns, {'display_name': 'name'} + ) + + return zip(*sorted(six.iteritems(volume_info))) class UnsetVolume(command.Command): diff --git a/openstackclient/volume/v2/volume.py b/openstackclient/volume/v2/volume.py index 2b6c966d..61f846b0 100644 --- a/openstackclient/volume/v2/volume.py +++ b/openstackclient/volume/v2/volume.py @@ -387,7 +387,6 @@ class ListVolume(command.Lister): 'Metadata', ] column_headers = copy.deepcopy(columns) - column_headers[1] = 'Display Name' column_headers[4] = 'Type' column_headers[6] = 'Attached to' column_headers[7] = 'Properties' @@ -400,7 +399,6 @@ class ListVolume(command.Lister): 'Attachments', ] column_headers = copy.deepcopy(columns) - column_headers[1] = 'Display Name' column_headers[4] = 'Attached to' # Cache the server list @@ -432,7 +430,7 @@ class ListVolume(command.Lister): 'all_tenants': all_projects, 'project_id': project_id, 'user_id': user_id, - 'display_name': parsed_args.name, + 'name': parsed_args.name, 'status': parsed_args.status, } @@ -441,6 +439,8 @@ class ListVolume(command.Lister): marker=parsed_args.marker, limit=parsed_args.limit, ) + column_headers = utils.backward_compat_col_lister( + column_headers, parsed_args.columns, {'Display Name': 'Name'}) return (column_headers, (utils.get_item_properties( -- cgit v1.2.1