diff --git a/openstackclient/compute/v2/server.py b/openstackclient/compute/v2/server.py index 8c53315822..40c3c2a279 100644 --- a/openstackclient/compute/v2/server.py +++ b/openstackclient/compute/v2/server.py @@ -117,10 +117,7 @@ def _prep_server_detail(compute_client, server): """ info = server._info.copy() - # Call .get() to retrieve all of the server information - # as findall(name=blah) and REST /details are not the same - # and do not return flavor and image information. - server = compute_client.servers.get(info['id']) + server = utils.find_resource(compute_client.servers, info['id']) info.update(server._info) # Convert the image blob to a name diff --git a/openstackclient/tests/compute/v2/test_server.py b/openstackclient/tests/compute/v2/test_server.py index 903d0bff51..cc0ac05367 100644 --- a/openstackclient/tests/compute/v2/test_server.py +++ b/openstackclient/tests/compute/v2/test_server.py @@ -1451,14 +1451,12 @@ class TestServerGeneral(TestServer): @mock.patch('openstackclient.common.utils.find_resource') def test_prep_server_detail(self, find_resource): # Setup mock method return value. utils.find_resource() will be called - # twice in _prep_server_detail(): - # - The first time, return image info. - # - The second time, return flavor info. + # three times in _prep_server_detail(): + # - The first time, return server info. + # - The second time, return image info. + # - The third time, return flavor info. _image = image_fakes.FakeImage.create_one_image() _flavor = compute_fakes.FakeFlavor.create_one_flavor() - find_resource.side_effect = [_image, _flavor] - - # compute_client.servers.get() will be called once, return server info. server_info = { 'image': {u'id': _image.id}, 'flavor': {u'id': _flavor.id}, @@ -1467,7 +1465,7 @@ class TestServerGeneral(TestServer): 'links': u'http://xxx.yyy.com', } _server = compute_fakes.FakeServer.create_one_server(attrs=server_info) - self.servers_mock.get.return_value = _server + find_resource.side_effect = [_server, _image, _flavor] # Prepare result data. info = {