Skip to content

[CI][Serve] Install ray-haproxy in Serve CI Docker image#62590

Merged
aslonnie merged 5 commits intoray-project:masterfrom
eicherseiji:seiji/ray-haproxy-m2-ci-infra
Apr 14, 2026
Merged

[CI][Serve] Install ray-haproxy in Serve CI Docker image#62590
aslonnie merged 5 commits intoray-project:masterfrom
eicherseiji:seiji/ray-haproxy-m2-ci-infra

Conversation

@eicherseiji
Copy link
Copy Markdown
Contributor

@eicherseiji eicherseiji commented Apr 14, 2026

Summary

Install the ray-haproxy PyPI package in the Serve CI Docker image. This is a prerequisite for the main PR #62589 which adds RAY_SERVE_EXPERIMENTAL_PIP_HAPROXY support.

ray-haproxy is a standalone binary wheel containing a vendored HAProxy binary at site-packages/ray_haproxy/bin/haproxy. It has no Python dependencies (--no-deps) and does not add anything to PATH — the binary is only accessible via from ray_haproxy import get_haproxy_binary. It will not interfere with the existing system-installed HAProxy in the Serve image.

The package is installed but not used by default. It will only be activated when the experimental flag is set in a follow-up PR.

Test plan

  • serve.build.Dockerfile builds successfully
  • No impact on existing Serve CI tests (ray-haproxy is installed but not referenced)

Signed-off-by: seiji <seiji@anyscale.com>
@eicherseiji eicherseiji added the go add ONLY when ready to merge, run all tests label Apr 14, 2026
@eicherseiji eicherseiji marked this pull request as ready for review April 14, 2026 01:59
@eicherseiji eicherseiji requested a review from a team as a code owner April 14, 2026 01:59
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request adds the ray-haproxy package to the Docker build to support experimental pip-based HAProxy. Feedback recommends adding the --no-deps flag to the installation command to maintain environment consistency and avoid unpinned dependency conflicts. Additionally, it was noted that this introduces a redundant HAProxy installation alongside the existing manual build, which should be addressed to avoid path ambiguity.

Copy link
Copy Markdown

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

Reviewed by Cursor Bugbot for commit b3abc95. Configure here.

Signed-off-by: seiji <seiji@anyscale.com>
Signed-off-by: seiji <seiji@anyscale.com>
@eicherseiji eicherseiji marked this pull request as draft April 14, 2026 02:05
# Install ray-haproxy (vendored HAProxy binary) for experimental pip-based
# HAProxy support. Gated behind RAY_SERVE_EXPERIMENTAL_PIP_HAPROXY=1.
# --no-deps: ray-haproxy is a standalone binary wheel with no Python dependencies.
uv pip install --system --no-cache-dir --no-deps ray-haproxy
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we use a depset and pin a version?

Copy link
Copy Markdown
Contributor Author

@eicherseiji eicherseiji Apr 14, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

Signed-off-by: seiji <seiji@anyscale.com>
@eicherseiji eicherseiji marked this pull request as ready for review April 14, 2026 03:31
@ray-gardener ray-gardener bot added serve Ray Serve Related Issue devprod labels Apr 14, 2026
@eicherseiji eicherseiji self-assigned this Apr 14, 2026
@aslonnie aslonnie merged commit 51fc6a6 into ray-project:master Apr 14, 2026
5 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

devprod go add ONLY when ready to merge, run all tests serve Ray Serve Related Issue

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants