summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--novaclient/v1_1/shell.py7
-rw-r--r--novaclient/v3/shell.py7
2 files changed, 12 insertions, 2 deletions
diff --git a/novaclient/v1_1/shell.py b/novaclient/v1_1/shell.py
index 662cb51b..4f82b02c 100644
--- a/novaclient/v1_1/shell.py
+++ b/novaclient/v1_1/shell.py
@@ -1626,8 +1626,11 @@ def _print_server(cs, args, server=None):
flavor_id)
if 'security_groups' in info:
- info['security_groups'] = \
- ', '.join(group['name'] for group in info['security_groups'])
+ # when we have multiple nics the info will include the
+ # security groups N times where N == number of nics. Be nice
+ # and only display it once.
+ info['security_groups'] = ', '.join(
+ sorted(set(group['name'] for group in info['security_groups'])))
image = info.get('image', {})
if image:
diff --git a/novaclient/v3/shell.py b/novaclient/v3/shell.py
index a50e1a5a..15026604 100644
--- a/novaclient/v3/shell.py
+++ b/novaclient/v3/shell.py
@@ -1334,6 +1334,13 @@ def _print_server(cs, args, server=None):
info['flavor'] = '%s (%s)' % (_find_flavor(cs, flavor_id).name,
flavor_id)
+ if 'security_groups' in info:
+ # when we have multiple nics the info will include the
+ # security groups N times where N == number of nics. Be nice
+ # and only display it once.
+ info['security_groups'] = ', '.join(
+ sorted(set(group['name'] for group in info['security_groups'])))
+
image = info.get('image', {})
if image:
image_id = image.get('id', '')