From 10835a1886301d36ee77f0221b7b87476fe312cf Mon Sep 17 00:00:00 2001 From: JIHOJU Date: Mon, 11 Oct 2021 15:43:55 +0900 Subject: [PATCH] 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 --- openstackclient/compute/v2/server.py | 21 +++++++++++++++++++ .../tests/unit/compute/v2/test_server.py | 14 +++++++++++++ ...-server-list-columns-4e3b87929dd330f7.yaml | 16 ++++++++++++++ 3 files changed, 51 insertions(+) create mode 100644 releasenotes/notes/add-more-server-list-columns-4e3b87929dd330f7.yaml diff --git a/openstackclient/compute/v2/server.py b/openstackclient/compute/v2/server.py index 69aaa3c57b..4fe6590ded 100644 --- a/openstackclient/compute/v2/server.py +++ b/openstackclient/compute/v2/server.py @@ -2458,6 +2458,27 @@ class ListServer(command.Lister): if c in ('Security Groups', 'security_groups'): columns += ('security_groups_name',) 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 column_headers = tuple(column_headers) diff --git a/openstackclient/tests/unit/compute/v2/test_server.py b/openstackclient/tests/unit/compute/v2/test_server.py index 46ace57903..416364716f 100644 --- a/openstackclient/tests/unit/compute/v2/test_server.py +++ b/openstackclient/tests/unit/compute/v2/test_server.py @@ -4486,6 +4486,13 @@ class TestServerList(_TestServerList): '-c', 'User ID', '-c', 'Created At', '-c', 'Security Groups', + '-c', 'Task State', + '-c', 'Power State', + '-c', 'Image ID', + '-c', 'Flavor ID', + '-c', 'Availability Zone', + '-c', 'Host', + '-c', 'Properties', '--long' ] verifylist = [ @@ -4500,6 +4507,13 @@ class TestServerList(_TestServerList): self.assertIn('User ID', columns) self.assertIn('Created At', 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): self.data = tuple( diff --git a/releasenotes/notes/add-more-server-list-columns-4e3b87929dd330f7.yaml b/releasenotes/notes/add-more-server-list-columns-4e3b87929dd330f7.yaml new file mode 100644 index 0000000000..a4bf004362 --- /dev/null +++ b/releasenotes/notes/add-more-server-list-columns-4e3b87929dd330f7.yaml @@ -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. \ No newline at end of file