Storage Admin Hub
Upgrades & Firmware · Detailed procedure

Post-upgrade checks: ONTAP, firmware, DQP and client service

A practical acceptance checklist with read-only commands, expected results, scoped LIF correction, Linux/Windows tests and failed-check decisions.

Scope

Standard AFF/FAS HA maintenance · select checks for the changed component and protocols actually deployed

Scenario

Illustrative acceptance record for lab-01 and lab-02, SVM svm_lab, NAS LIF nas_lab_01, shelf 1.2 and representative NAS/SAN clients. Compare every result with the saved precheck baseline and the approved target. The commands use documentation names and addresses. Client tests create only a uniquely named temporary file in an authorized test folder; no raw writes to production LUNs are used.

About the command and output examples

Names, addresses and results are illustrative. Commands have not been executed against a live storage system or SAN switch for this publication. Confirm syntax and compatibility for your release, then rehearse in an approved lab. Existing-data recovery and destructive changes need an environment-specific plan. Read the editorial standards.

01Define what counts as complete

Separate the update’s completion state, the running version, infrastructure availability and the application’s accepted service. A successful command or idle updater proves only part of this chain. Use the same object names, client identities and transaction before and after the window. If a check does not apply, record why instead of marking an untested row as passed.

Choose the relevant postcheck rows
Change typeMandatory component proofService proof
ONTAP softwareAll intended running builds and completed upgrade phasesHealthy HA/quorum, storage, network and application
Disk firmwarePer-model active revisions and no failed eligible disk updateNormal RAID, paths and representative I/O
Shelf firmwareEach targeted module’s active revision and update completionRestored shelf paths, modules and client service
SP/BMCActive image plus a usable out-of-band connectionHA/data service unchanged and management access restored
BIOS/LOADERRunning version after required activation/rebootNormal node boot, HA and application acceptance
DQPApproved package identity on every intended nodeNo unexplained qualification/hardware change
  1. Prepare the expected target values before the change. Include patch suffixes, model-specific firmware and the DQP package identity.
  2. Record observation time, observer, object identity, actual result and evidence location. A green monitoring dashboard alone is insufficient for an unobserved application transaction.
Acceptance check

Every intended component and service has a specific test and acceptance owner.

02Verify ONTAP versions and update state

Software result interpretation
ResultDecision
Both running versions match the approved targetContinue with HA and service checks
One node still has the source buildUpgrade is not accepted; inspect the unfinished stage
Target build visible only as a stored imageVerify activation/running state
Both versions match but post-update phase failedInvestigate the failed postcheck before closure
  1. Confirm the final phases completed for all intended nodes. If an update remains waiting, paused or failed, identify that stage before declaring the upgrade complete.
  2. Compare the running/current build of lab-01 and lab-02 with the approved full version. Do not mistake a stored alternate image for the running release.
  3. If versions disagree, preserve the output and inspect the current orchestration state. Do not begin a second image update or generic revert while the original state is unresolved.
Read-only software acceptance; run after an ONTAP upgrade
cluster image show-update-progress
cluster image show
set -privilege advanced
system node image show -version
system node upgrade-revert show
set -privilege admin
Acceptance check

The expected running build is proven on every intended node and the upgrade has no unresolved phase.

03Verify cluster membership, HA and quorum

All intended nodes should be healthy and eligible, and the HA relationship should be back in its normal ready state. Compare each RDB ring across nodes: matching epochs and consistent primary/master membership for that ring are the relevant evidence. Different rings can use different primaries. An unexpected quorum condition requires diagnosis, not a database reset or another reboot.

  1. Compare HA readiness with the precheck baseline and verify there is no unexpected takeover or pending giveback.
  2. For SAN, confirm the relevant services remain operational and in quorum, then validate actual host access in the SAN section.
  3. If a node is unhealthy, identify its new EMS/hardware/network condition and keep the change open until it is resolved or an explicitly accepted recovery plan is active.
Read-only cluster/HA checks with advanced quorum inspection
cluster show
storage failover show
system health status show
system health alert show
set -privilege advanced
cluster ring show -unitname mgmt
cluster ring show -unitname vldb
cluster ring show -unitname vifmgr
# SAN clusters:
cluster ring show -unitname bcomd
cluster kernel-service show
set -privilege admin
Acceptance check

Membership, HA and applicable SAN/quorum services are normal on all intended nodes.

04Verify LIF state and correct only the intended NAS interface

Example: nas_lab_01 remains on lab-02 after lab-01 returns, and lab-01’s home port is healthy. A scoped revert can restore the intended placement. If that home port is down, forcing placement is not a fix; repair the port/path issue first.

  1. Compare administrative/operational state and home/current placement with the precheck record. Validate actual reachability from the representative clients, not just the storage management session.
  2. For a NAS LIF that should return home, verify the home node/port and VLAN/broadcast domain are available. A non-home placement may be an approved exception, so review its reason first.
  3. Enable only an interface that the approved plan says should be enabled. Preserve intentionally disabled interfaces. Revert the specific eligible NAS LIF and inspect it afterward. SAN interfaces follow their protocol-specific design and should not receive a blanket NAS migration correction.
ONTAP admin · read-only network postchecks
network interface show -fields home-node,home-port,curr-node,curr-port,is-home,status-admin,status-oper
network interface show -service-policy *data* -failover
network port show
network port broadcast-domain show
Conditional ONTAP changes · only after home-port and intended-state checks
# Conditional corrections for the named NAS LIF only:
network interface modify -vserver svm_lab -lif nas_lab_01 -status-admin up
network interface revert -vserver svm_lab -lif nas_lab_01
network interface show -vserver svm_lab -lif nas_lab_01
Acceptance check

Each expected LIF is operational in its accepted placement and relevant clients can use it.

05Compare storage inventory, RAID and hardware paths

  1. Confirm the intended aggregates and volumes remain available with the expected ownership, state and capacity. Compare against saved object counts and identifiers rather than assuming that an empty error list covers every object.
  2. Check for newly broken disks, RAID degradation/reconstruction, module faults and missing storage connections. Existing acknowledged conditions should remain separately documented.
  3. After a shelf or disk change, observe until required redundancy and normal operation are restored. Client I/O through one surviving path is not the same as full path acceptance.
ONTAP admin · read-only storage postchecks
storage aggregate show
volume show
storage disk show -broken
storage shelf show
storage shelf show -module
storage shelf show -connectivity
storage shelf show -errors
system health alert show
Acceptance check

Expected storage objects are present and usable, and there is no unexplained new degradation or path loss.

06Verify active firmware and DQP independently

Firmware and DQP acceptance
CheckPass criterionCommon false success
DisksAccepted revision for each intended model and no failed eligible updateUpdater idle but an intended disk remains old
ShelfAccepted active revision on each targeted moduleOne module updated while its partner did not
SP/BMCAccepted active image, online state and real authorized accessProgress finished but remote management is unavailable
BIOS/LOADERExpected running values after activationNew value only on boot media
DQPApproved package identity on every intended nodeThe same format version is mistaken for the same package
  1. Select only the component checks that apply. BIOS boot-media commands must be supported by the actual release/platform; use the firmware guide’s version-specific branch.
  2. Keep staged, installed and running values distinct in the change record. Explain any no-change result by showing that the device was already at the accepted target.
  3. A failed/pending component update remains a follow-up condition even if the ONTAP software upgrade itself succeeded.
Component selection required · do not expect every command on every platform/release
storage disk show -fields model,firmware-revision
storage shelf show -shelf 1.2 -module
system service-processor image show -instance
system service-processor show
storage dqp show -instance
set -privilege advanced
storage disk firmware show-update-status -instance
storage shelf firmware show-update-status -instance
set -privilege admin
system service-processor image update-progress show
# Supported BIOS/LOADER workflow only:
system node firmware bootmedia show
Acceptance check

Every changed component has its own active-version and health evidence, with no hidden pending update.

07NFS client postcheck as the intended user

Run these Linux examples from an authorized client using the application identity and its existing approved mount. Confirm the mounted protocol, endpoint and expected dataset first. Use a dedicated test folder and a unique temporary file so cleanup cannot remove another user’s data. This transaction verifies current file service, not the full integrity of every application dataset.

  1. Confirm identity, mount version/options and target path match the precheck. A mount still listed by findmnt can have a broken data path, so execute the transaction.
  2. Verify create, write, readback and delete. Retain return codes and observed latency. If it fails, identify whether transport, export evaluation or file identity/permissions changed.
  3. Have the application owner run its normal integrity/transaction check against known data. Compare a previously recorded read-only checksum or application marker when available.
Linux client · creates/reads/deletes one unique file in an authorized test directory
# Linux client — run the transaction as the intended application user:
id
findmnt -T /mnt/projects
testfile=$(mktemp /mnt/projects/upgrade-check.XXXXXX)
printf '%s\n' 'Storage Admin Hub postcheck' > "$testfile"
cat "$testfile"
test "$(cat "$testfile")" = 'Storage Admin Hub postcheck'
sha256sum "$testfile"
rm -- "$testfile"
Acceptance check

The intended user succeeds on the same NFS endpoint and application acceptance also passes.

08SMB client postcheck with Windows PowerShell

Use the actual intended Windows user and UNC endpoint. The following test creates a GUID-named file, verifies its contents and removes only that file. The example share is fictional; replace it with an authorized test location. A successful administrative storage login does not test domain authentication, share permissions or SMB client behavior.

  1. Record the connected server/share, user and SMB dialect and compare them with the baseline.
  2. Run the controlled transaction and then test the real application’s usual access. If the write succeeds but another identity fails, investigate that user’s authorization rather than widening the share globally.
  3. When a test fails before cleanup, retain or remove only its known GUID file through the authorized process. Do not use wildcard deletion in a production share.
Windows PowerShell · scoped SMB round-trip transaction
# Windows client — PowerShell under the intended test identity:
Get-SmbConnection
$testPath = Join-Path '\\nas-lab.example.net\projects' ('upgrade-check-' + [guid]::NewGuid().ToString() + '.txt')
$marker = 'Storage Admin Hub postcheck ' + [guid]::NewGuid().ToString()
Set-Content -LiteralPath $testPath -Value $marker -ErrorAction Stop
$readback = (Get-Content -LiteralPath $testPath -Raw -ErrorAction Stop).TrimEnd()
if ($readback -ne $marker) { throw 'SMB readback did not match' }
Get-FileHash -LiteralPath $testPath
Remove-Item -LiteralPath $testPath -ErrorAction Stop
Acceptance check

The same authorized SMB identity can read/write/delete and the application’s actual workflow is accepted.

09SAN host and application postchecks

Compare LUN identity, size, mapping, host-visible device and expected usable paths with the baseline. Supported ALUA paths can have different access states; do not demand that every path be active/optimized. The acceptable count and state come from the host/protocol design. For NVMe-oF or a hypervisor, use the matching NetApp host procedure and platform tooling.

  1. Confirm the correct LUN/device remains accessible to the intended host. Reconcile any missing path with target interface, zoning/fabric, iSCSI session and host multipath state.
  2. Read host/application event logs for I/O errors during the window and afterward. A device marked online can still have experienced an application timeout.
  3. Have the owner execute an application-native read/write transaction and consistency check. Do not use dd, filesystem formatting or raw block-device writes as a production postcheck.
Commands run on different systems · ONTAP, Linux or Windows as labeled
# ONTAP admin — select the deployed protocol:
lun mapping show
vserver fcp interface show
vserver iscsi session show
# Linux host:
multipath -ll
lsblk -o NAME,SIZE,TYPE,MOUNTPOINTS
# Windows host:
mpclaim -s -d
Get-Disk
Get-Volume
Acceptance check

Correct devices, supported path resilience and actual application I/O are proven without an unexplained all-path-loss or data-integrity error.

10Verify protection, snapshots and recovery-point age

Synthetic RPO example: the accepted destination point is 11:20 and verification occurs at 11:35, so its age is 15 minutes. With a 20-minute objective this may be acceptable; if the next transfer fails and the point reaches 40 minutes, the change’s protection acceptance is no longer met. Evaluate the usable completed point, not just a healthy label.

  1. Compare relationship identity, state, health, last completed transfer and policy with the precheck. A transfer merely started is not a completed recovery point.
  2. Check any deliberately suspended workflow against the change record and resume only that known relationship or schedule. Do not break/resync a healthy mirror to clear an upgrade notification.
  3. Wait for the next expected protection cycle and verify completion. Application-consistent backup integrations also need their application/backup owner’s check.
