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:
| Area | Requirement |
|---|---|
| Upgrade path | Supported by NetApp for the source and target versions |
| HA | Storage failover enabled and healthy |
| Network | LIF failover targets exist in the right broadcast domains |
| Replication | No unexpected unhealthy SnapMirror relationships |
| Hosts | Critical applications have maintenance approval |
| Support | AutoSupport 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
- Resolve validation errors before upgrade; warnings should be reviewed and documented.
- Avoid changing unrelated network, disk, or replication settings during the upgrade.
- Keep a support case or escalation path ready for production arrays.
- Do not cancel or manually interfere with an automated upgrade without understanding the paused state.
- Validate client-facing access after the final post-checks, not only cluster version.