Skip to main content
A newer release of this product is available.

Update the cluster software version

Contributors

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.

  • 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.

  • cluster image validate

  • cluster image update

  • cluster image pause-update

  • cluster image resume-update

  • cluster image cancel-update

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 success or failure.

  • enum: ["pause", "resume", "cancel"]

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.

  • Introduced in: 9.8

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.

  • Introduced in: 9.9

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.

  • Introduced in: 9.9

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.

  • Introduced in: 9.9

show_validation_details

boolean

query

False

If the value is set to true, then all validation details will be shown in the output.

  • Introduced in: 9.11

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.

  • Introduced in: 9.9

  • enum: ["none", "takeover_giveback", "all"]

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.

  • Default value: 1

  • Max value: 120

  • Min value: 0

validate_only

boolean

query

False

Validate the operation and its parameters, without actually performing the operation.

Request Body

Name Type Description

_links

_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

metrocluster

nodes

array[software_node_reference]

List of nodes, active versions, and firmware update progressions.

pending_version

string

Version being installed on the system.

  • example: ONTAP_X_1

  • readOnly: 1

  • Introduced in: 9.6

  • x-nullable: true

post_update_checks

array[software_validation_reference]

List of failed post-update checks' warnings, errors, and advice.

state

string

Operational state of the upgrade

status_details

array[software_status_details_reference]

Display status details.

update_details

array[software_update_details_reference]

Display update progress details.

validation_results

array[software_validation_reference]

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: ONTAP_X

  • Introduced in: 9.6

  • x-nullable: true

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-17 20:00:00 +0000",
          "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-17 20:00:00 +0000",
          "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-02 19:00:00 +0000",
      "issue": {
        "code": 10551399,
        "message": "Image update complete"
      },
      "name": "initialize",
      "node": {
        "name": "node1"
      },
      "start_time": "2019-02-02 19:00:00 +0000",
      "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: 200, Ok
Name Type Description

job

job_link

Example response
{
  "job": {
    "_links": {
      "self": {
        "href": "/api/resourcelink"
      }
    },
    "uuid": "string"
  }
}

Response

Status: 202, Accepted

Error

Status: Default, Error
Name Type Description

error

returned_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

Name Type Description

self

href

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.

  • readOnly: 1

  • Introduced in: 9.6

progress_details

progress_details

progress_summary

progress_summary

Name Type Description

_links

_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

_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

worker_node

firmware_update_progress

Name Type Description

job

job_link

update_state

array[firmware_update_progress_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

firmware_dqp_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

firmware_disk

dqp

firmware_dqp

shelf

firmware_shelf

sp_bmc

firmware_sp_bmc

software_images

Name Type Description

package

string

Package file name.

software_node_reference

Name Type Description

firmware

firmware

name

string

Name of the node.

software_images

array[software_images]

List of software image information.

version

string

ONTAP version of the node.

  • example: ONTAP_X

  • readOnly: 1

  • Introduced in: 9.6

  • x-nullable: true

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

action

issue

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

action

end_time

string

End time for each status phase.

issue

issue

name

string

Name of the phase to be retrieved for status details.

node

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

node

phase

string

Phase details

state

string

State of the update phase

software_reference

Name Type Description

_links

_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

metrocluster

nodes

array[software_node_reference]

List of nodes, active versions, and firmware update progressions.

pending_version

string

Version being installed on the system.

  • example: ONTAP_X_1

  • readOnly: 1

  • Introduced in: 9.6

  • x-nullable: true

post_update_checks

array[software_validation_reference]

List of failed post-update checks' warnings, errors, and advice.

state

string

Operational state of the upgrade

status_details

array[software_status_details_reference]

Display status details.

update_details

array[software_update_details_reference]

Display update progress details.

validation_results

array[software_validation_reference]

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: ONTAP_X

  • Introduced in: 9.6

  • x-nullable: true

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.