Add more filter option of columns for server list -c COLUMN

In order to improve the convenient of use,
columns corresponding to the "--long" option has been added
so that it can be used in the filter.
Currently filterable columns include the following:
'ID', 'Name', 'Status', 'Networks', 'Image', 'Flavor'.

Story: 2009150
Task: 43113
Change-Id: I6760ca5da0e3707d1d746ae5eeec7d9162020d15
This commit is contained in:
JIHOJU 2021-10-11 15:43:55 +09:00 committed by Stephen Finucane
parent dabaec5a7b
commit 10835a1886
3 changed files with 51 additions and 0 deletions

View File

@ -2458,6 +2458,27 @@ class ListServer(command.Lister):
if c in ('Security Groups', 'security_groups'): if c in ('Security Groups', 'security_groups'):
columns += ('security_groups_name',) columns += ('security_groups_name',)
column_headers += ('Security Groups',) column_headers += ('Security Groups',)
if c in ("Task State", "task_state"):
columns += ('OS-EXT-STS:task_state',)
column_headers += ('Task State',)
if c in ("Power State", "power_state"):
columns += ('OS-EXT-STS:power_state',)
column_headers += ('Power State',)
if c in ("Image ID", "image_id"):
columns += ('Image ID',)
column_headers += ('Image ID',)
if c in ("Flavor ID", "flavor_id"):
columns += ('Flavor ID',)
column_headers += ('Flavor ID',)
if c in ('Availability Zone', "availability_zone"):
columns += ('OS-EXT-AZ:availability_zone',)
column_headers += ('Availability Zone',)
if c in ('Host', "host"):
columns += ('OS-EXT-SRV-ATTR:host',)
column_headers += ('Host',)
if c in ('Properties', "properties"):
columns += ('Metadata',)
column_headers += ('Properties',)
# convert back to tuple # convert back to tuple
column_headers = tuple(column_headers) column_headers = tuple(column_headers)

View File

@ -4486,6 +4486,13 @@ class TestServerList(_TestServerList):
'-c', 'User ID', '-c', 'User ID',
'-c', 'Created At', '-c', 'Created At',
'-c', 'Security Groups', '-c', 'Security Groups',
'-c', 'Task State',
'-c', 'Power State',
'-c', 'Image ID',
'-c', 'Flavor ID',
'-c', 'Availability Zone',
'-c', 'Host',
'-c', 'Properties',
'--long' '--long'
] ]
verifylist = [ verifylist = [
@ -4500,6 +4507,13 @@ class TestServerList(_TestServerList):
self.assertIn('User ID', columns) self.assertIn('User ID', columns)
self.assertIn('Created At', columns) self.assertIn('Created At', columns)
self.assertIn('Security Groups', columns) self.assertIn('Security Groups', columns)
self.assertIn('Task State', columns)
self.assertIn('Power State', columns)
self.assertIn('Image ID', columns)
self.assertIn('Flavor ID', columns)
self.assertIn('Availability Zone', columns)
self.assertIn('Host', columns)
self.assertIn('Properties', columns)
def test_server_list_no_name_lookup_option(self): def test_server_list_no_name_lookup_option(self):
self.data = tuple( self.data = tuple(

View File

@ -0,0 +1,16 @@
---
feature:
- |
The ``server list`` command now allows users to select the following
additional columns using the ``-c COLUMN`` option:
- Task State
- Power State
- Image ID
- Flavor ID
- Availability Zone
- Host
- Properties
These correspond to columns displayed by default when using the ``--long``
option.