Fix task_flow.max_workers with persistence in amphorav2
When jobboard was enabled in amphorav2, the [task_flow]/max_workers option was unused, updating a LB with a lot of children could have failed because of dozens of concurrent connections to the database. Story 2008860 Task 42381 Change-Id: I5341949513e6eb814655ee8f14a01b061894fc34 (cherry picked from commitc5287e1b08
) (cherry picked from commita53e2eabe3
) (cherry picked from commitbbb203a288
)
This commit is contained in:
parent
bae6808f1c
commit
d5dc2b2601
@ -166,7 +166,10 @@ class TaskFlowServiceController(object):
|
||||
'redis_taskflow_driver'):
|
||||
conductor = RedisDynamicLoggingConductor(
|
||||
name, board, persistence=persistence,
|
||||
engine=CONF.task_flow.engine)
|
||||
engine=CONF.task_flow.engine,
|
||||
engine_options={
|
||||
'max_workers': CONF.task_flow.max_workers
|
||||
})
|
||||
board.claim = functools.partial(
|
||||
board.claim,
|
||||
expiry=CONF.task_flow.jobboard_expiration_time)
|
||||
|
@ -75,6 +75,7 @@ class TestTaskFlowServiceController(base.TestCase):
|
||||
def setUp(self):
|
||||
self.conf = oslo_fixture.Config(cfg.CONF)
|
||||
self.conf.config(group="task_flow", engine='parallel')
|
||||
self.conf.config(group="task_flow", max_workers=MAX_WORKERS)
|
||||
self.driver_mock = mock.MagicMock()
|
||||
self.persistence_mock = mock.MagicMock()
|
||||
self.jobboard_mock = mock.MagicMock()
|
||||
@ -140,7 +141,10 @@ class TestTaskFlowServiceController(base.TestCase):
|
||||
rediscond.assert_called_once_with(
|
||||
"test", self.jobboard_mock.__enter__(),
|
||||
persistence=self.persistence_mock.__enter__(),
|
||||
engine='parallel')
|
||||
engine='parallel',
|
||||
engine_options={
|
||||
'max_workers': MAX_WORKERS,
|
||||
})
|
||||
self.conf.config(group="task_flow",
|
||||
jobboard_backend_driver='zookeeper_taskflow_driver')
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user