summaryrefslogtreecommitdiff
path: root/openstackclient/compute/v2
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2021-11-30 19:45:10 +0000
committerGerrit Code Review <review@openstack.org>2021-11-30 19:45:10 +0000
commit9eb42403d3aa4e0005c4914a20ce3e3dc53cbc22 (patch)
tree713b2c7d268ee4c2f2d969910e041ff9ce058868 /openstackclient/compute/v2
parentd9ad0b5d46d7b81ff564e8a1ea33ebeec212d7f7 (diff)
parent8e362402dee07744668bcf7f6774af4fbe9a07e3 (diff)
downloadpython-openstackclient-9eb42403d3aa4e0005c4914a20ce3e3dc53cbc22.tar.gz
Merge "compute: Show flavor in 'server list' with API >= 2.47"
Diffstat (limited to 'openstackclient/compute/v2')
-rw-r--r--openstackclient/compute/v2/server.py42
1 files changed, 22 insertions, 20 deletions
diff --git a/openstackclient/compute/v2/server.py b/openstackclient/compute/v2/server.py
index c2c4483f..fb13d305 100644
--- a/openstackclient/compute/v2/server.py
+++ b/openstackclient/compute/v2/server.py
@@ -2369,21 +2369,28 @@ class ListServer(command.Lister):
columns += ('image_name',)
column_headers += ('Image',)
- if parsed_args.long:
- columns += (
- 'flavor_name',
- 'flavor_id',
- )
- column_headers += (
- 'Flavor Name',
- 'Flavor ID',
- )
+ # microversion 2.47 puts the embedded flavor into the server response
+ # body but omits the id, so if not present we just expose the original
+ # flavor name in the output
+ if compute_client.api_version >= api_versions.APIVersion('2.47'):
+ columns += ('flavor_name',)
+ column_headers += ('Flavor',)
else:
- if parsed_args.no_name_lookup:
- columns += ('flavor_id',)
+ if parsed_args.long:
+ columns += (
+ 'flavor_name',
+ 'flavor_id',
+ )
+ column_headers += (
+ 'Flavor Name',
+ 'Flavor ID',
+ )
else:
- columns += ('flavor_name',)
- column_headers += ('Flavor',)
+ if parsed_args.no_name_lookup:
+ columns += ('flavor_id',)
+ else:
+ columns += ('flavor_name',)
+ column_headers += ('Flavor',)
if parsed_args.long:
columns += (
@@ -2507,18 +2514,13 @@ class ListServer(command.Lister):
s.image_name = IMAGE_STRING_FOR_BFV
s.image_id = IMAGE_STRING_FOR_BFV
- if 'id' in s.flavor:
+ if compute_client.api_version < api_versions.APIVersion('2.47'):
flavor = flavors.get(s.flavor['id'])
if flavor:
s.flavor_name = flavor.name
s.flavor_id = s.flavor['id']
else:
- # TODO(mriedem): Fix this for microversion >= 2.47 where the
- # flavor is embedded in the server response without the id.
- # We likely need to drop the Flavor ID column in that case if
- # --long is specified.
- s.flavor_name = ''
- s.flavor_id = ''
+ s.flavor_name = s.flavor['original_name']
table = (
column_headers,