Skip to main content

NetApp

ONTAP Code Upgrade Runbook With CLI and REST API Checks

Upgrade Principle

Use the supported automated nondisruptive upgrade path whenever the cluster supports it. NetApp recommends automated upgrade workflows and documents the CLI flow with cluster image update, cluster image show-update-progress, cluster image resume-update, and cluster image cancel-update: Install the ONTAP image with automated nondisruptive ONTAP upgrade.

Do not treat a code upgrade like a file copy. Treat it like a controlled infrastructure change with eligibility, health, client access, and rollback decisions understood before the image is activated.

Prechecks

system health status show
cluster show
cluster image show
storage failover show
network interface show -role data
network port show
volume show -state !online
snapmirror show -fields status,healthy,lag-time
system node autosupport invoke -node * -type all -message "MAINT=START ONTAP upgrade"

Confirm:

AreaRequirement
Upgrade pathSupported by NetApp for the source and target versions
HAStorage failover enabled and healthy
NetworkLIF failover targets exist in the right broadcast domains
ReplicationNo unexpected unhealthy SnapMirror relationships
HostsCritical applications have maintenance approval
SupportAutoSupport and support entitlement are current

CLI Upgrade Process

Validate or add the software image according to your internal image staging process. Generate an estimate before the live update:

cluster image update -version <target_version> -estimate-only
cluster image show-update-progress

Start the automated upgrade:

cluster image update -version <target_version>

Monitor until prechecks, node updates, and post-checks complete:

cluster image show-update-progress
system health status show
storage failover show

If the upgrade pauses, do not start manual node work immediately. Read the pause reason, fix the issue, then resume if appropriate:

cluster image show-update-progress
cluster image resume-update

REST API Validation Process

Use REST for repeatable precheck evidence and after-state capture.

curl -k -u admin:'<password>' \
  "https://cluster.example.com/api/cluster?fields=version,nodes"

curl -k -u admin:'<password>' \
  "https://cluster.example.com/api/cluster/nodes?fields=name,version,ha,uptime,state"

curl -k -u admin:'<password>' \
  "https://cluster.example.com/api/network/ip/interfaces?fields=name,svm.name,ip.address,location,state,enabled"

curl -k -u admin:'<password>' \
  "https://cluster.example.com/api/snapmirror/relationships?fields=healthy,state,lag_time,source,destination"

For upgrade execution, prefer the documented System Manager or CLI upgrade workflow unless your ONTAP release and automation standard have validated the matching REST upgrade endpoints in a lab. A best-practice automation should gather evidence through REST and only execute upgrade operations through an approved, tested method.

Post-Upgrade Evidence

cluster show
cluster image show
cluster image show-update-progress
system health status show
storage failover show
network interface show -role data
snapmirror show -fields status,healthy,lag-time
system node autosupport invoke -node * -type all -message "MAINT=END ONTAP upgrade"

REST evidence:

curl -k -u admin:'<password>' \
  "https://cluster.example.com/api/cluster?fields=version,nodes"

Best Practices

Back to top