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_onlyfield 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. 
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. 
  | 
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_records  | 
boolean  | 
query  | 
False  | 
The default is false. If set to true, the records are returned. 
  | 
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 | 
|---|---|---|
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  | 
Estimated time remaining until 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
{
  "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": [
    {
      "name": "node1",
      "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": "Pre-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": {
    "uuid": "string"
  }
}
Error
Status: Default, Error
Definitions
See Definitions
href
| Name | Type | Description | 
|---|---|---|
href  | 
string  | 
_links
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 | 
|---|---|---|
uuid  | 
string  | 
The UUID of the asynchronous job that is triggered by a POST, PATCH, or DELETE operation.  | 
worker_node
| Name | Type | Description | 
|---|---|---|
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_states  | 
||
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  | 
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]  | 
software_node_reference
| Name | Type | Description | 
|---|---|---|
name  | 
string  | 
Name of the node.  | 
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 | 
|---|---|---|
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  | 
Estimated time remaining until 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.  |