Simplify handle_check in Nova server

The private method called from `handle_check` is not really needed.

Change-Id: I4e4c3638eccb1b24f6fba117eaccb242c1bebb5e
This commit is contained in:
Pavlo Shchelokovskyy 2015-05-29 22:35:43 +03:00
parent bc4255fe07
commit 41da638c28
2 changed files with 11 additions and 23 deletions

View File

@ -747,15 +747,11 @@ class Server(stack_user.StackUser):
resource_status=server.status,
result=_('Server is not active'))
def _check_server_status(self):
server = self.nova().servers.get(self.resource_id)
def handle_check(self):
server = self.client().servers.get(self.resource_id)
status = self.client_plugin().get_status(server)
checks = [{'attr': 'status', 'expected': 'ACTIVE', 'current': status}]
self._verify_check_conditions(checks)
return server
def handle_check(self):
self._check_server_status()
@classmethod
def _build_block_device_mapping(cls, bdm):

View File

@ -126,41 +126,33 @@ class ServersTest(common.HeatTestCase):
stack_user_project_id='8888')
return (templ, stack)
def _prepare_server_check(self):
def _prepare_server_check(self, status='ACTIVE'):
templ, self.stack = self._setup_test_stack('server_check')
server = self.fc.servers.list()[1]
server.status = status
res = self.stack['WebServer']
res.nova = mock.Mock()
res.nova().servers.get = mock.Mock(return_value=server)
res.client = mock.Mock()
res.client().servers.get.return_value = server
return res
def test_check(self):
res = self._prepare_server_check()
res._check_server_status = mock.Mock()
scheduler.TaskRunner(res.check)()
self.assertEqual((res.CHECK, res.COMPLETE), res.state)
def test_check_fail(self):
res = self._prepare_server_check()
res._check_server_status = mock.Mock(side_effect=Exception('boom'))
res.client().servers.get.side_effect = Exception('boom')
exc = self.assertRaises(exception.ResourceFailure,
scheduler.TaskRunner(res.check))
self.assertIn('boom', six.text_type(exc))
self.assertEqual((res.CHECK, res.FAILED), res.state)
def test_check_server_status(self):
res = self._prepare_server_check()
server = res._check_server_status()
self.assertEqual(self.fc.servers.list()[1], server)
def test_check_server_status_not_active(self):
res = self._prepare_server_check()
res._check_active = mock.Mock(return_value=False)
res.nova().servers.get().status = 'FOO'
exc = self.assertRaises(exception.Error,
scheduler.TaskRunner(res._check_server_status))
def test_check_not_active(self):
res = self._prepare_server_check(status='FOO')
exc = self.assertRaises(exception.ResourceFailure,
scheduler.TaskRunner(res.check))
self.assertIn('FOO', six.text_type(exc))
def _get_test_template(self, stack_name, server_name=None,