Files
tacker/pyproject.toml
Yasufumi Ogawa d7d54b00e3 tacker-conductor with oslo.service threading
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
2026-07-30 12:02:40 +00:00

4 lines
91 B
TOML

[build-system]
requires = ["pbr>=6.0.0", "setuptools>=64.0.0"]
build-backend = "pbr.build"