Repository navigation
Conversation
Signed-off-by: Kevin Rajan <7121943+kvnloo@users.noreply.github.com>
Signed-off-by: Kevin Rajan <7121943+kvnloo@users.noreply.github.com>
Signed-off-by: Kevin Rajan <7121943+kvnloo@users.noreply.github.com>
Signed-off-by: Kevin Rajan <7121943+kvnloo@users.noreply.github.com>
Signed-off-by: Kevin Rajan <7121943+kvnloo@users.noreply.github.com>
Signed-off-by: Kevin Rajan <7121943+kvnloo@users.noreply.github.com>
Signed-off-by: Kevin Rajan <7121943+kvnloo@users.noreply.github.com>
[READY TO POST] blocking review — upstream NVIDIA#98Upstream review submission returned 403, so this is staged here for promotion. NVIDIA#98 has a stale-registry recovery bug:
So:
The duplicate persists until restart. Suggested fix: Windows refresh needs an authoritative replacement path once the LUID gate is valid, rather than always using the Darwin-oriented additive merge. Regression: start with two same-model candidates under a stale gate; refresh to a valid registry containing one LUID and assert the phantom disappears. Also verify two genuine same-model GPUs remain when both LUIDs are valid. Status: READY TO POST to upstream PR NVIDIA#98 when org-side writes are available. |
[READY TO POST] blocking review — upstream NVIDIA#82Upstream review submission returned 403; staging here for promotion. The PR serializes the zone returned by The repo already has the correct pattern in the opposite direction: Suggested fix for Completion:
Regression: inviter-local zone The doc's current "both hosts must use the same interface name" limitation should then be unnecessary. Status: READY TO POST to upstream PR NVIDIA#82 when org-side writes are available. |
[READY TO POST] blocking review — upstream NVIDIA#38Upstream review submission returned 403; staging here for promotion. NVIDIA#38 currently authenticates a LAN request using either That makes the new LAN ingress incompatible with an upstream engine that has its own credential. Example:
PAIR admits the request using X-Api-Key, then deletes the unrelated Authorization header before forwarding, so vLLM receives no engine credential. The symmetric case has the same problem. Suggested invariant: never forward the credential that authenticated PAIR, but preserve unrelated upstream credentials. The auth decision should retain which header/value matched and strip only PAIR-owned credential material. A dedicated proxy-auth header would fully avoid same-header ambiguity. Regression:
Status: READY TO POST to upstream PR NVIDIA#38 when org-side writes are available. |
Description
Downstream implementation for NVIDIA#42.
PAIR's published OpenAPI already documents the response header:
X-PAIR-Served-By: <stable host UUID>for proxied inference responses, but the proxy did not emit it.
This branch implements that existing documented contract at the authoritative commit point in
ReverseProxy.ModifyResponse, after retries/failover have settled and before response headers are copied to the client.Contract
X-PAIR-Served-By;Release intent
Changelog title
Expose the serving node on proxied inference responses
Changelog body
PAIR now returns the documented
X-PAIR-Served-Byresponse header with the stable host UUID of the node that actually served a proxied inference request, including after failover.Bumps
Scope
In scope:
Out of scope:
Validation
Focused proxy regressions cover:
Fork Build passed on the initial branch. Fresh CI is running after aligning the implementation with the documented header, narrowing it to inference responses, and adding the required release-intent contract.
Risk
The value is the existing stable host UUID already used by PAIR for workload
scheduledOn/ proxy node attribution. No prompt, response body, credentials, hostname, or network address is exposed.All commits are DCO-signed and the branch is based on upstream
develop@937cf6c.