Merge "[cleanup] Remove old nova_client judge in NovaServer"

This commit is contained in:
Jenkins
2017-03-17 16:27:06 +00:00
committed by Gerrit Code Review
2 changed files with 1 additions and 37 deletions

View File

@@ -152,28 +152,7 @@ _nova_order = get_order(200)
class NovaServer(base.ResourceManager):
def list(self):
"""List all servers."""
if hasattr(self._manager().api, "api_version"):
# NOTE(andreykurilin): novaclient v2.27.0 includes ability to
# return all servers(see https://review.openstack.org/#/c/217101
# for more details). This release can be identified by presence
# of "api_version" property of ``novaclient.client.Client`` cls.
return self._manager().list(limit=-1)
else:
# FIXME(andreykurilin): Remove code below, when minimum version of
# novaclient in requirements will allow it.
# NOTE(andreykurilin): Nova API returns only limited number(
# 'osapi_max_limit' option in nova.conf) of servers, so we need
# to use 'marker' option to list all pages of servers.
result = []
marker = None
while True:
servers = self._manager().list(marker=marker)
if not servers:
break
result.extend(servers)
marker = servers[-1].id
return result
return self._manager().list(limit=-1)
def delete(self):
if getattr(self.raw_resource, "OS-EXT-STS:locked", False):

View File

@@ -96,21 +96,6 @@ class NovaServerTestCase(test.TestCase):
server._manager.return_value.list.assert_called_once_with(limit=-1)
def test_list_old_novaclient(self):
servers = [mock.MagicMock(), mock.MagicMock(), mock.MagicMock(),
mock.MagicMock()]
server = resources.NovaServer()
server._manager = mock.MagicMock()
server._manager.return_value.api = None
server._manager.return_value.list.side_effect = (
servers[:2], servers[2:4], [])
self.assertEqual(servers, server.list())
self.assertEqual(
[mock.call(marker=None), mock.call(marker=servers[1].id),
mock.call(marker=servers[3].id)],
server._manager.return_value.list.call_args_list)
def test_delete(self):
server = resources.NovaServer()
server.raw_resource = mock.Mock()