Multiple System Firmware Updates#

The nvfwupd tool enables sequential updates of multiple systems using the same firmware package via a YAML configuration file. This requires defining the update file and a list of target systems, including their respective credentials.

Note

Deprecated feature: Starting with nvfwupd version 2.0.5, specifying the targets sub-option with a JSON file of multiple targets for multiple system updates is no longer supported. Multiple targets can be updated sequentially by using the config.yaml file, described in this section.

Multiple System Sample Configuration#

The following example shows a configuration YAML file for sequential updates:

# Set TargetPlatform to DGX
TargetPlatform: 'DGX'

# Disable Sanitize Log optionally
# Disabling SANITIZE_LOG prints system IPs and user credentials to the logs and screen
SANITIZE_LOG: False

# Provide the full path of the firmware file to be used for firmware update
FWUpdateFilePath:
  - "nvfw_DGX_251108.1.1.fwpkg"

# Set FwUpdateMethod to MultipartHttpPushUri
FwUpdateMethod: "MultipartHttpPushUri"

# List of update targets. replaces -s/--special option input file. Value is list of target URIs
# Use UpdateParametersTargets: {} for DGX empty JSON value used for full DGX update
UpdateParametersTargets: {}

# If updating entire GPU Trays, uncomment the following UpdateParametersTargets and comment out the above "UpdateParametersTargets: {}"
#UpdateParametersTargets:
#   - "/redfish/v1/UpdateService/FirmwareInventory/HGX_0"

# Multi target input. Value is list of dicts.
# Update BMC_IP, RF_USERNAME, and RF_PASSWORD credentials for each system
Targets:
- BMC_IP: "1.1.1.1"
  RF_USERNAME: "user"
  RF_PASSWORD: "password"
- BMC_IP: "2.2.2.2"
  RF_USERNAME: "username2"
  RF_PASSWORD: "my_secondary_password"

Running nvfwupd Using the Configuration File#

To display the version information for each target system component sequentially alongside the corresponding firmware update file component version information, specify the configuration file with the -c flag or the --config option and the show_version command.

$ nvfwupd -c config.yaml show_version

System Model: DGXB300
Part number: 965-24387-0303-000
Serial number: 1943925000010
Packages: ['DGX-B300_0002_251108.1.1_custom']
Connection Status: Successful

