Update the cluster software version
PATCH /cluster/software
Introduced In: 9.6
Updates the cluster software version. Important note:
-
Setting 'version' triggers the package installation.
-
To validate the package for installation but not perform the installation, use the
validate_only
field on the request.
Required properties
-
version
- Software version to be installed on the cluster.
Recommended optional parameters
-
validate_only
- Required to validate a software package before an upgrade. -
skip_warnings
- Used to skip validation warnings when starting a software upgrade. -
action
- Used to pause, resume, or cancel an ongoing software upgrade. -
stabilize_minutes
- Specifies a custom value between 1 to 60 minutes that allows each node a specified amount of time to stabilize after a reboot; the default is 8 minutes. -
estimate_only
- Estimates the time duration; does not perform any update. -
nodes_to_update
- Specifies a subset of the cluster's nodes for update. -
show_validation_details
- If the value is set to true, then all validation details will be shown in the output.
Related ONTAP commands
-
cluster image validate
-
cluster image update
-
cluster image pause-update
-
cluster image resume-update
-
cluster image cancel-update
Learn more
Parameters
Name | Type | In | Required | Description |
---|---|---|---|---|
skip_warnings |
boolean |
query |
False |
Ignore warnings and proceed with the install. |
action |
string |
query |
False |
Requests an upgrade to pause, resume, or cancel.
Note that not all upgrades support these actions. An upgrade can only be resumed if it is in the paused state. When a request to cancel an upgrade is successful, the upgrade state changes to either
|
stabilize_minutes |
integer |
query |
False |
Sets a custom value between 1 to 60 minutes for the upgrade, allowing each node a specified amount of time to stabilize after a reboot.
|
estimate_only |
boolean |
query |
False |
Generates an estimate of the time required for the overall update operation for the specified package. No update is performed when this option is used. The default is false.
|
force_rolling |
boolean |
query |
False |
Forces a rolling upgrade on the cluster. This option is not applicable for a single-node cluster and for a two-node MetroCluster. The default is false.
|
nodes_to_update |
string |
query |
False |
A comma separated list of node names to be updated. The nodes must be a part of a HA Pair. The default is all nodes.
|
show_validation_details |
boolean |
query |
False |
If the value is set to true, then all validation details will be shown in the output.
|
pause_after |
string |
query |
False |
The pause after specified tasks option. When ANDU is paused user interaction is required to resume the update. The default is none.
|
return_timeout |
integer |
query |
False |
The number of seconds to allow the call to execute before returning. When doing a POST, PATCH, or DELETE operation on a single record, the default is 0 seconds. This means that if an asynchronous operation is started, the server immediately returns HTTP code 202 (Accepted) along with a link to the job. If a non-zero value is specified for POST, PATCH, or DELETE operations, ONTAP waits that length of time to see if the job completes so it can return something other than 202.
|
validate_only |
boolean |
query |
False |
Validate the operation and its parameters, without actually performing the operation. |
Request Body
Name | Type | Description |
---|---|---|
_links |
||
action |
string |
User triggered action to apply to the install operation |
elapsed_duration |
integer |
Elapsed time during the upgrade or validation operation |
estimated_duration |
integer |
Overall estimated time for completion of the upgrade or validation operation. |
metrocluster |
||
nodes |
array[software_node_reference] |
List of nodes, active versions, and firmware update progressions. |
pending_version |
string |
Version being installed on the system.
|
post_update_checks |
List of failed post-update checks' warnings, errors, and advice. |
|
state |
string |
Operational state of the upgrade |
status_details |
Display status details. |
|
update_details |
Display update progress details. |
|
validation_results |
List of validation warnings, errors, and advice. |
|
version |
string |
Version of ONTAP installed and currently active on the system. During PATCH, using the 'validate_only' parameter on the request executes pre-checks, but does not perform the full installation.
|
Example request
{
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"action": "pause",
"elapsed_duration": 2140,
"estimated_duration": 5220,
"metrocluster": {
"clusters": [
{
"elapsed_duration": 2140,
"estimated_duration": 3480,
"name": "cluster_A",
"state": "in_progress"
}
],
"progress_details": {
"message": "Switchover in progress"
},
"progress_summary": {
"message": "MetroCluster updated successfully."
}
},
"nodes": [
{
"firmware": {
"cluster_fw_progress": [
{
"job": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"uuid": "string"
},
"update_state": [
{
"attempts": 3,
"code": 2228325,
"message": "Cannot open local staging ZIP file disk_firmware.zip",
"status": "string",
"worker_node": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "node1",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
}
}
],
"update_type": "string",
"zip_file_name": "disk_firmware.zip"
}
],
"disk": {
"average_duration_per_disk": 120,
"num_waiting_download": 0,
"total_completion_estimate": 0,
"update_status": "running"
},
"dqp": {
"file_name": "qual_devices_v3",
"record_count": {
"alias": 200,
"device": 29,
"drive": 680,
"system": 3
},
"revision": "20200117",
"version": "3.18"
},
"shelf": {
"in_progress_count": 2,
"update_status": "running"
},
"sp_bmc": {
"autoupdte": "",
"end_time": "2020-05-17T20:00:00Z",
"fw_type": "SP",
"image": "primary",
"is_current": 1,
"last_update_state": "passed",
"percent_done": 100,
"running_version": "1.2.3.4",
"start_time": "2020-05-17T20:00:00Z",
"state": "installed"
}
},
"name": "node1",
"software_images": [
{
"package": "image.tgz"
}
],
"version": "ONTAP_X"
}
],
"pending_version": "ONTAP_X_1",
"post_update_checks": [
{
"action": {
"message": "Use NFS hard mounts, if possible."
},
"issue": {
"message": "Cluster HA is not configured in the cluster."
},
"status": "warning",
"update_check": "nfs_mounts"
}
],
"state": "completed",
"status_details": [
{
"action": {
"message": "string"
},
"end_time": "2019-02-02T19:00:00Z",
"issue": {
"code": 10551399,
"message": "Image update complete"
},
"name": "initialize",
"node": {
"name": "node1"
},
"start_time": "2019-02-02T19:00:00Z",
"state": "failed"
}
],
"update_details": [
{
"elapsed_duration": 2100,
"estimated_duration": 4620,
"node": {
"name": "node1"
},
"phase": "Post-update checks",
"state": "failed"
}
],
"validation_results": [
{
"action": {
"message": "Use NFS hard mounts, if possible."
},
"issue": {
"message": "Cluster HA is not configured in the cluster."
},
"status": "warning",
"update_check": "nfs_mounts"
}
],
"version": "ONTAP_X"
}
Response
Status: 202, Accepted
Name | Type | Description |
---|---|---|
job |
Example response
{
"job": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"uuid": "string"
}
}
Error
Status: Default, Error
Name | Type | Description |
---|---|---|
error |
Example error
{
"error": {
"arguments": [
{
"code": "string",
"message": "string"
}
],
"code": "4",
"message": "entry doesn't exist",
"target": "uuid"
}
}
Definitions
See Definitions
href
Name | Type | Description |
---|---|---|
href |
string |
_links
Name | Type | Description |
---|---|---|
self |
software_mcc_reference
Name | Type | Description |
---|---|---|
elapsed_duration |
integer |
Elapsed duration of update time (in seconds) of MetroCluster. |
estimated_duration |
integer |
Estimated duration of update time (in seconds) of MetroCluster. |
name |
string |
Name of the site in MetroCluster. |
state |
Upgrade state of MetroCluster. |
progress_details
Name | Type | Description |
---|---|---|
message |
string |
MetroCluster update progress details. |
progress_summary
Name | Type | Description |
---|---|---|
message |
string |
MetroCluster update progress summary. |
metrocluster
Name | Type | Description |
---|---|---|
clusters |
array[software_mcc_reference] |
List of MetroCluster sites, statuses, and active ONTAP versions.
|
progress_details |
||
progress_summary |
job_link
Name | Type | Description |
---|---|---|
_links |
||
uuid |
string |
The UUID of the asynchronous job that is triggered by a POST, PATCH, or DELETE operation. |
worker_node
Name | Type | Description |
---|---|---|
_links |
||
name |
string |
|
uuid |
string |
firmware_update_progress_state
Name | Type | Description |
---|---|---|
attempts |
integer |
|
code |
integer |
Code corresponding to the status message. |
message |
string |
Error message returned when a cluster firmware update job fails. |
status |
string |
|
worker_node |
firmware_update_progress
Name | Type | Description |
---|---|---|
job |
||
update_state |
||
update_type |
string |
Specifies the type of update. |
zip_file_name |
string |
firmware_disk
Name | Type | Description |
---|---|---|
average_duration_per_disk |
integer |
Average firmware update duration per disk (in seconds). |
num_waiting_download |
integer |
The number of disks waiting to download the firmware update. |
total_completion_estimate |
integer |
Estimated firmware update duration to completion (in minutes). |
update_status |
Status of the background disk firmware update. |
firmware_dqp_record_count
Name | Type | Description |
---|---|---|
alias |
integer |
Alias record count |
device |
integer |
Device record count |
drive |
integer |
Drive record count |
system |
integer |
System record count |
firmware_dqp
Name | Type | Description |
---|---|---|
file_name |
string |
Firmware file name |
record_count |
||
revision |
string |
Firmware revision |
version |
string |
Firmware version |
firmware_shelf
Name | Type | Description |
---|---|---|
in_progress_count |
integer |
|
update_status |
Status of the shelf firmware update. |
firmware_sp_bmc
Name | Type | Description |
---|---|---|
autoupdte |
boolean |
|
end_time |
string |
|
fw_type |
string |
|
image |
string |
|
in_progress |
boolean |
|
is_current |
boolean |
|
last_update_state |
string |
|
percent_done |
integer |
|
running_version |
string |
|
start_time |
string |
|
state |
string |
firmware
Name | Type | Description |
---|---|---|
cluster_fw_progress |
array[firmware_update_progress] |
|
disk |
||
dqp |
||
shelf |
||
sp_bmc |
software_images
Name | Type | Description |
---|---|---|
package |
string |
Package file name. |
software_node_reference
Name | Type | Description |
---|---|---|
firmware |
||
name |
string |
Name of the node. |
software_images |
array[software_images] |
List of software image information. |
version |
string |
ONTAP version of the node.
|
action
Name | Type | Description |
---|---|---|
message |
string |
Specifies the corrective action to take to resolve an error. |
issue
Name | Type | Description |
---|---|---|
message |
string |
Details of the error or warning encountered by the update checks. |
software_validation_reference
Name | Type | Description |
---|---|---|
action |
||
issue |
||
status |
string |
Status of the update check. |
update_check |
string |
Name of the update check. |
action
Name | Type | Description |
---|---|---|
code |
integer |
Error code corresponding the status error |
message |
string |
Corrective action to be taken to resolve the status error. |
issue
Name | Type | Description |
---|---|---|
code |
integer |
Error code corresponding to update status |
message |
string |
Update status details |
node
Name | Type | Description |
---|---|---|
name |
string |
Name of the node to be retrieved for status details. |
software_status_details_reference
Name | Type | Description |
---|---|---|
action |
||
end_time |
string |
End time for each status phase. |
issue |
||
name |
string |
Name of the phase to be retrieved for status details. |
node |
||
start_time |
string |
Start time for each status phase. |
state |
string |
Status of the phase |
node
Name | Type | Description |
---|---|---|
name |
string |
Name of the node to be retrieved for update details. |
software_update_details_reference
Name | Type | Description |
---|---|---|
elapsed_duration |
integer |
Elapsed duration for each update phase |
estimated_duration |
integer |
Estimated duration for each update phase |
node |
||
phase |
string |
Phase details |
state |
string |
State of the update phase |
software_reference
Name | Type | Description |
---|---|---|
_links |
||
action |
string |
User triggered action to apply to the install operation |
elapsed_duration |
integer |
Elapsed time during the upgrade or validation operation |
estimated_duration |
integer |
Overall estimated time for completion of the upgrade or validation operation. |
metrocluster |
||
nodes |
array[software_node_reference] |
List of nodes, active versions, and firmware update progressions. |
pending_version |
string |
Version being installed on the system.
|
post_update_checks |
List of failed post-update checks' warnings, errors, and advice. |
|
state |
string |
Operational state of the upgrade |
status_details |
Display status details. |
|
update_details |
Display update progress details. |
|
validation_results |
List of validation warnings, errors, and advice. |
|
version |
string |
Version of ONTAP installed and currently active on the system. During PATCH, using the 'validate_only' parameter on the request executes pre-checks, but does not perform the full installation.
|
error_arguments
Name | Type | Description |
---|---|---|
code |
string |
Argument code |
message |
string |
Message argument |
error
Name | Type | Description |
---|---|---|
arguments |
array[error_arguments] |
Message arguments |
code |
string |
Error code |
message |
string |
Error message |
target |
string |
The target parameter that caused the error. |