Skip to content

feat(service): expose standard gRPC health readiness (#3917) - #4190

Open
rudycelekli wants to merge 1 commit into
maziyarpanahi:masterfrom
rudycelekli:fix/issue-3917-grpc-health-readiness
Open

rudycelekli wants to merge 1 commit into
maziyarpanahi:masterfrom
rudycelekli:fix/issue-3917-grpc-health-readiness

Conversation

@rudycelekli

Copy link
Copy Markdown

Description

Register grpc.health.v1.Health Check/Watch for the overall server and OpenMedService. Successful actual runtime preload publishes SERVING; terminal drain notification and stop publish NOT_SERVING, including when preload finishes after drain.

Type of Change

  • New feature
  • Test addition/improvement
  • Documentation update

Testing

  • 11 focused offline tests and independent source review passed.
  • Meaningful isolated negative controls reject changed required behavior.
  • UV_NO_SYNC=1 UV_PROJECT_ENVIRONMENT=<shared Python 3.12 environment> PYTHONPATH=$PWD make format lint format-check type-check
  • Full Python 3.12.11 suite: 29557 passed, 190 skipped, 24 warnings in 847.18s (0:14:07). Command: $OPENMED_TEST_ENV/bin/python -m pytest tests/ -q with explicit worktree PYTHONPATH.
  • Staged gitleaks scan with repository configuration and baseline passed.

Documentation

  • Public docstrings, documentation and CHANGELOG updated.
  • New documentation pages have matching navigation/publication classification where applicable.

Code Quality

  • Canonical formatter, lint/effect-path checks, formatting verification and scoped type checks.
  • Focused source review and scoped commit.

Dependencies

Pin grpcio-health-checking==1.81.1 in dev/service extras: upstream Apache-2.0 implementation of the standard health protocol. This matches the committed generated OpenMed stubs and existing lock versions. uv.lock adds only four requirement links; no package pins change. Core and Triton dependency groups stay unchanged.

Checklist

  • Read contributing, code-of-conduct and maintainer guidance.
  • Linked maintainer issue and kept this change focused on its independent scope.

Related Issues

Closes #3917

Scope and example

Listener credentials and binding policy remain with #3546, coordinated admission/drain with #3576. Actual tests exercise ephemeral loopback and TLS listeners; no cluster deployment is claimed.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Serve the standard gRPC health-checking service from readiness and drain state

1 participant