Upgrading System Firmware
NVOS software package version has a default switch firmware version. When updating the operating system software to a new version, an automatic firmware update process will be attempted by NVOS. This process is described below.
To perform an automatic firmware update by the OS for a different switch firmware version without changing the OS version, import and install the firmware package as described below. The OS sets it as the new default firmware and performs the firmware update automatically.
Default Firmware Change
Display the firmware that is currently available.
admin
@nvos
:~$ nv show platform firmware ASIC operational applied --------------- ------------------ ------- part-number MQM9700-NS2X-NS_Ax actual-firmware31.2014
.0946
auto-update enabled enabled fw-sourcedefault
default
Import the firmware image (.mfa file) to the switch.
admin
@nvos
:~$ nv action fetch platform firmware ASIC /path/to/fw-image.mfaAlternatively, you can upload the FW file from the host to the switch:
NoteThe firmware file must be copied to the predefined directory: "/host/fw-images/asic"
user
@host
:~$ scp <path-to-fw-file> <switch
-admin-username>@<switch
-ip-address>:/host/fw-images/asic/<desired-name>.mfaConfigure default firmware source from user.
admin
@nvos
:~$ nv set platform firmware ASIC fw-source customDisplay system firmware component information.
admin
@nvos
:~$ nv show platform firmware ASIC operational applied --------------- ------------------ ------- part-number MQM9700-NS2X-NS_Ax actual-firmware31.2014
.0946
auto-update enabled enabled fw-sourcedefault
default
Apply the configuration
admin
@nvos
:~$ nv config applySave the configuration.
admin
@nvos
:~$ nv config saveInstall the firmware image.
admin
@nvos
:~$ nv action install platform firmware ASIC files fw-image.mfa The operation will initiate a component firmware update. Type [y] to install the firmware and reboot afterwards. Type [N] to install the firmware without reboot. Do you want to reboot? [y/N]Press 'Y' will cause system reboot to install and activate firmware.
Press 'N' requires manual reboot from user later on.
admin
@nvos
:~$ nv action reboot system
This section provides step-by-step instructions to manually check and update software and firmware on InfiniBand switch to ensure the system is up to date with the latest software and firmware versions.
These updates are not done every release. See NVIDIA NVOS Release Notes to see which versions should be used.
A power cycle is needed at the end of the upgrade process.
The upgrade process will require maintenance window.
If necessary, retrieve logs for customer support using the command "nv action generate system tech-support".
Component Image Update Using NVOS CLI
Firmware updates can be done by NVOS CLI commands. CLI commands are blocking, meaning each command must be finished before another one can be.
There are two stages to upgrade each component:
Fetching a file from the unpacked bundle.
admin
@nvos
:~$ nv action fetch platform firmware <component-id> <remote-url>For details, see nv action fetch platform firmware.
Installing a component:
admin
@nvos
:~$ nv action install platform firmware <component-id> files <file-name>For details, see nv action install platform firmware files.
To save time, it it recommended to update one-by-one component and then to choose a power cycle.
<component-id> can be one of the following: ASIC, BIOS, and CPLD1.
Once upgrading a specific CPLD, all other CPLDs will be upgraded as well.
Power cycle should be triggered if it was chosen after install command but if manual power cycle required, run the following:
admin
@nvos
:~$ nv action reboot systemTo verify firmware versions after power cycle, run the following:
For details, see nv show platform firmware.
Transceiver Firmware Upgrade
Firmware updates can be done by NVOS CLI commands. CLI commands are blocking, meaning each command must be finished before another one can be.
There are two stages to upgrade each component:
Fetching a file from the unpacked bundle.
admin
@nvos
:~$ nv action fetch platform firmware transceiver <file-path>For details, see nv action fetch platform firmware.
Installing transceiver firmware.
admin
@nvos
:~$ nv action install platform transceiver <transceiver-id> firmware files <file-name>For details, see nv action install platform transceiver firmware files.
In order to activate the transceiver firmware, NVOS will reset the transceiver as part of the install action.
To verify firmware version, run the following:
admin@nvos
:~$ nv show platform transceiver <transceiver-id> firmware
For details, see nv show platform transceiver firmware.
Component Image Update Using RestAPI
RestAPI can be used from remote server to perform operations on the switch.
RestAPI is not blocking, meaning command can be sent before the previous finished. To deal with this nature, each command returns Task ID, use the Task ID to query for the result between the commands. State of “action_success” means the operation ended successfully.
Upgrades consist of fetch, install, and power cycle at the end of the entire process.
REST API Commands
Query command, should be executed between commands:
admin@nvos
:~$ curl -k --user <nvos-user>:<nvos-password> --request GET 'https://<switch-ip>/nvue_v1/action/<task-id>'
Fetching component image file:
admin
@nvos
:~$ curl -k --user <nvos-user>:<nvos-password> --request POST'https://<switch-ip>/nvue_v1/platform/firmware/<component>'
-H'Content-Type: application/json'
-d'{"@fetch": {"state": "start", "parameters": {"remote-url": "scp://<server-user>:<<server-password> >@<PATH_TO_FILE>"}}}'
Install the component file:
admin
@nvos
:~$ curl -k --user <nvos-user>:<nvos-password> --request POST'https://<switch-ip>/nvue_v1/platform/firmware/<component>/files/</<file-name>'
-H'Content-Type: application/json'
-d'{"@install": {"state": "start", "parameters": {"force": false}}}'
Power cycle:
admin
@nvos
:~$ curl -k --user <nvos-user>:<nvos-password>--request POST'https://<switch-ip>/nvue_v1/system'
-H'Content-Type: application/json'
-d'{"@reboot": {"state": "start", "parameters": {"force": true}}}'
After power cycle, check firmware version:
admin
@nvos
:~$ curl -k --user <nvos-user>:<nvos-password> --request GET'https://<nvos-ip>/nvue_v1/platform/firmware'
Error Status Catalog
Use the table below to identify the errors and their meaning.
Bundles List
BIOS |
|
Scenario |
Error |
Selected file for installation doesn't exist |
Failed to install BIOS firmware file: No such firmware |
Bad or corrupted file |
Invalid file: /host/fw-images/bios/bad_file.cab |
Bad Onie version |
ERROR: ONIE {} or later is required |
Failed to enable ONIE firmware update mode |
ERROR: failed to enable ONIE firmware update mode |
Failed to disable ONIE firmware update mode |
ERROR: failed to disable ONIE firmware update mode |
Installation script was interrupted by signal |
WARNING: Interrupted by ${_sig}: disable ONIE firmware update mode |
CPLD |
|
Scenario |
Error |
Selected file for installation doesn't exist |
Failed to install CPLD firmware file: No such firmware |
Bad or corrupted file |
Invalid file: /host/fw-images/cpld/bad_file.vme |
MST service not started (never started or failed to start) |
ERROR: mst driver is not loaded |
MST device path doesn't exist or failed to it |
ERROR: Failed to get mst device: pattern={}, devices={} |
CPLD update command failed |
ERROR: Failed to update {} firmware: {} |