You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/user/validation.md
+29Lines changed: 29 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -359,6 +359,35 @@ Common reasons and their cause:
359
359
| `skipped - no-cluster mode` | `message` | `--no-cluster` was passed — the runner short-circuits every phase before dispatching any Job | Remove the flag to run behavioral checks |
360
360
| `skipped due to previous phase failure` | `message` | An earlier phase failed and subsequent phases are skipped | Fix the earlier phase first, then re-run |
361
361
362
+
### `ai-service-metrics` fails with "Prometheus unreachable"
363
+
364
+
On EKS clusters that split worker and system pods across separate security
365
+
groups (e.g. DGXC EKS with distinct customer/system ENI subnets), the
366
+
conformance check `ai-service-metrics` can fail non-deterministically with:
367
+
368
+
```
369
+
[SERVICE_UNAVAILABLE] Prometheus unreachable at http://kube-prometheus-prometheus.monitoring.svc:9090 — verify network connectivity
370
+
```
371
+
372
+
The validator orchestrator Job tolerates every taint and has no node-affinity
373
+
toward Prometheus, so the kube-scheduler may place it on any worker node —
374
+
including one whose ENI is in a security group whose ingress to the
375
+
Prometheus-hosting SG is missing or asymmetric. The outcome is **not stable
376
+
across re-runs**: image-locality scoring tends to keep the pod on whatever
377
+
node won the first scheduling decision, so a passing run on a fresh cluster
378
+
does not prove the SG topology is correct.
379
+
380
+
This is a cluster-side prerequisite, not an AICR bug per se — see
381
+
[EKS Dynamo Networking Prerequisites](../integrator/eks-dynamo-networking.md#required-security-group-rules)
382
+
for the SG ingress rules required for Prometheus (`tcp/9090`). The underlying
383
+
issue is tracked at [#933](https://github.com/NVIDIA/aicr/issues/933).
384
+
385
+
Workaround when SG changes are not available: re-run the check until the
386
+
orchestrator lands on a node whose SG can reach Prometheus, then leave the
387
+
image cached there so image-locality keeps subsequent runs on the same node.
388
+
This is unreliable and should not be used as the steady-state validation
389
+
strategy.
390
+
362
391
### Benchmark Job stuck or timed out
363
392
364
393
Each performance check has a Job-level `activeDeadlineSeconds` set by the catalog's `timeout:`. For `inference-perf`, the full pipeline (workload ready → endpoint health → benchmark) can take up to 30 min on cold-start clusters. If it still times out:
0 commit comments