Firmware Devices:
AP Name                                  Sys Version                    Pkg Version                    Up-To-Date
-------                                  -----------                    -----------                    ----------
CPLDBACK_0                               0.1.0.7                        0.1.0.7                        Yes
CPLDDCSM_0                               0.1.0.9                        0.1.0.9                        Yes
CPLDE1SBP_0                              0.1.0.5                        0.1.0.5                        Yes
CPLDMB_0                                 0.1.2.7                        0.1.0.9                        Yes
CX7NIC_0                                 32.43.2402                     N/A                            No
CX7NIC_1                                 32.43.2402                     N/A                            No
EROT_BIOS_0                              00.04.0061.0000_n04            00.04.0061.0000_n04            Yes
EROT_BMC_0                               00.04.0061.0000_n04            00.04.0061.0000_n04            Yes
HGX_FW_BMC_0                             B3-2509-05.0                   N/A                            No
HGX_FW_ConnectX_0                        40.46.5500                     N/A                            No
HGX_FW_ConnectX_1                        40.46.5500                     N/A                            No
HGX_FW_ConnectX_2                        40.46.5500                     N/A                            No
HGX_FW_ConnectX_3                        40.46.5500                     N/A                            No
HGX_FW_ConnectX_4                        40.46.5500                     N/A                            No
HGX_FW_ConnectX_5                        40.46.5500                     N/A                            No
HGX_FW_ConnectX_6                        40.46.5500                     N/A                            No
HGX_FW_ConnectX_7                        40.46.5500                     N/A                            No
HGX_FW_ConnectX_SMA_0                    0011.00.0265.0000              N/A                            No
HGX_FW_ConnectX_SMA_1                    0011.00.0265.0000              N/A                            No
HGX_FW_ConnectX_SMA_2                    0011.00.0265.0000              N/A                            No
HGX_FW_ConnectX_SMA_3                    0011.00.0265.0000              N/A                            No
HGX_FW_ERoT_BMC_0                        01.04.0031.0000_n04            N/A                            No
HGX_FW_ERoT_FPGA_0                       01.04.0031.0000_n04            N/A                            No
HGX_FW_ERoT_NVLinkManagementNIC_0        01.04.0031.0000_n04            N/A                            No
HGX_FW_ERoT_NVSwitch_0                   01.04.0031.0000_n04            N/A                            No
HGX_FW_ERoT_NVSwitch_1                   01.04.0031.0000_n04            N/A                            No
HGX_FW_FPGA_0                            1.54                           N/A                            No
HGX_FW_GPU_0                             97.10.52.00.17                 N/A                            No
HGX_FW_GPU_1                             97.10.52.00.17                 N/A                            No
HGX_FW_GPU_2                             97.10.52.00.17                 N/A                            No
HGX_FW_GPU_3                             97.10.52.00.17                 N/A                            No
HGX_FW_GPU_4                             97.10.52.00.17                 N/A                            No
HGX_FW_GPU_5                             97.10.52.00.17                 N/A                            No
HGX_FW_GPU_6                             97.10.52.00.17                 N/A                            No
HGX_FW_GPU_7                             97.10.52.00.17                 N/A                            No
HGX_FW_NVLinkManagementNIC_0             28.46.5500                     N/A                            No
HGX_FW_NVSwitch_0                        35_2014_4716                   N/A                            No
HGX_FW_NVSwitch_1                        35_2014_4716                   N/A                            No
HGX_FW_SXM_SMA_0                         0004.00.0257.0002              N/A                            No
HGX_FW_SXM_SMA_1                         0004.00.0257.0002              N/A                            No
HGX_FW_SXM_SMA_2                         0004.00.0257.0002              N/A                            No
HGX_FW_SXM_SMA_3                         0004.00.0257.0002              N/A                            No
HGX_FW_SXM_SMA_4                         0004.00.0257.0002              N/A                            No
HGX_FW_SXM_SMA_5                         0004.00.0257.0002              N/A                            No
HGX_FW_SXM_SMA_6                         0004.00.0257.0002              N/A                            No
HGX_FW_SXM_SMA_7                         0004.00.0257.0002              N/A                            No
HGX_InfoROM_GPU_0                        G540.0216.00.03                N/A                            No
HGX_InfoROM_GPU_1                        G540.0216.00.03                N/A                            No
HGX_InfoROM_GPU_2                        G540.0216.00.03                N/A                            No
HGX_InfoROM_GPU_3                        G540.0216.00.03                N/A                            No
HGX_InfoROM_GPU_4                        G540.0216.00.03                N/A                            No
HGX_InfoROM_GPU_5                        G540.0216.00.03                N/A                            No
HGX_InfoROM_GPU_6                        G540.0216.00.03                N/A                            No
HGX_InfoROM_GPU_7                        G540.0216.00.03                N/A                            No
HostBIOS_0                               01.00.05                       01.00.05                       Yes
HostBMC_0                                00.09.07                       00.09.07                       Yes
PCIeSwitch_0                             0.0.8                          0.0.8                          Yes
PCIeSwitch_1                             1.0.8                          0.0.8                          Yes
PSU_0                                    0105.0105                      N/A                            No
PSU_10                                   0105.0105                      N/A                            No
PSU_11                                   0105.0105                      N/A                            No
PSU_1                                    0105.0105                      N/A                            No
PSU_2                                    0105.0105                      N/A                            No
PSU_3                                    0105.0105                      N/A                            No
PSU_4                                    0105.0105                      N/A                            No
PSU_5                                    0105.0105                      N/A                            No
PSU_6                                    0105.0105                      N/A                            No
PSU_7                                    0105.0105                      N/A                            No
PSU_8                                    0105.0105                      N/A                            No
PSU_9                                    0105.0105                      N/A                            No
------------------------------------------------------------------------------------------------------------------------
System Model: DGXB300
Part number: 675-24387-0100-TS2
Serial number: 1943425000008
Packages: ['DGX-B300_0002_251108.1.1_custom']
Connection Status: Successful

Firmware Devices:
AP Name                                  Sys Version                    Pkg Version                    Up-To-Date
-------                                  -----------                    -----------                    ----------
CPLDBACK_0                               0.1.0.7                        0.1.0.7                        Yes
CPLDDCSM_0                               0.1.0.9                        0.1.0.9                        Yes
CPLDE1SBP_0                              0.1.0.5                        0.1.0.5                        Yes
CPLDMB_0                                 0.1.2.7                        0.1.2.7                        Yes
EROT_BIOS_0                              00.04.0061.0000_n04            00.04.0061.0000_n04            Yes
EROT_BMC_0                               00.04.0061.0000_n04            00.04.0061.0000_n04            Yes
HostBIOS_0                               01.00.05                       01.00.05                       Yes
HostBMC_0                                00.09.00                       00.09.00                       Yes
PCIeSwitch_0                             0.0.8                          0.0.8                          Yes
PCIeSwitch_1                             1.0.8                          0.0.8                          Yes
PSU_0                                    0.5.0.5                        N/A                            No
PSU_10                                   0.5.0.5                        N/A                            No
PSU_11                                   0.5.0.5                        N/A                            No
PSU_1                                    0.5.0.5                        N/A                            No
PSU_2                                    0.5.0.5                        N/A                            No
PSU_3                                    0.5.0.5                        N/A                            No
PSU_4                                    0.5.0.5                        N/A                            No
PSU_5                                    0.5.0.5                        N/A                            No
PSU_6                                    0.5.0.5                        N/A                            No
PSU_7                                    0.5.0.5                        N/A                            No
PSU_8                                    0.5.0.5                        N/A                            No
PSU_9                                    0.5.0.5                        N/A                            No
------------------------------------------------------------------------------------------------------------------------
Error Code: 0

