summaryrefslogtreecommitdiff
path: root/openstackclient
diff options
context:
space:
mode:
authorThobias Salazar Trevisan <thobiast@gmail.com>2021-11-25 16:23:10 -0300
committerThobias Salazar Trevisan <thobiast@gmail.com>2022-03-15 08:56:59 -0300
commite91e0e001c8c46f33f0a67860e78b6bc285b4ecb (patch)
tree35256c788f1bfabda76878300e67aac21d5da363 /openstackclient
parentc9b84106c3a1bd9fe23894d668a8b1533125206e (diff)
downloadpython-openstackclient-e91e0e001c8c46f33f0a67860e78b6bc285b4ecb.tar.gz
compute: Add 'Security Groups' for 'server list'
Add a column with security groups name for --long option on server list. Change-Id: I7062f224e18c3c8ac96a06d7ce97f9fab473bdb9
Diffstat (limited to 'openstackclient')
-rw-r--r--openstackclient/compute/v2/server.py11
-rw-r--r--openstackclient/tests/unit/compute/v2/test_server.py2
2 files changed, 13 insertions, 0 deletions
diff --git a/openstackclient/compute/v2/server.py b/openstackclient/compute/v2/server.py
index 47c9c826..69aaa3c5 100644
--- a/openstackclient/compute/v2/server.py
+++ b/openstackclient/compute/v2/server.py
@@ -2455,6 +2455,9 @@ class ListServer(command.Lister):
if c in ('Created At', 'created_at'):
columns += ('created',)
column_headers += ('Created At',)
+ if c in ('Security Groups', 'security_groups'):
+ columns += ('security_groups_name',)
+ column_headers += ('Security Groups',)
# convert back to tuple
column_headers = tuple(column_headers)
@@ -2559,6 +2562,13 @@ class ListServer(command.Lister):
else:
s.flavor_name = s.flavor['original_name']
+ # Add a list with security group name as attribute
+ for s in data:
+ if hasattr(s, 'security_groups'):
+ s.security_groups_name = [x["name"] for x in s.security_groups]
+ else:
+ s.security_groups_name = []
+
table = (
column_headers,
(
@@ -2574,6 +2584,7 @@ class ListServer(command.Lister):
'OS-EXT-STS:power_state': PowerStateColumn,
'networks': format_columns.DictListColumn,
'metadata': format_columns.DictColumn,
+ 'security_groups_name': format_columns.ListColumn,
},
) for s in data
),
diff --git a/openstackclient/tests/unit/compute/v2/test_server.py b/openstackclient/tests/unit/compute/v2/test_server.py
index 18878109..46ace579 100644
--- a/openstackclient/tests/unit/compute/v2/test_server.py
+++ b/openstackclient/tests/unit/compute/v2/test_server.py
@@ -4485,6 +4485,7 @@ class TestServerList(_TestServerList):
'-c', 'Project ID',
'-c', 'User ID',
'-c', 'Created At',
+ '-c', 'Security Groups',
'--long'
]
verifylist = [
@@ -4498,6 +4499,7 @@ class TestServerList(_TestServerList):
self.assertIn('Project ID', columns)
self.assertIn('User ID', columns)
self.assertIn('Created At', columns)
+ self.assertIn('Security Groups', columns)
def test_server_list_no_name_lookup_option(self):
self.data = tuple(