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:
parent
bc4255fe07
commit
41da638c28
|
@ -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):
|
||||
|
|
|
@ -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,
|
||||
|
|
Loading…
Reference in New Issue