In this blog, we'll walk you through how to experience UHC hands-on using NetApp Lab on Demand — a self-service lab environment available to NetApp customers, partners, and internal teams. Whether you're a customer evaluating UHC for your upgrade planning, a NetApp Professional Services consultant, or a Systems Account Manager (SAM), this guide gives you a risk-free way to explore UHC's capabilities before deploying it in your production environment.
What is Upgrade Health Checker?
Upgrade Health Checker (UHC) is an onsite advisory tool for ONTAP systems designed to perform comprehensive pre-upgrade health assessments. It connects to your ONTAP cluster, collects AutoSupport data, evaluates over 1,800 upgrade rules, and generates a detailed report identifying everything you need to address before upgrading.
| Capability | What It Does |
|---|---|
| Actionable Insights | Provides targeted recommendations to resolve pre-upgrade blockers and warnings, enabling efficient decision-making |
| Continuous Validation | Maintains current validation checks and risk assessments to ensure upgrade readiness with every run |
| Automation Integration | Seamlessly integrates with existing automation and orchestration frameworks via CLI parameters and config files |
| Multi-Format Reports | Generates HTML (human-readable), JSON (machine-processable), and Excel reports for every assessment |
| Firmware Awareness | Collects and reports Service Processor, drive, and storage shelf firmware information |
Setting Up Your Lab Environment
NetApp Lab on Demand provides a fully configured environment with everything you need to try UHC — ONTAP clusters, a Windows jumphost, and a Linux host. Here's how to get started:
1 Request the Lab
- Navigate to labondemand.netapp.com and log in
- Request the "Early Adopter Lab for ONTAP 9.15.1 v1.0" lab
- Provide a description (e.g., "UHC evaluation"), select your purpose, and choose the required lab duration
- Submit the lab request
2 Connect to the Lab
- Under My Labs (labondemand.netapp.com/mylabs), click Connect to launch the lab
- This opens the Jumphost (Windows Server 2019) — your entry point to the lab
- Click Lab Notes to access the lab documentation for reference
- Lab credentials are available from within the lab by navigating to the "Lab Credentials" bookmark page in Google Chrome:
http://ae.demo.netapp.com/accounts
3 Download UHC to the Jumphost
From within the Jumphost, open a web browser and download UHC:
- Navigate to the NetApp Support Site — Upgrade Health Checker
- Log in with your NSS credentials
- Download
uhc_v7.zip(the latest version)
4 Transfer UHC to the Linux Host
UHC runs on Linux, so we need to transfer the zip file from the Jumphost to RHEL1:
- Download and install WinSCP on the Jumphost (accept defaults during installation)
- When prompted, click Yes to import stored sessions from PuTTY — this will import RHEL1 and both cluster connections
- Launch WinSCP from the desktop, select RHEL1, and click Login
- Enter the RHEL1 password (from the Lab Credentials page)
- In WinSCP, navigate to
C:\Users\Administrator.DEMO\Downloadson the left pane (Jumphost) - Drag and drop
uhc_v7.zipto the RHEL1 host (right pane)
Running UHC on the Lab Cluster
Now comes the exciting part — running UHC against the lab's ONTAP cluster. Connect to RHEL1 via PuTTY and follow these steps:
5 Install and Launch UHC
# Unzip the UHC package
unzip uhc_v7.zip
# Navigate to the extracted folder
cd uhc_v7/
# Make UHC executable
chmod +x uhc
# Launch UHC in interactive mode
./uhc
6 Follow the Interactive Prompts
UHC will guide you through the setup. Here's what to enter for the lab environment:
| Prompt | What to Enter |
|---|---|
| Cluster IP Address | 192.168.0.101 (cluster1) |
| Cluster Username | admin |
| Cluster Password | Use the password from Lab Credentials page |
| EULA | Type all to view, then y to accept |
| Target ONTAP Version | Use arrow keys to select (e.g., 9.17.1P6) |
Once you provide the inputs, UHC takes over automatically:
- Validates credentials and connects to the cluster
- Detects cluster topology — cluster1 with 2 nodes (cluster1-01, cluster1-02), running ONTAP 9.15.1
- Triggers AutoSupport generation on each node (~4–5 minutes per node)
- Downloads and parses ASUP data (505+ section files per node)
- Evaluates upgrade rules — 91 Upgrade Advisor (UA) rules and 1,500+ At-Risk Systems (ARS) rules
- Collects firmware information — Service Processor, drives, and storage shelves
- Generates reports — HTML, JSON, and Excel formats
- Uploads telemetry to NetApp and checks for auto-updates
Report Generation Status: Success
Telemetry Upload Status : Success
Auto-Update Status : No New Update
Overall execution time: 560.77 seconds
Reviewing the UHC Report
UHC generates three report formats in the results directory:
# Navigate to the results
cd /root/uhc_v7/runs/20260417_060930_d707cdbb-5936-4c2b-afaf-d1a377a9e996/192.168.0.101/results/
# List the reports
ls -lrt
# uhc_cluster1_20260417060902.html (2.5 MB - human-readable)
# uhc_cluster1_20260417060902.json (3.9 MB - machine-processable)
# uhc_cluster1_20260417060902.xlsx (484 KB - Excel spreadsheet)
To view the HTML report, transfer it back to the Jumphost using WinSCP (reverse the earlier process) and open it in the web browser. Here's what you'll find in the report for our lab cluster:
Cluster Summary
| Property | Value |
|---|---|
| Cluster Name | cluster1 |
| Current ONTAP Version | 9.15.1 |
| Target ONTAP Version | 9.17.1P6 |
| Nodes | cluster1-01, cluster1-02 (both SIMBOX) |
| Storage Disks | 34 total, 966.91 GB capacity |
| Multi-Admin Verification | Not Enabled |
Assessment Results
For our lab cluster upgrading from 9.15.1 to 9.17.1P6, UHC evaluated 1,669 rules and found:
| Category | Count | What It Means |
|---|---|---|
| 🔴 Blockers | 0 | No critical issues preventing upgrade |
| 🟡 Warnings | 3 | Non-blocking issues to review before upgrade |
| 🔵 Functional Changes | 5 | Feature/behavior changes to be aware of |
| ⚠️ At Risk | 12 | Known risks relative to the target version |
| ✅ Passed | 474 | Checks that passed successfully |
| ⏭️ Skipped | 1,175 | Rules not applicable to this configuration |
Summary
In under 30 minutes, you've experienced the full UHC workflow — from downloading and installing the tool on a Linux host to generating a comprehensive pre-upgrade health report for an ONTAP cluster. Here's what we accomplished:
- ✅ Set up a Lab on Demand environment with ONTAP 9.15.1 clusters
- ✅ Downloaded and installed UHC v7 on a RHEL 8 Linux host
- ✅ Ran UHC interactively against cluster1 (2-node cluster)
- ✅ Generated HTML, JSON, and Excel reports assessing upgrade readiness to 9.17.1P6
- ✅ Reviewed assessment results: 0 blockers, 3 warnings, 474 passed checks across 1,669 rules
Lab on Demand is the perfect sandbox to build confidence with UHC before rolling it out across your production fleet. Try different target ONTAP versions, explore the report details, and familiarize yourself with the assessment categories.
🔜 Coming Up Next: Production-Ready Deployment
This blog covered the basics of getting started with UHC. In our upcoming follow-up blog, we'll dive deep into production-ready deployment best practices — including:
- Dedicated service account setup with restricted REST roles
- Configuration file (
config.yaml) for non-interactive automation - Fleet-scale scheduling with cron for weekly health assessments
- Credential management with enterprise credential managers
- NFS-backed output storage for durability and compliance
- Network requirements and air-gapped deployment guidance
Stay tuned!
Resources
| Resource | Link |
|---|---|
| UHC Documentation | docs.netapp.com/us-en/upgrade-health-checker |
| Download UHC | NetApp Support Site |
| NetApp Console Automation Hub | console.netapp.com/automationHub |
| Lab on Demand | labondemand.netapp.com |
| UHC Overview Video | Upgrade Health Checker: An Overview |
| Input Parameters Reference | Input Parameters Guide |
Contact Us
For questions, feedback, or assistance with Upgrade Health Checker, reach out to the UHC product team:
