Home / Reference / ONTAP upgrade paths

Supported ONTAP upgrade paths: direct, multi-hop & mixed-version rules

Before you stage an image, answer one question: is the path from your current release to your target release directly supported, or do you have to land on an intermediate release first? This guide collects the direct-upgrade rules, the multi-hop procedure, mixed-version cluster behavior during rolling upgrades, the pre-flight checklist, and the failure modes that pause real upgrades — for the ONTAP 9.16.1 through 9.19.1 era.

Fast answer for 9.16.1 → 9.19.1 ONTAP allows direct upgrades only to the next few releases; jumping several releases usually requires an intermediate stop. If you are on 9.16.1 and targeting 9.19.1, plan a staged path through the intervening feature releases — and confirm every hop with NetApp's Upgrade Advisor and the official upgrade-path documentation for your exact source and target versions before you touch a node.

Direct-upgrade rules

An ONTAP upgrade is a rolling operation: nodes update one at a time while each node's HA partner serves its data. The upgrade runbook covers the mechanics. The rule that decides which releases you may jump in one pass is version-pair specific:

Where this site's content is silent on a specific version pair, state the rule conservatively and check NetApp's upgrade documentation for your exact source and target releases.

When you must multi-hop

You need an intermediate release when your current version is too old to upgrade directly to your target. Common triggers:

Multi-hop is just several single upgrades run in sequence: pick the intermediate release, run the full rolling upgrade runbook, verify, then repeat for the next hop. Never skip the intermediate validation because the destination is "just an intermediate" — each hop is a full production upgrade with its own release notes and known issues.

Multi-hop procedure

Each hop follows the same cluster image cycle used for any ONTAP 9 upgrade. The commands below are the canonical sequence (also in the upgrade runbook):

# 0. Plan: record current full version on every node
version -v
cluster image show -fields node,package,version,state,is-current

# 1. Stage the target package from a source the cluster can reach (HTTP server or node path)
cluster image get -package http://192.0.2.10/ontap/<target>_image.tgz

# 2. Validate BEFORE updating — checks prerequisites and reports concrete issues
cluster image validate -node node1 -package <target>_image.tgz

# 3. Update one node first as a canary, then the rest
cluster image update -node node1 -package <target>_image.tgz
cluster image show-update-progress
cluster image update -nodes node2,node3,node4 -package <target>_image.tgz

Per node, ONTAP runs pre-validation, triggers automatic HA takeover (the partner serves the node's data), installs the image and reboots, gives storage and LIFs back, then moves to the next node. Keep the previous image staged until the new release has run for a few days — it is your fastest rollback asset.

For a multi-hop campaign, after the final node reports is-current: true on the hop target and post-upgrade verification passes, start the next hop with the next target package.

Version-path table: 9.14.1 to 9.19.1

Current feature releaseDirect-upgrade exampleNotes for this era
9.14.19.14.1 → 9.15.1The in-repo runbook's worked example of a supported direct upgrade.
9.15.19.15.1 → next releaseRunbook example of a deliberate downgrade target (9.15.1 → 9.14.1) after an upgrade.
9.16.19.16.1 → next releaseMinimum train for AFF A20/A30/A50, AFF C30/C60/C80, ASA r2 A20/A30/A50/C30, and FAS50.
9.17.19.17.1 → next releaseMinimum train for AFX 1K and its NSX224 shelf.
9.18.19.18.1 → next releaseA gate for several controller-upgrade paths (see ARL section).
9.19.1Newest train in this guideMinimum train listed for AFX 2K; adopt per support policy and workload certification.
This table is orientation, not approval. Whether a specific pair — including 9.16.1 → 9.19.1 — is a single supported jump depends on the exact source and target releases and your platform. Confirm each hop with the official upgrade-path documentation and Upgrade Advisor. Where the repo is silent on a pair, treat the conservative path (an intermediate stop) as the default.

Mixed-version clusters during rolling upgrades

Pre-upgrade checklist

Run these before staging anything on any hop. Fix anything red — ONTAP's own validation refuses to start an upgrade against a degraded cluster, and forcing one turns a rolling upgrade into an outage.

# Cluster is whole and quorate
cluster show
cluster ring show

# Exact current version, HA pairs fully healthy (partial takeover blocks a clean upgrade)
version -v
storage failover show
storage failover show-interconnect

# No failed disks, no reconstructing/degraded aggregates, no active health alerts
storage disk show -state failed
storage disk show -reconstruction
storage aggregate show -state degraded
system health alert show

# Every LIF on its home port — a LIF that cannot failover takes its SVM's clients down
network interface show -is-home false
network interface show -fields home-node,current-node,is-home

Common upgrade failures & recovery

SymptomRoot causeRemediation
Validation fails: LIFs not at homeLIFs off their home ports can't fail over predictably during takeoversnetwork interface revert -vserver * -lif *, resolve the port/link reason, re-run validation
storage failover veto during takeoverDegraded HA pair, quorum/epsilon issues, active dump, disk rebuildCheck storage failover show and show-interconnect; re-enable with storage failover modify -node <node> -enabled true; wait for rebuilds
Upgrade paused paused-on-errorAny blocking validation or warning mid-flightReview cluster image show-update-progress -details, fix the cause, cluster image resume-update (or resume-update -force-warnings true only after acknowledging a non-fatal warning)
Package download / checksum mismatchCorrupted package or insufficient mroot spaceRe-download from the NetApp support site and verify the SHA256 checksum
Giveback vetoed by client lockSMB open files or NFSv4 delegations pending releaseCheck vserver locks show; use storage failover giveback -node <node> -force true only if approved
SP/BMC firmware update timeoutHung service processor or network packet losssystem service-processor reboot-sp, then verify with system service-processor image show
Never force your way through a paused upgrade. Don't abort or force-reboot a node during active firmware flashing or takeover/giveback phases. The official ONTAP Upgrade Resolution Guide indexes every documented blocker by failure stage (pre-upgrade validation, takeover/giveback, post-upgrade verification) — it's the "before you open a TAC case" checklist. See the upgrade troubleshooting runbook for the full triage flow.

Controller upgrades (ARL) are their own path

Moving data to new controllers is a separate class of upgrade with its own rules. NetApp's ARL (aggregate relocation) selector maps supported controller replacements to minimum ONTAP levels — and some of those levels sit inside the 9.16.1–9.19.1 era:

Start from NetApp's ARL upgrade documentation before planning any controller move. The platform context for the trains in this guide lives in the release guide.

Sources and boundaries

This synthesis is built from this site's upgrade runbook, release guide, upgrade troubleshooting runbook, and gathered NetApp documentation summaries. It is community guidance, not a NetApp support statement: for any real upgrade, confirm the exact source→target pair in the official ONTAP upgrade documentation, run Upgrade Advisor, and check Hardware Universe and the Interoperability Matrix for your platform.

Related guides ONTAP release guide: 9.16.1–9.19.1 · What's new in ONTAP 9.19.1 · ONTAP upgrade runbook (rolling update) · Upgrade troubleshooting & recovery · ONTAP CLI cheat sheet · ONTAP glossary