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 commit c5287e1b08
)
This commit is contained in:
parent
46979a0d1b
commit
a53e2eabe3
|
@ -165,7 +165,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