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. -
skip_nodes_at_target_version
- If the value is set to true, then nodes already at the target version will not be upgraded. Defaults to true in non-MetroCluster configurations. Setting this option to false will force all the selected nodes of the cluster to undergo upgrade.
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. If the nodes_to_update parameter is empty then upgrade will error out and will not proceed.
|
show_validation_details |
boolean |
query |
False |
If the value is set to true, then all validation details will be shown in the output.
|
skip_nodes_at_target_version |
boolean |
query |
False |
Defaults to true in non-MetroCluster configurations. When set to true, nodes already at the target version will not be upgraded. Setting this field to false will force nodes at the target version to undergo upgrade including migrating LIFs, performing takeover/giveback, and rebooting. It's invalid to set this option to true when the action field is set. It's an invalid option until effective cluster version is 9_16_0.
|
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
Response
Response
Status: 202, Accepted
Error
Status: Default
ONTAP Error Response Codes
Error Code | Description |
---|---|
2424933 |
An internal error occurred while checking MetroCluster information. |
2424998 |
An internal error occurred while checking MetroCluster configuration. |
2425737 |
An internal error occurred while checking MetroCluster information. |
10551297 |
Failed to find an update in progress. |
10551298 |
Internal error while attempting to pause the upgrade operation. |
10551300 |
There is no update in progress to be paused. |
10551303 |
The operation is invalid while the update is not in the paused state. |
10551304 |
An internal error occurred while canceling the current update operation. |
10551306 |
A cancel operation is not possible at this time. |
10551315 |
Failed to find the package in the package repository. |
10551319 |
An internal error occurred while preparing for the update. |
10551320 |
Failed to create task on master update manager node. |
10551325 |
The required package version is not present in RDB. |
10551353 |
Internal error occurred while running the ANDU pre-validation checks. |
10551354 |
Invalid operation while the package is being deleted. |
10551357 |
The operation is invalid while a previous update is still in progress. |
10551368 |
The list of nodes should contain HA pairs only. |
10551391 |
An internal error occurred while performing the upgrade operation. |
10551395 |
ANDU validation check resulted in warnings. |
10551396 |
ANDU validation checks failed. |
10551434 |
The options are invalid for a resume operation. |
10551524 |
The upgrade operation is in the running state, pause the operation before attempting to cancel. |
10551558 |
Cluster configuration is not supported. |
10551564 |
Batch mode upgrade is not supported for MetroCluster configurations. |
10551565 |
Failed to contact the MetroCluster partner cluster, check the MetroCluster configuration then try again. |
10551566 |
Validation is not complete on the partner MetroCluster cluster. |
10551567 |
The required package is not available on the partner MetroCluster cluster. |
10551572 |
Internal error while checking the update status from RDB. Ensure that cluster is healthy and retry the operation. |
10551573 |
The running update is not in paused state on the MetroCluster partner cluster, so it cannot be resumed. |
10551574 |
The running update is not in the paused state on the MetroCluster partner cluster, so it cannot be canceled. |
10551592 |
The nodes selection option is not supported for MetroCluster configurations. |
10551599 |
Double-hop package is missing. |
10551602 |
A double-hop upgrade is not supported. |
10551606 |
An option selected requires a higher effective cluster version. |
10551643 |
Operation invalid while controller replacement is in progress. |
10551656 |
Invalid operation while ANDU validation checks are in progress. |
10551718 |
Invalid operation before running validation checks. |
10551719 |
ANDU validation results are too old. |
10551720 |
ANDU validation checks have failed with errors on both clusters in a MetroCluster config. |
10551724 |
ANDU validation checks were run on a different version from the requested operation. |
10551837 |
An internal error occurred while generating the AutoSupport prior to starting ANDU. |
10551840 |
An internal error occurred while generating the AutoSupport prior to starting ANDU. |
10551841 |
An internal error occurred while generating the AutoSupport prior to starting ANDU. |
10551854 |
All specified nodes are already running the specified package version. |
10551859 |
Failed to access the package repository and its backup copy. |
10551897 |
All nodes are already running the requested version. |
10551898 |
Failed to get nodes-to-update list. |
10551899 |
skip_nodes_at_target_version cannot be specified in a validate_only, pause, resume, or cancel operations. |
10551900 |
skip_nodes_at_target_version cannot be set to true in MetroCluster configurations. |
10551901 |
skip_nodes_at_target_version conflicts with another specified field. |
10551902 |
Failed to determine if the cluster is configured for MetroCluster. |
10551908 |
skip_nodes_at_target_version is not a valid option until effective cluster version is 9_16_0. |
10551910 |
The operation is invalid while in the current upgrade state. |
13303864 |
SnapMirror operation is in progress, retry later. |
Also see the table of common errors in the Response body overview section of this documentation.
Name | Type | Description |
---|---|---|
error |
Example error
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 |
---|---|---|
autoupdate |
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 |
returned_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. |