To update each target system sequentially, specify the configuration file with the -c flag or the --config option and the update_fw command.

$ nvfwupd -c config.yaml update_fw -y

Updating ip address: ip=1.1.1.1
FW package: ['nvfw_DGX_251108.1.1.fwpkg']
{"@odata.type": "#UpdateService.v1_11_0.UpdateService", "Messages": [{"@odata.type": "#Message.v1_0_8.Message", "Message": "A new task /redfish/v1/TaskService/Tasks/7 was created.", "MessageArgs": ["/redfish/v1/TaskService/Tasks/7"], "MessageId": "Task.1.0.New", "Resolution": "None", "Severity": "OK"}, {"@odata.type": "#Message.v1_0_8.Message", "Message": "The action UpdateService.MultipartPush was submitted to do firmware update.", "MessageArgs": ["UpdateService.MultipartPush"], "MessageId": "UpdateService.1.0.StartFirmwareUpdate", "Resolution": "None", "Severity": "OK"}]}
  FW update started, Task Id: 7
Wait for Firmware Update to Start...
  TaskState: Running
  PercentComplete: 43
  TaskStatus: OK
  TaskState: Running
  PercentComplete: 47
  TaskStatus: OK
  TaskState: Running
  PercentComplete: 51
  TaskStatus: OK
  TaskState: Running
  PercentComplete: 52
  TaskStatus: OK
  TaskState: Running
  PercentComplete: 53
  TaskStatus: OK
  TaskState: Running
  PercentComplete: 54
  TaskStatus: OK
  TaskState: Running
  PercentComplete: 55
  TaskStatus: OK
  TaskState: Running
  PercentComplete: 56
  TaskStatus: OK
  ...
  TaskState: Running
  PercentComplete: 96
  TaskStatus: OK
  TaskState: Running
  PercentComplete: 97
  TaskStatus: OK
  TaskState: Running
  PercentComplete: 98
  TaskStatus: OK
  TaskState: Completed
  PercentComplete: 100
  TaskStatus: OK
  Firmware update successful!
Overall Time Taken: 0:31:31
Update successful. Perform activation steps for the new firmware to take effect.
------------------------------------------------------------------------------------------------------------------------
Updating ip address: ip=2.2.2.2
FW package: ['nvfw_DGX_251108.1.1.fwpkg']
{"@odata.type": "#UpdateService.v1_11_0.UpdateService", "Messages": [{"@odata.type": "#Message.v1_0_8.Message", "Message": "A new task /redfish/v1/TaskService/Tasks/1 was created.", "MessageArgs": ["/redfish/v1/TaskService/Tasks/1"], "MessageId": "Task.1.0.New", "Resolution": "None", "Severity": "OK"}, {"@odata.type": "#Message.v1_0_8.Message", "Message": "The action UpdateService.MultipartPush was submitted to do firmware update.", "MessageArgs": ["UpdateService.MultipartPush"], "MessageId": "UpdateService.1.0.StartFirmwareUpdate", "Resolution": "None", "Severity": "OK"}]}
  FW update started, Task Id: 1
Wait for Firmware Update to Start...
  TaskState: Running
  PercentComplete: 45
  TaskStatus: OK
  TaskState: Running
  PercentComplete: 47
  TaskStatus: OK
  TaskState: Running
  PercentComplete: 51
  TaskStatus: OK
  TaskState: Running
  PercentComplete: 52
  TaskStatus: OK
  TaskState: Running
  PercentComplete: 53
  TaskStatus: OK
  TaskState: Running
  ...
  TaskState: Running
  PercentComplete: 93
  TaskStatus: OK
  TaskState: Running
  PercentComplete: 94
  TaskStatus: OK
  TaskState: Running
  PercentComplete: 95
  TaskStatus: OK
  TaskState: Running
  PercentComplete: 96
  TaskStatus: OK
  TaskState: Running
  PercentComplete: 97
  TaskStatus: OK
  TaskState: Running
  PercentComplete: 98
  TaskStatus: OK
  TaskState: Completed
  PercentComplete: 100
  TaskStatus: OK
  Firmware update successful!
Overall Time Taken: 0:31:33
Update successful. Perform activation steps for new firmware to take effect.
------------------------------------------------------------------------------------------------------------------------
Error Code: 0

After the update, you must perform an AC cycle on each system for the changes to take effect.