Upgrade storage firmware
Starting with Element 12.0 and management services version 2.14, you can perform firmware-only upgrades on your storage nodes using the NetApp Hybrid Cloud Control UI and REST API. This procedure does not upgrade Element software and enables you to upgrade storage firmware outside of a major Element release.
-
Admin privileges: You have storage cluster administrator permissions to perform the upgrade.
-
System time sync: You have ensured that the system time on all nodes is synced and that NTP is correctly configured for the storage cluster and nodes. Each node must be configured with a DNS nameserver in the per-node web UI (
https://[IP address]:442
) with no unresolved cluster faults related to time skew. -
System ports: If you are using NetApp Hybrid Cloud Control for upgrades, you have ensured that the necessary ports are open. See Network ports for more information.
-
Management node: For NetApp Hybrid Cloud Control UI and API, the management node in your environment is running version 11.3.
-
Management services: You have updated your management services bundle to the latest version.
For H610S storage nodes running Element software version 12.0, you should apply D-patch SUST-909 before you upgrade to storage firmware bundle 2.27. Contact NetApp Support to obtain the D-patch before you upgrade. See Storage Firmware Bundle 2.27 Release Notes. |
You must upgrade to the latest management services bundle before upgrading the firmware on your storage nodes. If you are updating your Element software to version 12.2 or later, you need management services 2.14.60 or later to proceed. |
-
Cluster health: You have run health checks. See Run Element storage health checks prior to upgrading storage.
-
Updated baseboard management controller (BMC) for H610S nodes: You have upgraded the BMC version for your H610S nodes. See release notes and upgrade instructions.
For a complete matrix of firmware and driver firmware for your hardware, see supported storage firmware versions for SolidFire storage nodes. |
-
Upgrade process time: You have scheduled sufficient time to perform your upgrade. When you upgrade to Element software 12.5 or later, the upgrade process time varies depending on your current Element software version and firmware updates.
Storage Node Current Element software version Approximate software and firmware install time per node1 Approximate data synchronization time per node2 Approximate total upgrade time per node All SolidFire and NetApp H-series nodes with up-to-date firmware3
12.x
15 minutes
10 to 15 minutes
20 to 30 minutes
H610S and H410S
12.x and 11.8
60 minutes
30 to 60 minutes
90 to 120 minutes
H610S
11.7 and earlier
90 minutes
40 to 70 minutes
130 to 160 minutes
You must also perform a complete node shutdown and power disconnect for each H610S node.1For a complete matrix of firmware and driver firmware for your hardware, see supported storage firmware versions for SolidFire storage nodes.
2If you combine a cluster with a heavy write IOPS load with a longer firmware update time, the data synchronization time will increase.
3Beginning with Element 12.7, the SF2405 and SF9608 storage nodes and FC0025 and SF-FCN-01 FC nodes are not supported. If you attempt to upgrade one of these nodes to Element 12.7, you will see an error stating that this node is not supported by Element 12.7.
-
End User License Agreement (EULA): Beginning with management services 2.20.69, you must accept and save the EULA before using the NetApp Hybrid Cloud Control UI or API to upgrade storage firmware:
-
Open the IP address of the management node in a web browser:
https://<ManagementNodeIP>
-
Log in to NetApp Hybrid Cloud Control by providing the storage cluster administrator credentials.
-
Select Upgrade near the top right of the interface.
-
The EULA pops up. Scroll down, select I accept for current and all future updates, and select Save.
-
Choose one of the following storage firmware upgrade options:
Use NetApp Hybrid Cloud Control UI to upgrade storage firmware
You can use the NetApp Hybrid Cloud Control UI to upgrade the firmware of the storage nodes in your cluster.
-
If your management node is not connected to the internet, you have downloaded the storage firmware bundle.
For potential issues while upgrading storage clusters using NetApp Hybrid Cloud Control and their workarounds, see the KB article. |
The upgrade process takes approximately 30 minutes per storage node. If you are upgrading an Element storage cluster to storage firmware newer than version 2.76, individual storage nodes will only reboot during the upgrade if new firmware was written to the node. |
-
Open the IP address of the management node in a web browser:
https://<ManagementNodeIP>
-
Log in to NetApp Hybrid Cloud Control by providing the storage cluster administrator credentials.
-
Select Upgrade near the top right of the interface.
-
On the Upgrades page, select Storage.
The Storage tab lists the storage clusters that are part of your installation. If a cluster is inaccessible by NetApp Hybrid Cloud Control, it will not be displayed on the Upgrades page. If you have clusters running Element 12.0 or later, you will see the current firmware bundle version listed for these clusters. If the nodes in a single cluster have different firmware versions on them or as the upgrade progresses, you will see Multiple in the Current Firmware Bundle Version column. You can select Multiple to navigate to the Nodes page to compare firmware versions. If all your clusters are running Element versions earlier than 12.0, you will not see any information about firmware bundle version numbers.
If the cluster is up to date and/or no upgrade packages are available, the Element and Firmware Only tabs are not displayed. These tabs are also not displayed when an upgrade is in progress. If the Element tab is displayed, but not the Firmware Only tab, no firmware packages are available.
-
Select the drop-down arrow next to the cluster you are upgrading.
-
Select Browse to upload the upgrade package that you downloaded.
-
Wait for the upload to complete. A progress bar shows the status of the upload.
The file upload will be lost if you navigate away from the browser window. An on-screen message is displayed after the file is successfully uploaded and validated. Validation might take several minutes. If you navigate away from the browser window at this stage, the file upload is preserved.
-
Select Firmware Only, and select from the upgrade versions available.
-
Select Begin Upgrade.
The Upgrade Status changes during the upgrade to reflect the status of the process. It also changes in response to actions you take, such as pausing the upgrade, or if the upgrade returns an error. See Upgrade status changes. While the upgrade is in progress, you can leave the page and come back to it later to continue monitoring the progress. The page does not dynamically update status and current version if the cluster row is collapsed. The cluster row must be expanded to update the table or you can refresh the page.
You can download logs after the upgrade is complete.
Upgrade status changes
Here are the different states that the Upgrade Status column in the UI shows before, during, and after the upgrade process:
Upgrade state | Description |
---|---|
Up to Date |
The cluster was upgraded to the latest Element version available or the firmware was upgraded to the latest version. |
Unable to Detect |
This status is displayed when the storage service API returns an upgrade status that is not in the enumerated list of possible upgrade statuses. |
Versions Available |
Newer versions of Element and/or storage firmware are available for upgrade. |
In Progress |
The upgrade is in progress. A progress bar shows the upgrade status. On-screen messages also show node-level faults and display the node ID of each node in the cluster as the upgrade progresses. You can monitor the status of each node using the Element UI or the NetApp Element plug-in for vCenter Server UI. |
Upgrade Pausing |
You can choose to pause the upgrade. Depending on the state of the upgrade process, the pause operation can succeed or fail. You will see a UI prompt asking you to confirm the pause operation. To ensure that the cluster is in a safe spot before pausing an upgrade, it can take up to two hours for the upgrade operation to be completely paused. To resume the upgrade, select Resume. |
Paused |
You paused the upgrade. Select Resume to resume the process. |
Error |
An error has occurred during the upgrade. You can download the error log and send it to NetApp Support. After you resolve the error, you can return to the page, and select Resume. When you resume the upgrade, the progress bar goes backwards for a few minutes while the system runs the health check and checks the current state of the upgrade. |
What happens if an upgrade fails using NetApp Hybrid Cloud Control
If a drive or node fails during an upgrade, the Element UI will show cluster faults. The upgrade process does not proceed to the next node, and waits for the cluster faults to resolve. The progress bar in the UI shows that the upgrade is waiting for the cluster faults to resolve. At this stage, selecting Pause in the UI will not work, because the upgrade waits for the cluster to be healthy. You will need to engage NetApp Support to assist with the failure investigation.
NetApp Hybrid Cloud Control has a pre-set three-hour waiting period, during which one of the following scenarios can happen:
-
The cluster faults get resolved within the three-hour window, and upgrade resumes. You do not need to take any action in this scenario.
-
The problem persists after three hours, and the upgrade status shows Error with a red banner. You can resume the upgrade by selecting Resume after the problem is resolved.
-
NetApp Support has determined that the upgrade needs to be temporarily aborted to take corrective action before the three-hour window. Support will use the API to abort the upgrade.
Aborting the cluster upgrade while a node is being updated might result in the drives being ungracefully removed from the node. If the drives are ungracefully removed, adding the drives back during an upgrade will require manual intervention by NetApp Support. The node might be taking longer to do firmware updates or post update syncing activities. If the upgrade progress seems stalled, contact NetApp Support for assistance. |
Use NetApp Hybrid Cloud Control API to upgrade storage firmware
You can use APIs to upgrade storage nodes in a cluster to the latest Element software version. You can use an automation tool of your choice to run the APIs. The API workflow documented here uses the REST API UI available on the management node as an example.
-
Download the storage firmware upgrade package to a device that is accessible to the management node; go to the Element software downloads page and download the latest storage firmware image.
-
Upload the storage firmware upgrade package to the management node:
-
Open the management node REST API UI on the management node:
https://<ManagementNodeIP>/package-repository/1/
-
Select Authorize and complete the following:
-
Enter the cluster user name and password.
-
Enter the client ID as
mnode-client
. -
Select Authorize to begin a session.
-
Close the authorization window.
-
-
From the REST API UI, select POST /packages.
-
Select Try it out.
-
Select Browse and select the upgrade package.
-
Select Execute to initiate the upload.
-
From the response, copy and save the package ID (
"id"
) for use in a later step.
-
-
Verify the status of the upload.
-
From the REST API UI, select GET /packages/{id}/status.
-
Select Try it out.
-
Enter the firmware package ID you copied in the previous step in id.
-
Select Execute to initiate the status request.
The response indicates
state
asSUCCESS
when complete.
-
-
Locate the installation asset ID:
-
Open the management node REST API UI on the management node:
https://<ManagementNodeIP>/inventory/1/
-
Select Authorize and complete the following:
-
Enter the cluster user name and password.
-
Enter the client ID as
mnode-client
. -
Select Authorize to begin a session.
-
Close the authorization window.
-
-
From the REST API UI, select GET /installations.
-
Select Try it out.
-
Select Execute.
-
From the response, copy the installation asset ID (
id
)."id": "abcd01e2-xx00-4ccf-11ee-11f111xx9a0b", "management": { "errors": [], "inventory": { "authoritativeClusterMvip": "10.111.111.111", "bundleVersion": "2.14.19", "managementIp": "10.111.111.111", "version": "1.4.12"
-
From the REST API UI, select GET /installations/{id}.
-
Select Try it out.
-
Paste the installation asset ID into the id field.
-
Select Execute.
-
From the response, copy and save the storage cluster ID (
"id"
) of the cluster you intend to upgrade for use in a later step."storage": { "errors": [], "inventory": { "clusters": [ { "clusterUuid": "a1bd1111-4f1e-46zz-ab6f-0a1111b1111x", "id": "a1bd1111-4f1e-46zz-ab6f-a1a1a111b012",
-
-
Run the storage firmware upgrade:
-
Open the storage REST API UI on the management node:
https://<ManagementNodeIP>/storage/1/
-
Select Authorize and complete the following:
-
Enter the cluster user name and password.
-
Enter the client ID as
mnode-client
. -
Select Authorize to begin a session.
-
Close the window.
-
-
Select POST /upgrades.
-
Select Try it out.
-
Enter the upgrade package ID in the parameter field.
-
Enter the storage cluster ID in the parameter field.
-
Select Execute to initiate the upgrade.
The response should indicate state as
initializing
:{ "_links": { "collection": "https://localhost:442/storage/upgrades", "self": "https://localhost:442/storage/upgrades/3fa85f64-1111-4562-b3fc-2c963f66abc1", "log": https://localhost:442/storage/upgrades/3fa85f64-1111-4562-b3fc-2c963f66abc1/log }, "storageId": "114f14a4-1a1a-11e9-9088-6c0b84e200b4", "upgradeId": "334f14a4-1a1a-11e9-1055-6c0b84e2001b4", "packageId": "774f14a4-1a1a-11e9-8888-6c0b84e200b4", "config": {}, "state": "initializing", "status": { "availableActions": [ "string" ], "message": "string", "nodeDetails": [ { "message": "string", "step": "NodePreStart", "nodeID": 0, "numAttempt": 0 } ], "percent": 0, "step": "ClusterPreStart", "timestamp": "2020-04-21T22:10:57.057Z", "failedHealthChecks": [ { "checkID": 0, "name": "string", "displayName": "string", "passed": true, "kb": "string", "description": "string", "remedy": "string", "severity": "string", "data": {}, "nodeID": 0 } ] }, "taskId": "123f14a4-1a1a-11e9-7777-6c0b84e123b2", "dateCompleted": "2020-04-21T22:10:57.057Z", "dateCreated": "2020-04-21T22:10:57.057Z" }
-
Copy the upgrade ID (
"upgradeId"
) that is part of the response.
-
-
Verify the upgrade progress and results:
-
Select GET /upgrades/{upgradeId}.
-
Select Try it out.
-
Enter the upgrade ID from the previous step in upgradeId.
-
Select Execute.
-
Do one of the following if there are problems or special requirements during the upgrade:
Option Steps You need to correct cluster health issues due to
failedHealthChecks
message in the response body.-
Go to the specific KB article listed for each issue or perform the specified remedy.
-
If a KB is specified, complete the process described in the relevant KB article.
-
After you have resolved cluster issues, reauthenticate if needed and select PUT /upgrades/{upgradeId}.
-
Select Try it out.
-
Enter the upgrade ID from the previous step in upgradeId.
-
Enter
"action":"resume"
in the request body.{ "action": "resume" }
-
Select Execute.
You need to pause the upgrade because the maintenance window is closing or for another reason.
-
Reauthenticate if needed and select PUT /upgrades/{upgradeId}.
-
Select Try it out.
-
Enter the upgrade ID from the previous step in upgradeId.
-
Enter
"action":"pause"
in the request body.{ "action": "pause" }
-
Select Execute.
-
-
Run the GET /upgrades/{upgradeId} API multiple times, as needed, until the process is complete.
During the upgrade, the
status
indicatesrunning
if no errors are encountered. As each node is upgraded, thestep
value changes toNodeFinished
.The upgrade has finished successfully when the
percent
value is100
and thestate
indicatesfinished
.
-