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'):
|
'redis_taskflow_driver'):
|
||||||
conductor = RedisDynamicLoggingConductor(
|
conductor = RedisDynamicLoggingConductor(
|
||||||
name, board, persistence=persistence,
|
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 = functools.partial(
|
||||||
board.claim,
|
board.claim,
|
||||||
expiry=CONF.task_flow.jobboard_expiration_time)
|
expiry=CONF.task_flow.jobboard_expiration_time)
|
||||||
|
|
|
@ -75,6 +75,7 @@ class TestTaskFlowServiceController(base.TestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
self.conf = oslo_fixture.Config(cfg.CONF)
|
self.conf = oslo_fixture.Config(cfg.CONF)
|
||||||
self.conf.config(group="task_flow", engine='parallel')
|
self.conf.config(group="task_flow", engine='parallel')
|
||||||
|
self.conf.config(group="task_flow", max_workers=MAX_WORKERS)
|
||||||
self.driver_mock = mock.MagicMock()
|
self.driver_mock = mock.MagicMock()
|
||||||
self.persistence_mock = mock.MagicMock()
|
self.persistence_mock = mock.MagicMock()
|
||||||
self.jobboard_mock = mock.MagicMock()
|
self.jobboard_mock = mock.MagicMock()
|
||||||
|
@ -140,7 +141,10 @@ class TestTaskFlowServiceController(base.TestCase):
|
||||||
rediscond.assert_called_once_with(
|
rediscond.assert_called_once_with(
|
||||||
"test", self.jobboard_mock.__enter__(),
|
"test", self.jobboard_mock.__enter__(),
|
||||||
persistence=self.persistence_mock.__enter__(),
|
persistence=self.persistence_mock.__enter__(),
|
||||||
engine='parallel')
|
engine='parallel',
|
||||||
|
engine_options={
|
||||||
|
'max_workers': MAX_WORKERS,
|
||||||
|
})
|
||||||
self.conf.config(group="task_flow",
|
self.conf.config(group="task_flow",
|
||||||
jobboard_backend_driver='zookeeper_taskflow_driver')
|
jobboard_backend_driver='zookeeper_taskflow_driver')
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue