The NVLink Switch firmware upgrade workflow safely upgrades firmware on NVIDIA NVLink switches (NVLink Switch NVL and future iterations) running NV-OS, using a vendor-supplied firmware bundle.
This workflow is a component of a full rack-level automation pipeline for upgrading NVLink domain GPU systems. These systems require a coordinated upgrade of all compute and NVLink shelves.
get_network_device: Retrieves device data from Nautobotget_current_os: Gets the running OS version using the NVUE APIget_running_firmware: Gets all firmware component versions through /nvue_v1/platform/firmwarecompare_running_desired: Compares current vs desired firmware/OS versionsfirmware_bundle_versionBackupWorkflow as a child workflowupdate_device_context: Updates the device’s firmware_bundle_version and intended-firmware contextvalidate_render_targets: Ensures render service generates correct firmware commands with pollingvalidate_target_files: ⚠️ Temporarily disabled (MTLS ingress not enabled in utility clusters)firmware_bundle_version and intended-firmware context for template compatibilityfwupdate-commands.txt to confirm the device will request the correct filesexecute_ztp: Triggers factory reset using the NVUE APIpoll_ztp_status: Polls ZTP status with extended 120-minute timeout for firmware upgradesget_current_os: Gets OS version after upgradeget_running_firmware: Gets firmware versions after upgradecompare_running_desired: Validates firmware matches expected versionsreboot_device: Conditionally reboots device if firmware mismatch detectedwait_reboot: Waits for device to come back online using uptime comparisonfirmware_bundle_version from device config contextFirmware upgrades take longer than OS upgrades:
firmware_bundles is inherited from the site level config context tied to the NVSwitch role.
You can trigger this workflow using the Config Manager Temporal API: