Merge "Always start convergence worker service"

This commit is contained in:
Zuul 2018-08-03 05:32:16 +00:00 committed by Gerrit Code Review
commit 173715e84e
2 changed files with 15 additions and 14 deletions

View File

@ -345,14 +345,13 @@ class EngineService(service.ServiceBase):
LOG.debug("Starting listener for engine %s", self.engine_id)
self.listener.start()
if cfg.CONF.convergence_engine:
self.worker_service = worker.WorkerService(
host=self.host,
topic=rpc_worker_api.TOPIC,
engine_id=self.engine_id,
thread_group_mgr=self.thread_group_mgr
)
self.worker_service.start()
self.worker_service = worker.WorkerService(
host=self.host,
topic=rpc_worker_api.TOPIC,
engine_id=self.engine_id,
thread_group_mgr=self.thread_group_mgr
)
self.worker_service.start()
target = messaging.Target(
version=self.RPC_API_VERSION, server=self.host,
@ -401,8 +400,7 @@ class EngineService(service.ServiceBase):
if self.listener:
self.listener.stop()
if cfg.CONF.convergence_engine and self.worker_service:
# Stop the WorkerService
if self.worker_service:
self.worker_service.stop()
# Wait for all active threads to be finished
@ -1373,7 +1371,7 @@ class EngineService(service.ServiceBase):
stack = parser.Stack.load(cnxt, stack=st)
self.resource_enforcer.enforce_stack(stack, is_registered_policy=True)
if stack.convergence and cfg.CONF.convergence_engine:
if stack.convergence:
stack.thread_group_mgr = self.thread_group_mgr
template = templatem.Template.create_empty_template(
from_template=stack.t)

View File

@ -227,6 +227,8 @@ class ServiceEngineTest(common.HeatTestCase):
return_value=mock.Mock())
@mock.patch('heat.engine.service.EngineListener',
return_value=mock.Mock())
@mock.patch('heat.engine.worker.WorkerService',
return_value=mock.Mock())
@mock.patch('oslo_service.threadgroup.ThreadGroup',
return_value=mock.Mock())
@mock.patch.object(service.EngineService, '_configure_db_conn_pool_size')
@ -234,16 +236,17 @@ class ServiceEngineTest(common.HeatTestCase):
self,
configure_db_conn_pool_size,
thread_group_class,
worker_service_class,
engine_listener_class,
thread_group_manager_class,
sample_uuid_method,
rpc_client_class,
target_class,
rpc_server_method):
cfg.CONF.set_default('convergence_engine', False)
cfg.CONF.set_override('convergence_engine', False)
self._test_engine_service_start(
thread_group_class,
None,
worker_service_class,
engine_listener_class,
thread_group_manager_class,
sample_uuid_method,
@ -280,7 +283,7 @@ class ServiceEngineTest(common.HeatTestCase):
rpc_client_class,
target_class,
rpc_server_method):
cfg.CONF.set_default('convergence_engine', True)
cfg.CONF.set_override('convergence_engine', True)
self._test_engine_service_start(
thread_group_class,
worker_service_class,