diff options
Diffstat (limited to 'openstackclient/compute/v2')
| -rw-r--r-- | openstackclient/compute/v2/server.py | 45 |
1 files changed, 29 insertions, 16 deletions
diff --git a/openstackclient/compute/v2/server.py b/openstackclient/compute/v2/server.py index e8846d16..cb520d62 100644 --- a/openstackclient/compute/v2/server.py +++ b/openstackclient/compute/v2/server.py @@ -922,6 +922,12 @@ class ListServer(command.Lister): help=_('List additional fields in output'), ) parser.add_argument( + '-n', '--no-name-lookup', + action='store_true', + default=False, + help=_('Skip flavor and image name lookup.'), + ) + parser.add_argument( '--marker', metavar='<server>', default=None, @@ -1054,21 +1060,26 @@ class ListServer(command.Lister): 'OS-EXT-AZ:availability_zone', 'OS-EXT-SRV-ATTR:host', ] - else: + elif parsed_args.no_name_lookup: columns = ( 'ID', 'Name', 'Status', - 'Networks', - 'Image Name', + 'Image ID', + 'Flavor ID', ) - column_headers = ( + column_headers = tuple(columns) + mixed_case_fields = [] + + else: + columns = ( 'ID', 'Name', 'Status', 'Networks', 'Image Name', ) + column_headers = tuple(columns) mixed_case_fields = [] marker_id = None @@ -1084,23 +1095,25 @@ class ListServer(command.Lister): # Create a dict that maps image_id to image object. # Needed so that we can display the "Image Name" column. # "Image Name" is not crucial, so we swallow any exceptions. - try: - images_list = self.app.client_manager.image.images.list() - for i in images_list: - images[i.id] = i - except Exception: - pass + if not parsed_args.no_name_lookup: + try: + images_list = self.app.client_manager.image.images.list() + for i in images_list: + images[i.id] = i + except Exception: + pass flavors = {} # Create a dict that maps flavor_id to flavor object. # Needed so that we can display the "Flavor Name" column. # "Flavor Name" is not crucial, so we swallow any exceptions. - try: - flavors_list = compute_client.flavors.list() - for i in flavors_list: - flavors[i.id] = i - except Exception: - pass + if not parsed_args.no_name_lookup: + try: + flavors_list = compute_client.flavors.list() + for i in flavors_list: + flavors[i.id] = i + except Exception: + pass # Populate image_name, image_id, flavor_name and flavor_id attributes # of server objects so that we can display those columns. |
