Search before asking
Description
Test cluster setup is duplicated in three places:
Rust: testcontainers-rs (async, builder pattern)
C++: raw docker run shell commands with TCP polling
Python: testcontainers Python library (sync, pytest fixture)
All three duplicate constants (image name, version, ports, network), orchestration logic (create network, ZK, coordinator, tablet server, wait, and cluster config.
Python could reuse the Rust cluster manager via PyO3 relatively easily (opaque #[pyclass] wrapper, async already supported).
Willingness to contribute
Search before asking
Description
Test cluster setup is duplicated in three places:
Rust: testcontainers-rs (async, builder pattern)
C++: raw docker run shell commands with TCP polling
Python: testcontainers Python library (sync, pytest fixture)
All three duplicate constants (image name, version, ports, network), orchestration logic (create network, ZK, coordinator, tablet server, wait, and cluster config.
Python could reuse the Rust cluster manager via PyO3 relatively easily (opaque #[pyclass] wrapper, async already supported).
Willingness to contribute