Skip to content

Commit 13ee6f5

Browse files
committed
test(uat): enable Azure serve now that GCP has served
GCP run 32825515255 is the served completion this lane was gated on. AKS also checks the worker's LD_LIBRARY_PATH append from the other side: /usr/local/nvidia is absent under the GPU Operator toolkit, so the append must be an inert no-op there. Signed-off-by: Rohit Rajani <rorajani@nvidia.com>
1 parent 3777d6b commit 13ee6f5

2 files changed

Lines changed: 31 additions & 30 deletions

File tree

.github/workflows/uat-azure.yaml

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -775,10 +775,9 @@ jobs:
775775
run: ./tests/uat/azure/run conformance "${TEST_CONFIG}"
776776

777777
# The CUJ phase is intent-selected, mirroring the runner's intent-aware
778-
# `all`: training runs the Kubeflow TrainJob; inference would run the
779-
# served DynamoGraphDeployment (phase_serve, DC3). For training, the
780-
# TrainJob fires; for inference the serve step is currently disabled (see
781-
# below), so verify/evidence cover the deployed stack either way.
778+
# `all`: training runs the Kubeflow TrainJob, inference the served
779+
# DynamoGraphDeployment (phase_serve, DC3). Exactly one fires per run;
780+
# verify/evidence cover the deployed stack either way.
782781
- name: Refresh Azure credentials before CUJ
783782
if: steps.conformance.outcome == 'success'
784783
uses: azure/login@f5d393ae46f8fde4be8b75f32e3fc50e654ad0ca # v3.0.1
@@ -797,28 +796,29 @@ jobs:
797796
RUN_ID: ${{ github.run_id }}
798797
run: ./tests/uat/azure/run train "${TEST_CONFIG}"
799798

800-
# STILL DISABLED (step commented out below). phase_serve already selects the
801-
# GPU pool for both graph components (#1644), so the Frontend no longer
802-
# cold-pulls the ~12GB vllm-runtime image on a small CPU-pool node. Only
803-
# uat-gcp.yaml re-enables the serve *step* for now (GKE x inference is what
804-
# #1644 tracks); re-enable this one after that lane has a served completion,
805-
# and restore the Serve summary row below to `${{ steps.serve.outcome }}`.
806-
# Until then the inference STACK (dynamo + KAI scheduler + DRA driver) is
807-
# still stood up and validated by prep/install/conformance/verify; only the
808-
# served-workload run is skipped (Serve summary row is a static `disabled`).
799+
# Live as of the GCP served completion this lane was gated on (run
800+
# 32825515255, #1644): phase_serve selects the GPU pool for both graph
801+
# components, so the Frontend no longer cold-pulls the ~12GB
802+
# vllm-runtime image on a small CPU-pool node.
809803
#
810-
# - name: UAT - serve (DynamoGraphDeployment + endpoint)
811-
# id: serve
812-
# if: steps.conformance.outcome == 'success' && inputs.intent == 'inference'
813-
# # Larger budget than train: a cold pull of the multi-GB vllm-runtime
814-
# # image + model download + engine warmup precedes the first served
815-
# # token (phase_serve's SERVE_READY_TIMEOUT_SECONDS is 30m).
816-
# timeout-minutes: 40
817-
# shell: bash
818-
# env:
819-
# AICR_BIN: ${{ github.workspace }}/aicr
820-
# RUN_ID: ${{ github.run_id }}
821-
# run: ./tests/uat/azure/run serve "${TEST_CONFIG}"
804+
# AKS is also the non-GKE check on the worker's driver-library append.
805+
# phase_serve wraps the vLLM command with an LD_LIBRARY_PATH append for
806+
# /usr/local/nvidia/lib64, which GKE needs and the GPU Operator's
807+
# container toolkit makes unnecessary here. That path is absent on AKS,
808+
# so the append is expected to be an inert no-op — this lane is what
809+
# proves the shared script did not regress a working platform.
810+
- name: UAT - serve (DynamoGraphDeployment + endpoint)
811+
id: serve
812+
if: steps.conformance.outcome == 'success' && inputs.intent == 'inference'
813+
# Larger budget than train: a cold pull of the multi-GB vllm-runtime
814+
# image + model download + engine warmup precedes the first served
815+
# token (phase_serve's SERVE_READY_TIMEOUT_SECONDS is 30m).
816+
timeout-minutes: 40
817+
shell: bash
818+
env:
819+
AICR_BIN: ${{ github.workspace }}/aicr
820+
RUN_ID: ${{ github.run_id }}
821+
run: ./tests/uat/azure/run serve "${TEST_CONFIG}"
822822

823823
- name: UAT - verify (evidence verify)
824824
id: verify
@@ -936,7 +936,7 @@ jobs:
936936
echo "| Install | ${{ steps.install.outcome }} |"
937937
echo "| Validate (all phases) | ${{ steps.conformance.outcome }} |"
938938
echo "| Train | ${{ steps.train.outcome }} |"
939-
echo "| Serve | disabled (vLLM excluded from UAT) |"
939+
echo "| Serve | ${{ steps.serve.outcome }} |"
940940
echo "| Verify | ${{ steps.verify.outcome }} |"
941941
if [[ -n "${{ steps.evidence_ref.outputs.ref }}" ]]; then
942942
echo ""

.github/workflows/uat-gcp.yaml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -698,10 +698,11 @@ jobs:
698698
# Frontend cold-pulled the ~12GB vllm-runtime image on a CPU-pool node and
699699
# wedged in ContainerCreating past the readiness budget; phase_serve now
700700
# selects the GPU pool for both graph components, whose a3-megagpu-8g class
701-
# pulls that image in a fraction of the budget. The first GCP inference
702-
# nightly (or manual `run serve`) after this is the proving run — serving
703-
# was never verified end-to-end. AWS/Azure serve steps stay commented until
704-
# this lane demonstrates a served completion.
701+
# pulls that image in a fraction of the budget. Proven end-to-end by run
702+
# 32825515255, which also needed the worker's LD_LIBRARY_PATH append (GKE
703+
# mounts the driver at /usr/local/nvidia without putting it on the search
704+
# path) — that run unblocked uat-azure.yaml's serve step. AWS stays
705+
# commented while its lane fails in Bringup Infra, before any CUJ.
705706
- name: UAT - serve (DynamoGraphDeployment + endpoint)
706707
id: serve
707708
if: steps.conformance.outcome == 'success' && inputs.intent == 'inference'

0 commit comments

Comments
 (0)