k8s-launch-kit-validate

por nvidia

Use this skill when the user wants to verify that an NVIDIA networking deployment matches the configuration that produced it. Activate for: 'is my deployment…

npx skills add https://github.com/nvidia/k8s-launch-kit --skill k8s-launch-kit-validate

l8k: Validate

PREREQUISITE: Read ../k8s-launch-kit-shared/SKILL.md for install paths, global flags, and exit codes.

Verify that a previously generated and deployed NVIDIA networking deployment is correctly applied and matches the selected Network Operator release.

What it checks

  1. Network Operator Helm release version. Reads the chart's appVersion from any release Secret named sh.helm.release.v1.<release>.v<N> whose release name contains "network-operator", in the operator namespace. Compares with the version expected by networkOperator.selectedRelease in cluster-config.yaml (looked up in l8k's embedded release catalog).
  2. Manifest presence. Every YAML manifest under --deployment-files (skipping any file with "example" in its name) is fetched from the cluster via client.Get. Each manifest is reported FOUND, MISSING, or ERROR.
  3. Connectivity matrix. By default, l8k validate applies the generated example DaemonSet, waits for ready pods, and runs source-bound icmp, rping, and ib_write_bw tests. The default mode is strict.

Exit code is non-zero (4) on any missing manifest, version mismatch, or gating connectivity failure. Version checks soft-skip when prerequisites are absent — no cluster-config.yaml, no Helm release Secret, etc.

Usage

l8k validate [--user-config <PATH>] [--deployment-files <DIR>] [--kubeconfig <PATH>]

Flags

FlagDefaultDescription
--kubeconfig$KUBECONFIGPath to kubeconfig with read access to the cluster
--user-config./cluster-config.yamlCluster config YAML; used for networkOperator.selectedRelease and the operator namespace
--deployment-files./deploymentDirectory containing the manifests to verify
--validation-modevalidation.mode (strict)Connectivity mode: quick, full, or strict
--validation-checksvalidation.checks (icmp,rping,ib_write_bw)Comma-separated connectivity checks; "" disables all
--rdma-rping-iterationsvalidation.rdma.rpingIterationsrping client iteration count
--rdma-ib-write-sizevalidation.rdma.ibWriteSizeib_write_bw message size
--rdma-ib-write-min-bandwidth-gbpsvalidation.rdma.ibWriteMinBandwidthGbpsMinimum peak Gbps; 0 disables bandwidth gating

Connectivity Modes

  • quick: all same-rail node pairs plus one non-gating cross-rail canary per source-rail/destination-rail mapping.
  • full: every source rail × every destination rail × every ordered pod pair; cross-rail results are reported but do not gate pass/fail.
  • strict: full matrix. Cross-rail gates by profile.routing: source-based must succeed, destination-based must stay isolated.

All checks are source-bound. ICMP uses ping -I <src-iface>, rping uses -I <src-ip>, and ib_write_bw uses --bind_source_ip <src-ip>.

Examples

# Defaults: ./cluster-config.yaml + ./deployment, $KUBECONFIG
l8k validate

# Explicit paths
l8k validate --user-config ./cluster-config.yaml \
  --deployment-files ./deployment \
  --kubeconfig ~/.kube/config

# Agent mode (single JSON object on stdout, logs on stderr)
l8k validate --output json 2>/dev/null | jq '.summary'

Output

Text mode prints a short report:

Network Operator release
  selectedRelease: 26.4
  expected version: v26.4.0-beta.6
  deployed: network-operator (chart=26.4.0-beta.6 app=v26.4.0-beta.6 rev=3 status=deployed)
  result: MATCH

Manifests
  [FOUND] NicClusterPolicy/nic-cluster-policy in (cluster-scoped)
  [FOUND] NicNodePolicy/nicnodepolicy-h100 in (cluster-scoped)
  [MISSING] SriovNetwork/sriov-network-rail-0 in default — not found in cluster
  ...

Summary: 12 manifests, 1 missing/error; version: match

JSON mode (--output json) emits one object with versionCheck, manifests, and summary fields.

When this skill activates

Trigger phrases include: "validate my deployment", "is my cluster correct", "are all the manifests applied", "does the chart version match", "did the deploy succeed", or any discrepancy claim about expected vs deployed state.

See Also

Más skills de nvidia

compileiq-debug
nvidia
Úsalo cuando algo esté mal: Search() se cuelga, todas las evaluaciones devuelven INVALID_SCORE, las puntuaciones no mejoran, cada configuración devuelve el mismo número, errores de ptxas…
official
create-github-pr
nvidia
Crear solicitudes de extracción de GitHub usando la CLI gh. Usar cuando el usuario quiera crear un nuevo PR, enviar código para revisión o abrir una solicitud de extracción. Palabras clave de activación -…
official
diagnose-perf
nvidia
First-responder performance triage for Isaac Sim and Isaac Lab. Identifies bottleneck category (GPU-bound, CPU-bound, VRAM, loading) using nvidia-smi and…
official
eagle3-review-logs
nvidia
Revisa los registros de experimentos del pipeline EAGLE3 desde el directorio experiments/ del lanzador. Resume el estado de aprobación/fallo para las 4 tareas, diagnostica fallos con la causa raíz…
official
nemoclaw-maintainer-cross-issue-sweep
nvidia
Scans other open issues to find ones a given PR may also fix or accidentally break. Outputs adjacent-fix opportunities and contradiction risks with file:line…
official
karpathy-guidelines
nvidia
Pautas de comportamiento para reducir errores comunes de codificación en LLM. Úselas al escribir, revisar o refactorizar código para evitar la sobrecomplicación, realizar cambios quirúrgicos,…
official
fhir-basics
nvidia
Enseña a los agentes cómo funcionan las APIs de FHIR R4, qué recursos están disponibles, cómo consultarlos con parámetros de búsqueda y cómo analizar correctamente todos los formatos de respuesta…
official
underdeclared-agent
nvidia
A helpful assistant agent
official