Switch Management
See Operations Overview for the conventions (in-band failures, registered vs. ephemeral targets) and the async job model that the asynchronous switch RPCs below build on.
Switch firmware and system images
Switch-only RPCs. NVOS system-image installs run as async jobs; the direct firmware and listing calls are synchronous.
Scale-up fabric manager
Switch-only RPCs targeting the on-switch NMX controller (nmx-controller) over
gRPC and the NVLink switch fabric. Each builds a per-request ephemeral switch from
caller-supplied node info. The domain field selects the mTLS cert set (not a DNS
domain).
For caller compatibility, ConfigureScaleUpFabricManagerV2 recognizes temporary
NodeDescriptor.attributes entries named fm_config:<key>. RMS maps entries
from the selected primary switch to the corresponding fm_config keys. The job
ignores these attributes on non-primary switches. If
config.extra_static_configs already contains the same file and key, the job
fails before switch mutation instead of choosing one value. This prefix is an
unsupported compatibility bridge; callers should use
config.extra_static_configs when available. If RMS reconciles an fm_config
value that was not confirmed already configured, V2 restarts NMX-C before
waiting for control-plane convergence. Confirmed unchanged values and changes
to other static-config files do not trigger this restart.
For ConfigureScaleUpFabricManagerV2 node-IP reconciliation, the first
additional_host_endpoints entry supplies the secondary management address
from interface.ip_address. RMS ignores later entries, the selected entry’s
port and credentials, and the entire field on other dispatch paths. Secondary
addresses must be unique across nodes and must not overlap primary addresses.
RMS snapshots, reconciles, verifies, and rolls back the secondary addresses
with the primary addresses. Omitting the entry leaves the selected switch’s
secondary addresses unchanged. RMS reads both applied address sets for each
enabled non-primary switch into request-local rollback state. Before disabling
an enabled non-primary switch, RMS clears both address sets.
Older servers ignore the additive NodeInfo field.
Switch certificates, credentials, and attestation
Switch-only. Certificate install and password rotation run as async per-switch jobs. SPDM evidence collection is synchronous within the NICo-owned attestation job.
SPDM attestation evidence
NICo owns the attestation job, generates a cryptographically secure 32-byte
nonce, and correlates each RMS result by node_id. RMS rejects duplicate
logical targets and duplicate management addresses in one batch.
For each target, RMS reads
GET /nvue_v1/system/security/spdm?rev=operational to discover the components
reported by that switch. For every discovered component, RMS serially submits
POST /nvue_v1/system/security/spdm/{component-id} with the @generate
action and the hex-encoded nonce, then polls the returned NVUE action ID to
action_success.
After a successful generation action, RMS fetches
GET /nvue_v1/system/security/spdm/{component-id}/measurements and
GET /nvue_v1/system/security/spdm/{component-id}/certificates. The response
contains normalized JSON encodings of those opaque NVUE values. RMS does not
log full measurement blobs or certificate chains.
Targets are collected concurrently; components on one switch are generated serially. Collection continues after a component fails. A target succeeds only when every discovered component succeeds. A transport error, malformed action status, poll timeout, or terminal NVUE failure produces a failed component.
RMS holds no lock or persisted job state. NICo prevents overlapping requests
for the same tray and owns retry, quarantine, storage, required-component, and
appraisal policy. A batch has a 15-minute processing deadline. RMS currently
has no request-level target, component, or aggregate evidence-size limit; each
individual NVUE response is limited to 8 MiB by nvue_client. Callers must
therefore bound batch size and configure an appropriate gRPC receive limit.
If the deadline expires after component discovery, RMS preserves completed
evidence and reports timeout failures for the current and unattempted components.
Like every other switch RPC, attestation honors insecure_switch; when set,
NVUE server-certificate validation is disabled. RMS returns normalized evidence
without appraisal. NICo passes it to its verifier for nonce, signature,
certificate-chain, required-component, and reference-measurement checks.
The southbound paths and nonce format follow the NVIDIA NVOS SPDM command reference.