nvcrectl certification
nvcrectl certification run
Applies a Certification manifest (or runs categories by flag), waits for completion, prints a report, and optionally cleans up.
Flags
Controller access to the run namespace
With the chart’s rbac.scope: namespaced, the controller can write only in namespaces that have a RoleBinding granting it nvcre-run-role (ADR-092). Before creating the Certification, run makes sure the run namespace has one:
- A namespace this run created (the generated
nvcrectl-<timestamp>, or a-nnamespace that did not exist yet) gets the binding automatically. Deleting the namespace removes it. - A namespace that already existed gets it only with
--grant-run-access. Without the flag,runstops before submitting anything and prints the binding, so a shared namespace never becomes a standing grant by accident. A binding--grant-run-accesscreated is deleted by--cleanuponce the Certification is fully gone and no other Certification, WorkloadRun or Workflow is left in the namespace or recently adopted the binding, because the controller’s finalizers need it until then; a binding kept for another run stays for you to delete once no run needs it. Without--cleanupit stays, andrunsays so. - A binding that already exists, from
rbac.runNamespaces, another run, or applied by hand, is used and never deleted. - The binding is created only after the pull secret, right before the Certification, so a run that fails earlier leaves no binding behind.
- If you cannot read the cluster-scoped
nvcre-run-rolebindingandnvcre-run-role,runcannot tell which scope is installed. It submits with a warning instead of stopping, and does not create a binding whose subject it cannot read fromnvcre-manager-rolebinding. - Adopting a binding another nvcrectl run created marks it as in use, so that run’s cleanup does not delete it before this one is submitted. If you are not allowed to mark it, which is the case with the default
editrole,runwarns and submits anyway; in the rare case the other run’s cleanup deletes the binding first, your run waits for access and then fails, naming the binding. A binding fromrbac.runNamespacesor applied by hand is never deleted by a run’s cleanup.
Under rbac.scope: cluster, the default, none of this applies and nothing is printed. Creating the binding uses your own credentials, which need every permission in nvcre-run-role within the namespace (a namespace admin has them), or bind on clusterroles/nvcre-run-role. See RBAC requirements.
When --wait reaches its timeout, the command prints the Certification’s current report, writes it to --results-file when requested, and exits with a timeout error. Without --cleanup, the Certification continues running in the cluster; the timeout stops only the CLI watch. The timeout output includes commands to watch its progress, print an updated report, or stop it. nvcrectl certification report exits nonzero while the Certification is still running. With --cleanup, the partial report is produced before the Certification and its child resources are deleted.
Examples
Pull workload images from NGC:
nvcrectl certification render
Renders the Workflow manifests that would be created for a Certification, without applying them. Useful for inspecting override application and resource requests before running.
Flags
A Certification that sets spec.gangScheduler has that applied to the rendered output too: the scheduler name and the queue label (gangScheduler.queueLabelKey, kai.scheduler/queue when unset; runai/queue on a Run:ai cluster) appear in the rendered manifests on the submitted workload object, on the Job template, and on the pod template metadata, so what you inspect matches what the controller creates. There is no flag for it; the field is set in the Certification YAML.
nvcrectl certification report
Fetches a completed Certification from the cluster and generates a pass/fail report. Multiple names can be provided to combine them into a single report.
Flags
Bandwidth from a measurement that is not final (its Complete condition reason is anything other than JobSucceeded, for example LogsUnavailable after its Job was deleted) is shown as (provisional: <reason>) with a ? mark instead of ✓, carries provisional: true and provisionalReason in the JSON, and is never shown as passing; clique and category bandwidth show the lowest value across their groups.
nvcrectl certification list-categories
Lists all available catalog categories that can be used in a Certification.