Report status when engine start
After heat engine starts, it won't report its status, so updated_at is None by then. If heat engine die before its first status report, its record will not remove from service-list. Change-Id: I55801ceb12ec8e4a3746799d3d43c6e9c01c6cd8 Closes-Bug: #1459997
This commit is contained in:
parent
b764ee801b
commit
4b9c2caf3b
|
@ -1611,6 +1611,10 @@ class EngineService(service.Service):
|
|||
report_interval=cfg.CONF.periodic_interval)
|
||||
)
|
||||
self.service_id = service_ref['id']
|
||||
service_objects.Service.update_by_id(
|
||||
cnxt,
|
||||
self.service_id,
|
||||
dict(deleted_at=None))
|
||||
LOG.info(_LI('Service %s is started'), self.service_id)
|
||||
|
||||
def service_manage_cleanup(self):
|
||||
|
|
|
@ -3197,11 +3197,13 @@ class StackServiceTest(common.HeatTestCase):
|
|||
self.assertTrue(mock_get_all.called)
|
||||
mock_format_service.assert_called_once_with(mock.ANY)
|
||||
|
||||
@mock.patch.object(service_objects.Service, 'update_by_id')
|
||||
@mock.patch.object(service_objects.Service, 'create')
|
||||
@mock.patch.object(context, 'get_admin_context')
|
||||
def test_service_manage_report_start(self,
|
||||
mock_admin_context,
|
||||
mock_service_create):
|
||||
mock_service_create,
|
||||
mock_service_update):
|
||||
self.eng.service_id = None
|
||||
mock_admin_context.return_value = self.ctx
|
||||
srv = dict(id='mock_id')
|
||||
|
@ -3216,8 +3218,11 @@ class StackServiceTest(common.HeatTestCase):
|
|||
engine_id=self.eng.engine_id,
|
||||
topic=self.eng.topic,
|
||||
report_interval=cfg.CONF.periodic_interval))
|
||||
|
||||
self.assertEqual(self.eng.service_id, srv['id'])
|
||||
mock_service_update.assert_called_once_with(
|
||||
self.ctx,
|
||||
self.eng.service_id,
|
||||
dict(deleted_at=None))
|
||||
|
||||
@mock.patch.object(service_objects.Service, 'get_all_by_args')
|
||||
@mock.patch.object(service_objects.Service, 'delete')
|
||||
|
|
Loading…
Reference in New Issue