Read-only protection checks plus a narrowly scoped conditional resume
snapmirror show
snapmirror show -destination-path svm_dr:vol_projects_dr -instance
volume snapshot show -vserver svm_lab -volume vol_projects
# Conditional only: a relationship intentionally quiesced by the approved change:
snapmirror resume -destination-path svm_dr:vol_projects_dr
Acceptance check

Protection is active and a completed usable point meets the documented recovery objective.

11Verify special features, monitoring and comparable performance

Compare latency, IOPS, throughput and client errors under a comparable workload. A quiet post-window sample is not proof of unchanged peak-period performance. If latency rises, investigate paths, load and queueing before assuming that the ONTAP build alone caused it. Keep monitoring through the next relevant backup or busy period. Feature-specific checks supplement, rather than replace, the baseline HA/storage/client tests.

Configuration-specific additions
If deployedPostcheck evidence
External/onboard key managementExpected key availability/connectivity and the feature-specific upgrade check
VscanScanner connectivity and a controlled scan/access test using the existing Vscan runbook
FPolicyExternal engine/event-policy connectivity and expected client behavior
SnapMirror active sync / MetroClusterExact topology-specific health, mediator/replication and applicable post-upgrade checks
Backup/NDMP/SnapCenter integrationsNext scheduled job succeeds with the intended recovery point
Automation and monitoringCollectors authenticate, return current data and report errors correctly
Read-only events and an example performance sample; use comparable workload conditions
event log show -time >1h
system health alert show
set -privilege advanced
qos statistics volume performance show -vserver svm_lab -volume vol_projects -iterations 10
set -privilege admin
Acceptance check

Relevant security/protection features work, monitoring is current and performance differences are explained under comparable conditions.

12Handle a failed postcheck and retain a usable change record

Failed-check decisions
FailureImmediate decisionEvidence for diagnosis
ONTAP node still on source versionKeep upgrade open and inspect the incomplete stageNode running versions and ANDU phase/log
HA or quorum abnormalStop further node maintenance and investigatePartner state, rings, relevant events and console
NAS unreachable or writes deniedSeparate transport, export/share and identity checksActual client, LIF, path and user transaction
SAN path count reducedInvestigate host/fabric/target before accepting resilienceDevice identity, session/path output and I/O errors
Firmware pending/failedKeep component acceptance openTarget device/model, package and active/staged versions
DQP mismatchVerify the specific node’s installationPer-node date, file version and download error
RPO exceededEscalate protection failure to its ownerLast usable point, transfer error and elapsed age
  1. Keep planned suppression from masking a real outage and inform the change/service owner through the normal incident process. Preserve timestamps, identifiers and relevant logs.
  2. Use the documented recovery route for the observed state. Canceling an upgrade, restoring a configuration file or running a generic revert is not a universal correction for a client path failure.
  3. Create a post-change configuration backup after acceptance and retain it securely off-cluster. Reuse the backup/export procedure in the ONTAP guide with a new post-change filename.
  4. Close only when required rows pass or an authorized exception has its impact, owner and deadline recorded.
Completion notifications after accepted service
system node autosupport invoke -node * -type all -message "POSTCHECKS_ACCEPTED"
system node autosupport invoke -node * -type all -message "MAINT=END"
Worked sign-off template · no fabricated production results
Illustrative acceptance record — replace with observed results:
Change / target: approved ONTAP or component build
Nodes / components covered: lab-01, lab-02, named shelf/modules
Software / firmware / DQP identity: actual before and after values
HA / storage / network: accepted checks with evidence timestamps
NAS / SAN application test: user, endpoint, transaction and result
Protection: last completed usable recovery point and actual age
Monitoring / performance: compared baseline and relevant next-cycle result
Exceptions: specific impact, owner, decision and due date
Accepted by / time: storage and application owners
Acceptance check

The record demonstrates active versions, restored resilience and accepted application/protection service, not only completed commands.