Fix cluster health registry creating issue

When we attach poilcy to a cluster it will create a health
resistry, but it will fail.
This patch fixes cluster health registry creating issue.

Change-Id: I35e4d5149edaeed18f105232439161ddafe26e4c
Closes-Bug: #1659050
This commit is contained in:
jonnary 2017-01-25 00:56:37 +08:00 committed by XueFeng Liu
parent 4a275d447d
commit e5a65f7788
3 changed files with 12 additions and 8 deletions

View File

@ -450,9 +450,9 @@ def gc_by_engine(context, engine_id):
def registry_create(context, cluster_id, check_type, interval, params,
engine_id):
engine_id, enabled=True):
return IMPL.registry_create(context, cluster_id, check_type, interval,
params, engine_id)
params, engine_id, enabled=enabled)
def registry_update(context, cluster_id, values):

View File

@ -253,7 +253,7 @@ class HealthManager(service.Service):
return True
def register_cluster(self, ctx, cluster_id, check_type, interval=None,
params=None):
params=None, enabled=True):
r"""Register cluster for health checking.
:param ctx: The context of notify request.
@ -268,14 +268,15 @@ class HealthManager(service.Service):
registry = objects.HealthRegistry.create(ctx, cluster_id, check_type,
interval, params,
self.engine_id)
self.engine_id,
enabled=enabled)
entry = {
'cluster_id': registry.cluster_id,
'check_type': registry.check_type,
'interval': registry.interval,
'params': registry.params,
'enabled': True
'enabled': registry.enabled
}
self._start_check(entry)
@ -343,11 +344,13 @@ def register(cluster_id, engine_id=None, **kwargs):
params = kwargs.pop('params', {})
interval = kwargs.pop('interval', cfg.CONF.periodic_interval)
check_type = kwargs.pop('check_type', consts.NODE_STATUS_POLLING)
enabled = kwargs.pop('enabled', True)
return notify(engine_id, 'register_cluster',
cluster_id=cluster_id,
interval=interval,
check_type=check_type,
params=params)
params=params,
enabled=enabled)
def unregister(cluster_id, engine_id=None):

View File

@ -491,10 +491,11 @@ class TestHealthManager(base.SenlinTestCase):
self.hm.register_cluster(ctx,
cluster_id='CLUSTER_ID',
check_type=consts.NODE_STATUS_POLLING,
interval=50)
interval=50, enabled=True)
mock_reg_create.assert_called_once_with(
ctx, 'CLUSTER_ID', consts.NODE_STATUS_POLLING, 50, {}, 'ENGINE_ID')
ctx, 'CLUSTER_ID', consts.NODE_STATUS_POLLING, 50, {}, 'ENGINE_ID',
enabled=True)
mock_add_tm.assert_called_with(50, mock_poll, None, 'CLUSTER_ID')
self.assertEqual(1, len(self.hm.registries))