feat(validator): upgrade conformance checks from static to behavioral validation#185
Merged
dims merged 1 commit intoNVIDIA:mainfrom Feb 23, 2026
Merged
Conversation
8d069cf to
8146aa9
Compare
… validation Upgrade 5 conformance checks from static/presence validation to behavioral/functional testing per CNCF AI Conformance v1.34 section 11.1: - cluster-autoscaling: Full behavioral chain — HPA scaling intent, Karpenter KWOK node provisioning, pod scheduling verification. Discovers GPU NodePools dynamically, tries each until one succeeds. - pod-autoscaling: HPA reads external GPU metrics (dcgm_gpu_power_usage) and computes scale-up, Deployment actually scales replicas. - inference-gateway: Data-plane readiness via EndpointSlice verification, HTTPRoute discovery (informational). - robust-controller: Webhook rejection test — creates invalid DynamoGraphDeployment, verifies admission webhook rejects it. - secure-accelerator-access: Negative isolation test — pod without ResourceClaims cannot access GPU devices. Removes kwok/scripts/validate-cluster-autoscaling.sh (setup logic inlined in CI workflows, exercise logic replaced by Go conformance check).
8146aa9 to
c6cc54d
Compare
This was referenced Feb 23, 2026
dims
referenced
this pull request
in dims/aicr
Feb 25, 2026
The GPU Conformance Test (nvkind + H100 x2) workflow was created on
PR #180's branch but never merged to main. This adds it with an
updated schedule (08:45/20:45 UTC) to maintain a 2h15m gap from the
GPU Training Test (06:30/18:30 UTC), ensuring the two H100 x2 jobs
don't compete for the same runner.
Schedule layout (all 2x daily, 12h apart):
- T4 Smoke: 06:00 / 18:00 UTC
- H100 Inference: 06:15 / 18:15 UTC
- H100 Training x2: 06:30 / 18:30 UTC
- H100 Conformance: 08:45 / 20:45 UTC (2h15m after training)
Aligned with current CI patterns:
- gpu-snapshot-validate action instead of inline snapshot steps
- Karpenter nodepool.yaml applied after install
- load-versions + setup-build-tools for chainsaw install
- Dockerfile.validator and missing action paths in path triggers
- Step ordering and naming consistent with inference/training
- Removed redundant DRA/gang pre-deploy steps that would exhaust
GPU claim capacity before the self-contained conformance checks
run inside aicr validate (introduced in PRs #184, #185)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
secure_access_check.go(create resources → wait for behavior → validate → cleanup)Checks upgraded
secure-accelerator-accessrobust-controllerinference-gatewaypod-autoscalingcluster-autoscalingKey design decisions
dcgm_gpu_power_usage) which are cluster-wide, working on any cluster with DCGM + prometheus-adapterdesiredReplicas > currentReplicasonly (notScalingActive=Truewhich can be true without scale intent)context.Background()with bounded timeout so cleanup runs even when parent context is canceled--exercisesteps from CI workflows (behavioral validation now runs insideaicr validate)Test plan
-racedetector