Merge "Skip calls to glance and nova when got no servers"

This commit is contained in:
Zuul 2018-07-11 16:02:40 +00:00 committed by Gerrit Code Review
commit e4bbc3ce4d
2 changed files with 21 additions and 2 deletions

View File

@ -1226,7 +1226,7 @@ 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.
if not parsed_args.no_name_lookup:
if data and not parsed_args.no_name_lookup:
try:
images_list = self.app.client_manager.image.images.list()
for i in images_list:
@ -1238,7 +1238,7 @@ class ListServer(command.Lister):
# 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.
if not parsed_args.no_name_lookup:
if data and not parsed_args.no_name_lookup:
try:
flavors_list = compute_client.flavors.list(is_public=None)
for i in flavors_list:

View File

@ -1947,6 +1947,25 @@ class TestServerList(TestServer):
self.assertEqual(self.columns, columns)
self.assertEqual(tuple(self.data), tuple(data))
def test_server_list_no_servers(self):
arglist = []
verifylist = [
('all_projects', False),
('long', False),
('deleted', False),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
self.servers_mock.list.return_value = []
self.data = ()
columns, data = self.cmd.take_action(parsed_args)
self.servers_mock.list.assert_called_with(**self.kwargs)
self.assertEqual(0, self.images_mock.list.call_count)
self.assertEqual(0, self.flavors_mock.list.call_count)
self.assertEqual(self.columns, columns)
self.assertEqual(tuple(self.data), tuple(data))
def test_server_list_long_option(self):
arglist = [
'--long',