Move the tacker-conductor entry point out of `tacker.cmd.eventlet` and select the oslo.service threading backend via `init_backend()` instead of monkey patching the process. `oslo.service` components used by the conductor (loopingcall, periodic_task, service.launch) are resolved through the backend, so they switch to native threads without code changes. The deprecated executor argument of `get_rpc_server()` is dropped: oslo.messaging auto-detects the executor, choosing `eventlet` when the process is monkey patched (tacker-server) and `threading` otherwise (tacker-conductor). The threading backend of `oslo.service` requires the cotyledon and futurist extras, so the requirement is bumped to oslo.service[threading]>=4.6.0. Guard the `init_backend()` call with `get_backend_type() is None` so that importing this module after `tacker.cmd.eventlet` in the same process does not raise BackendAlreadySelected. This happens when Sphinx apidoc imports every module under tacker/ in a single process to build the docs. Add pyproject.toml since openstack/requirements project-requirements-change.py check now requires master-branch projects to declare their build backend via pyproject.toml, following pbr 6.x's move to PEP 517 builds. Depends-On: I984006c155c4f18d005611dcb7b002d1c2fb355d Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com> Change-Id: Ib8d82141314e931a7e7af0ea3cb686093e2d5f4e
4 lines
91 B
TOML
4 lines
91 B
TOML
[build-system]
|
|
requires = ["pbr>=6.0.0", "setuptools>=64.0.0"]
|
|
build-backend = "pbr.build"
|