diff options
| author | Zuul <zuul@review.openstack.org> | 2018-07-11 16:02:40 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2018-07-11 16:02:40 +0000 |
| commit | e4bbc3ce4d8f38a2669be79d70d1384a56a91f10 (patch) | |
| tree | d546fa3c7fcaa452b5fa0574f36c987460a9fdae /openstackclient | |
| parent | 84755a81b517a766040e19aefc2be0ff786ab53b (diff) | |
| parent | b9fab849f7be93fa62e793ce68303a9473c54fa7 (diff) | |
| download | python-openstackclient-e4bbc3ce4d8f38a2669be79d70d1384a56a91f10.tar.gz | |
Merge "Skip calls to glance and nova when got no servers"
Diffstat (limited to 'openstackclient')
| -rw-r--r-- | openstackclient/compute/v2/server.py | 4 | ||||
| -rw-r--r-- | openstackclient/tests/unit/compute/v2/test_server.py | 19 |
2 files changed, 21 insertions, 2 deletions
diff --git a/openstackclient/compute/v2/server.py b/openstackclient/compute/v2/server.py index b82f895c..777f7744 100644 --- a/openstackclient/compute/v2/server.py +++ b/openstackclient/compute/v2/server.py @@ -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: diff --git a/openstackclient/tests/unit/compute/v2/test_server.py b/openstackclient/tests/unit/compute/v2/test_server.py index a53c6c81..46d4c241 100644 --- a/openstackclient/tests/unit/compute/v2/test_server.py +++ b/openstackclient/tests/unit/compute/v2/test_server.py @@ -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', |
