From d2a6066181fa1d1c2aecb6088f52b372faa0caac Mon Sep 17 00:00:00 2001 From: Chris Lu Date: Mon, 16 Feb 2026 01:22:40 -0800 Subject: [PATCH] docs(volume-server): log native rust status healthz milestone --- rust/volume_server/DEV_PLAN.md | 19 ++++++++++++++----- test/volume_server/DEV_PLAN.md | 7 +++++++ 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/rust/volume_server/DEV_PLAN.md b/rust/volume_server/DEV_PLAN.md index 7cefb3661..116d18106 100644 --- a/rust/volume_server/DEV_PLAN.md +++ b/rust/volume_server/DEV_PLAN.md @@ -15,6 +15,7 @@ Implement a native Rust volume server that replicates Go volume-server behavior - Go master + Rust launcher (`VOLUME_SERVER_IMPL=rust`) - Rust launcher `proxy` mode has full-suite integration pass while delegating backend handlers to Go. - Rust launcher `native` mode is wired as the default Rust entrypoint and currently bootstraps via supervised Go backend delegation. +- Native Rust HTTP control handlers now serve `/status` and `/healthz` directly in `native` mode. - Native Rust API/storage handlers are not implemented yet. ## Parity Exit Criteria @@ -37,8 +38,8 @@ Implement a native Rust volume server that replicates Go volume-server behavior ### B. Native HTTP Surface - [ ] Admin/control endpoints: - - [ ] `GET /status` - - [ ] `GET /healthz` + - [x] `GET /status` (native Rust in `native` mode) + - [x] `GET /healthz` (native Rust in `native` mode) - [ ] static/UI endpoints currently exercised - [ ] Data read path parity: - [ ] fid parsing/path variants @@ -89,7 +90,7 @@ Implement a native Rust volume server that replicates Go volume-server behavior ### M1: Native Skeleton (Control Plane First) - [ ] `native` mode boots and serves: - - [ ] `/status`, `/healthz` + - [x] `/status`, `/healthz` - [ ] `GetState`, `SetState`, `VolumeServerStatus`, `Ping`, `VolumeServerLeave` - Gate: - [x] targeted HTTP/grpc control tests pass in `native` mode (delegated backend path). @@ -116,8 +117,8 @@ Implement a native Rust volume server that replicates Go volume-server behavior - [ ] Keep `exec`/`proxy` only as explicit fallback modes during rollout. ## Immediate Next Steps -1. Implement `/status` and `/healthz` with native Rust handlers and parity headers/payload fields. -2. Implement minimal native gRPC state/ping RPC handlers (`GetState`, `SetState`, `VolumeServerStatus`, `Ping`, `VolumeServerLeave`). +1. Implement minimal native gRPC state/ping RPC handlers (`GetState`, `SetState`, `VolumeServerStatus`, `Ping`, `VolumeServerLeave`). +2. Expand native HTTP control surface beyond `/status` and `/healthz` (UI/static/auth-sensitive paths). 3. Keep rerunning native-mode integration suites as each delegated branch is replaced. 4. Add mismatch triage notes for each API moved from delegation to native implementation. @@ -155,3 +156,11 @@ Implement a native Rust volume server that replicates Go volume-server behavior - `env VOLUME_SERVER_IMPL=rust go test -count=1 ./test/volume_server/http -run '^TestAdminStatusAndHealthz$'` - `env VOLUME_SERVER_IMPL=rust go test -count=1 ./test/volume_server/grpc -run '^TestStateAndStatusRPCs$'` - Commits: `70ddbee37`, `61befd10f`, `2e65966c0` + +- Date: 2026-02-16 +- Change: Implemented first native Rust HTTP handlers in `native` mode for `/status` and `/healthz` on the admin listener while preserving proxy delegation for other APIs. +- Validation: + - `env VOLUME_SERVER_IMPL=rust VOLUME_SERVER_RUST_MODE=native go test -count=1 ./test/volume_server/http -run '^TestAdminStatusAndHealthz$'` + - `env VOLUME_SERVER_IMPL=rust VOLUME_SERVER_RUST_MODE=native go test -count=1 ./test/volume_server/http` + - `env VOLUME_SERVER_IMPL=rust VOLUME_SERVER_RUST_MODE=native go test -count=1 ./test/volume_server/grpc` +- Commits: `7e6e0261a` diff --git a/test/volume_server/DEV_PLAN.md b/test/volume_server/DEV_PLAN.md index 2ee4c6960..494ee3f0f 100644 --- a/test/volume_server/DEV_PLAN.md +++ b/test/volume_server/DEV_PLAN.md @@ -1280,3 +1280,10 @@ Update this section during implementation: - Profiles covered: existing HTTP/gRPC matrix in native launcher mode; default-mode smoke checks on P1 control flows. - Gaps introduced/remaining: native Rust API/storage/RPC handlers still pending; current `native` mode remains a delegation bootstrap while parity replacement proceeds. - Commit: `70ddbee37`, `61befd10f`, `2e65966c0` + +- Date: 2026-02-16 +- Change: Implemented first native Rust HTTP control handlers in `native` mode for `/status` and `/healthz` (admin listener path), with proxy fallback retained for remaining endpoints. +- APIs covered: `/status` and `/healthz` now served by Rust-native code path in `VOLUME_SERVER_RUST_MODE=native`; full HTTP and gRPC integration suites re-validated. +- Profiles covered: full existing HTTP/gRPC matrix under native mode. +- Gaps introduced/remaining: gRPC control/data APIs and most HTTP data/static/auth paths remain delegated and require incremental native replacement. +- Commit: `7e6e0261a`