IOS upgrades are one of the highest-risk, most time-consuming tasks in network operations. A single mistake (wrong image, insufficient flash space, missed pre-check) can take down a core switch in the middle of a maintenance window. Staying current is non-negotiable: Cisco PSIRT advisories keep coming, end-of-life timelines keep moving, and your security team keeps asking questions you can't answer with a three-year-old IOS version.

The good news is that with the right methodology and tooling, upgrading hundreds of devices can be predictable, safe, and even boring. Here's exactly how to do it.

Skip the hard way

Everything described in this article (inventory, pre-checks, image staging, wave execution, and validation) is handled automatically by NetGUI. One campaign setup, one click to start.

What typically takes a team of engineers across multiple weekends runs as a supervised, fully automated campaign. We still think it's worth understanding the methodology, but you won't have to do any of it by hand.

See NetGUI in Action
Step 1 of 5

Build a Complete, Accurate Inventory

Before you touch a single device, you need to know exactly what you're working with. That means a full list of every device: current IOS version, platform and model, available flash space, config-register value, and your target IOS version. Miss a device or record the wrong version, and your upgrade plan is already compromised.

In a typical environment this means SSH-ing to every device, running show version and show flash:, and recording results in a spreadsheet (or hoping your CMDB is actually up to date, which it usually isn't). For 50 devices that's an afternoon. For 500, it's a week.

With NetGUI: done in seconds

NetGUI automatically discovers and inventories your entire Cisco estate. The moment you connect it to Cisco Catalyst Center, every device is catalogued with its current IOS version, platform family, available flash space, and upgrade eligibility, all in one view. No spreadsheets, no manual SSH sessions, no stale CMDB data. You're ready to plan an upgrade campaign before your coffee gets cold.

Step 2 of 5

Run Pre-Flight Checks on Every Device

This is the step most teams skip, and the one that causes the most pain. Before transferring any image, you need to verify that every device can actually accept the upgrade cleanly:

  • Enough free flash space for the new image (in Install mode, you need space for both the old and new image simultaneously)
  • Correct config-register setting for the target boot mode
  • SCP or TFTP access enabled and reachable from your file server
  • ROMMON version compatible with the target IOS
  • No existing error conditions in the device logs

Discovering at 2 AM during a maintenance window that a device has only 50MB of free flash when the target image is 800MB is not a situation you want to be in.

Pro tip: Always run pre-flight checks at least 48 hours before your maintenance window. This gives you time to clean flash, fix access issues, and resolve anything unexpected without pressure.

With NetGUI: automatic pre-flight, zero surprises

NetGUI runs a full automated pre-flight check on every device in your campaign before anything is transferred. It flags devices with insufficient flash, wrong config-register settings, or unreachable file transfer paths, and tells you exactly what needs to be fixed. You walk into your maintenance window knowing every device is ready. No surprises.

Step 3 of 5

Choose the Right Upgrade Method

Cisco supports two upgrade approaches, and mixing them up across a campaign is a reliable way to create confusion:

  • Bundle mode: The IOS image runs directly from a single .bin file in flash. Simpler flash management, but requires a full reload to activate. Most common on older Catalyst platforms.
  • Install mode: IOS is installed as a package set in a specific directory structure. Supports In-Service Software Upgrades (ISSU) on capable platforms, cleaner flash management, but the process is more involved. Required on newer Catalyst 9000 series switches.

The correct method depends on your platform. You can't use Install mode on a device that doesn't support it, and running Bundle mode on a Catalyst 9000 is a step backwards. In a mixed environment, this means tracking the right method per device family and executing different processes for different groups. Manually, this is easy to get wrong.

With NetGUI: one target version, zero confusion

You set the target IOS version once. NetGUI automatically detects whether each device requires Bundle mode or Install mode and applies the right upgrade process. No manual branching, no per-device scripts. A campaign with 200 Catalyst 3850s and 100 Catalyst 9300s just works, each device upgraded correctly, without you having to think about it.

Step 4 of 5

Execute in Waves, Not All at Once

This is the most important rule in large-scale IOS upgrades: never upgrade your entire network in a single campaign. A phased wave approach is the only way to contain blast radius if something goes wrong.

A proven wave structure for most environments:

  • Wave 1 (Pilot): 2–5 non-critical access switches. Verify success end-to-end, confirm rollback works, review logs. Go/no-go before proceeding.
  • Wave 2 (Access layer): Remaining access switches, in groups by building or floor. One group at a time.
  • Wave 3 (Distribution layer): Smaller group, higher impact. Tighter maintenance window, extra validation.
  • Wave 4 (Core): The smallest and most carefully controlled wave. Full change advisory board approval, explicit rollback plan.

Each wave needs a clear checkpoint: confirm all devices are running the new version, check interface states against pre-upgrade baseline, review syslogs. Only then do you proceed to the next wave.

Doing this manually means tracking wave membership in a spreadsheet, executing device by device, and manually checking status between waves. A 500-device environment split into 4 waves across two weekends is a serious project management challenge.

With NetGUI: campaigns that run themselves

NetGUI's campaign scheduler lets you define device groups, set maintenance windows per wave, and configure automatic pause-on-failure rules, all from a single screen. Start the campaign, and NetGUI executes each wave in sequence, pausing for your approval between waves or automatically stopping if a device fails. You watch a live dashboard instead of babysitting SSH sessions. What used to take a team of engineers over a weekend can run with one person monitoring a screen.

Step 5 of 5

Validate, Verify, and Document

The upgrade isn't done when the device comes back online. Post-upgrade validation is what separates a professional change from a finger-crossed reload. For every device, you need to confirm:

  • New IOS version is actually running (show version)
  • All interfaces are in the expected state (compare to pre-upgrade baseline)
  • No unexpected error messages in the syslog
  • ROMMON updated if required by the new IOS version
  • Old IOS image removed from flash (in Install mode) to reclaim space
  • CMDB and inventory records updated

For 10 devices, this is manageable. For 300, it means hours of SSH sessions, manual comparison, and spreadsheet updates, often at 4 AM after a maintenance window when everyone wants to go home.

With NetGUI: instant validation and audit-ready reports

NetGUI automatically runs post-upgrade validation on every device the moment it comes back online, comparing the new state against the pre-upgrade baseline and flagging any interface drops or log anomalies. When the campaign completes, a full audit report is generated automatically: every device, its old version, new version, upgrade timestamp, and validation status. Ready for your change management record with zero manual effort.

The Bottom Line

IOS upgrades don't have to be the most stressful week in your network operations calendar. The methodology above works. The five steps are sound regardless of what tooling you use. The difference is execution time, risk surface, and how much of your team's attention it consumes.

Done manually, a 300-device upgrade campaign typically takes 2–3 engineers across 3–4 maintenance windows, with significant risk of human error at each step. With NetGUI, the same campaign runs largely unattended, with one engineer monitoring a dashboard while the platform handles inventory, pre-checks, image distribution, wave execution, and post-upgrade validation automatically.

The five steps are the same. The experience couldn't be more different.

NG
The NetGUI Team
NetGUI Engineering & Network Operations
We write about Cisco network automation, IOS lifecycle management, and the operational challenges that NetGUI was built to solve.
Back to Blog
Share: