diff options
| author | Zuul <zuul@review.opendev.org> | 2020-09-25 09:44:40 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2020-09-25 09:44:41 +0000 |
| commit | 03b921631816ef3e6c41a87bc90259ec75176eea (patch) | |
| tree | 2b788d835e7fcca1afc6f7474c924ac3d96d0806 /openstackclient/compute | |
| parent | 51aee432d96c0291d01419c3db2248114d176fdd (diff) | |
| parent | bae89b30144fdf40d0fea31e1a595b507e32c4f3 (diff) | |
| download | python-openstackclient-03b921631816ef3e6c41a87bc90259ec75176eea.tar.gz | |
Merge "Output correct json for security groups in 'openstack server show'"
Diffstat (limited to 'openstackclient/compute')
| -rw-r--r-- | openstackclient/compute/v2/server.py | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/openstackclient/compute/v2/server.py b/openstackclient/compute/v2/server.py index 93e9f966..b3b0b7be 100644 --- a/openstackclient/compute/v2/server.py +++ b/openstackclient/compute/v2/server.py @@ -24,6 +24,7 @@ import os from novaclient import api_versions from novaclient.v2 import servers from openstack import exceptions as sdk_exceptions +from osc_lib.cli import format_columns from osc_lib.cli import parseractions from osc_lib.command import command from osc_lib import exceptions @@ -166,14 +167,14 @@ def _prep_server_detail(compute_client, image_client, server, refresh=True): if 'os-extended-volumes:volumes_attached' in info: info.update( { - 'volumes_attached': utils.format_list_of_dicts( + 'volumes_attached': format_columns.ListDictColumn( info.pop('os-extended-volumes:volumes_attached')) } ) if 'security_groups' in info: info.update( { - 'security_groups': utils.format_list_of_dicts( + 'security_groups': format_columns.ListDictColumn( info.pop('security_groups')) } ) @@ -182,9 +183,14 @@ def _prep_server_detail(compute_client, image_client, server, refresh=True): info['addresses'] = _format_servers_list_networks(server.networks) # Map 'metadata' field to 'properties' - info.update( - {'properties': utils.format_dict(info.pop('metadata'))} - ) + if not info['metadata']: + info.update( + {'properties': utils.format_dict(info.pop('metadata'))} + ) + else: + info.update( + {'properties': format_columns.DictColumn(info.pop('metadata'))} + ) # Migrate tenant_id to project_id naming if 'tenant_id' in info: @@ -2530,7 +2536,6 @@ class ShowServer(command.ShowOne): data = _prep_server_detail(compute_client, self.app.client_manager.image, server, refresh=False) - return zip(*sorted(data.items())) |
