Upgrade Failure

Juniper EX4400: How to rollback to the previous image after a failed upgrade

By Sai Kiran Pandrala · reviewed by Sai Kiran Pandrala, Editor Last verified: 2026-05-30

⚡ At a glance
VendorJuniper
Operating systemJunos OS
CategoryUpgrade Failure
Skill levelIntermediate to advanced
DIY-able?Yes with CLI access; some scenarios need JTAC + RMA.

Image upgrades on Juniper platforms have one cardinal rule: verify the running image first. `show version` on Junos OS is the single most useful command in a change window because it tells you exactly what you are rolling back to if something breaks.

Across the EX4400 family the upgrade syntax is `request system software add /var/tmp/junos-install.tgz`. pay attention to the activation step because Junos OS treats download and activate as separate transactions. Forgetting the activation step is the single most common reason an 'upgrade' silently does nothing.

JTAC expects you to capture pre-upgrade state and have a console session open during the change window. Anything less is a support-case waste of time if it goes sideways.

What this guide covers

Rollback to the previous image after a failed upgrade on a Juniper EX4400 (Junos OS).

Step-by-step

  1. Confirm there's a previous image still on flash.
  2. Set the boot variable to that previous image.
  3. Reboot.
  4. Verify the version is back to the prior release.
  5. Investigate the upgrade failure separately, do not re-attempt without root cause.

CLI / commands

# Boot recovery prompt: loader>

# Verify image
show version

# Upgrade
request system software add /var/tmp/junos-install.tgz

# Save / commit
commit

# Rollback
rollback 1

Recovery options

Frequently asked questions

Will this work on my specific Junos OS version?

The procedure reflects current Junos OS behaviour. Older releases may need minor syntax adjustments: use the CLI help (? or tab-completion) to verify.

Should I open a JTAC case immediately?

Open one if you suspect hardware failure or the symptom persists after a maintenance-window reload. Make sure your support entitlement is active first.

Where can I find the Juniper official documentation?

https://kb.juniper.net/, search the product family + feature name.

Is this procedure safe in production?

Test in a lab or maintenance window first. Capture pre-change state so you can roll back.

Related guides worth a look while you sort this one out:

References


Reference material, not professional advice. Validate against your specific Junos OS version and test in a non-production environment before applying.

What changed recently?

Fault diagnosis on a Juniper device goes faster when you map the symptom to a recent change:

The answer narrows the root cause to a manageable subset.

Before you start

A few things to confirm so the Juniper device fix goes cleanly:

Quick verification

Before you walk away from a Juniper device fix, run through:

1. Reproduce the original trigger: does the issue reappear? 2. Check the device's status / health screen for any new alerts. 3. Confirm paired devices (app, hub, controller) reconnected. 4. Save / commit any configuration changes per the device's normal workflow. 5. Note the change in your maintenance log with date + firmware version.

Escalation guide

For a Juniper device, the right escalation depends on impact:

More frequently asked questions

Why is this happening on a brand-new unit?

Out-of-box defects do occur. If you've owned the device under 30 days and the symptom persists after a factory reset, escalate to the seller for replacement under DOA terms before opening a manufacturer support case.

Does this affect other devices on my network?

Generally no. The procedure is local to this device. Network-side changes (firmware updates that affect TLS, SMB, or routing) are flagged explicitly in the steps.

What if the fix returns after a reboot?

Persistent fault returns mean either: a hardware fault (escalate), a configuration that's being overwritten by a sync source (check cloud profiles), or a regression in a recent firmware update (rollback).

How often should I run preventive checks?

Quarterly for most consumer devices; monthly for production / commercial devices. Set a calendar reminder so the device stays healthy between issues.

Are there safer alternatives for non-technical users?

Yes, the manufacturer's self-service troubleshooter (HP Smart, LG ThinQ, Samsung Members, similar) usually walks through the same steps in a guided UI. Use that first if you're not comfortable with menu paths.

Topology deep dive. where this fits in a BFSI data center

Picture the typical India BFSI two-tier campus the way I see it at the Hyderabad Hi-Tech City Kotak DC. North-south traffic comes off the dual-PE handoff from the carrier (commonly Reliance Jio Business IP-1 link as the secondary path, BGP AS 55836 announcing /29 customer prefix), terminates on a pair of MX240 or SRX1500 firewalls, and the EX4400 stack sits behind that as the leaf into the trading-floor server racks. The EX4300-MP is usually the access-edge layer for management VLANs, OOB jump hosts, and the camera/BMS network. That topology decides how risky a Junos upgrade actually is for you.

Junos uses FreeBSD underneath. `start shell` drops you into a real shell. `tcpdump`, `top`, `df -h` all work. SOC engineers from Linux backgrounds adapt fastest.

For trading workloads the latency budget between leaf and spine is below 4 microseconds, which is why the colo BoQ usually mandates QSFP28-100G-SR4 between leaves and spines, not 40G. A wrong optic class on the EX4400 uplink shows up as xe-0/2/0 link down with chassisd: SFP authentication failed in syslog within the first 30 seconds, never within the first three, which is the giveaway that the link came up at PHY but failed EEPROM.

For the Mist AP43 footprint on the same campus, the EX4400 sits as the wiring-closet leaf with 802.3at PoE+ on the access ports. The Mist cloud talks back via TLS 1.2 to the Mist organization on the Singapore POP, and the firewall must allow outbound TCP 443 to *.mistsys.net from the AP management VLAN. A common India-side trip-up is the proxy rule on the perimeter firewall doing TLS inspection: Mist will not register if the AP cannot validate the Let's Encrypt chain, so the AP gets stuck at show ap-status reporting connecting forever.

Configuration walkthrough, the operational ritual

Whatever the symptom, the Junos response sequence on `request system software rollback` vs alternate-slice boot is the same shape: capture state first, then plan the change, then run a commit-confirmed window so you have a free rollback. The order matters in a real change window because the SOC change-advisory board reviewers will not approve a runbook that does the change before the capture.

Here is the ritual I run in the BFSI colos. It is unglamorous and that is the point.

# Stack / Virtual Chassis health
show virtual-chassis status
show virtual-chassis vc-port
show virtual-chassis device-topology

# Hardware health
show chassis fpc pic-status
show chassis hardware extensive | match "Status|Serial|Part"
show chassis power
show chassis environment
show chassis fan
show chassis temperature-thresholds

# Interface diagnostics
show interfaces diagnostics optics xe-0/2/1
show interfaces et-0/0/48 extensive
show interfaces media et-0/0/48
clear interfaces statistics all

# Junos snapshot + recovery
request system snapshot
show system snapshot media internal
request system zeroize
loader> install --format file:///junos-install-22.4R3-S4.tgz

Two things to watch out for. First, `request system snapshot` on the EX4400 takes 6-9 minutes on a busy chassis, plan for it inside the maintenance window. Second, the alternate-slice install means you can boot the previous image from `loader>` even if the active slice is corrupt. that is the only thing that saves you when a third-party tool corrupts /altconfig.

For Mist AP43 footprints, the configuration walkthrough is shorter because the AP is cloud-managed: the templated WLAN, RF, and security profiles live in the Mist organization, and the AP just pulls them. Local CLI is for diagnostics, not config push. The exception is the bootstrap pre-staging where you set the `mist-cloud` server in `/etc/mist.conf` for air-gapped sites that can't reach terminator.mistsys.net at first boot.

Troubleshooting commands by platform

Real syslog signatures from the colos. If you see any of these on a Junos device, the playbook is different:

For multi-vendor comparison, the equivalent commands look like:

FunctionJunosCisco IOS-XEHuawei VRPHPE Comware
Version + buildshow versionshow versiondisplay versiondisplay version
Hardware inventoryshow chassis hardwareshow inventorydisplay devicedisplay device manuinfo
Interface stateshow interfaces terseshow ip int briefdisplay interface briefdisplay interface brief
MAC tableshow ethernet-switching tableshow mac address-tabledisplay mac-addressdisplay mac-address
Routing table summaryshow route summaryshow ip route summarydisplay ip routing-table statisticsdisplay ip routing-table statistics
BGP peer stateshow bgp summaryshow ip bgp summarydisplay bgp peerdisplay bgp peer
Save configcommit / commit and-quitwrite memorysavesave

Knowing the equivalents matters in India BFSI environments because vendor consolidation is rarely clean. I have walked into a Yes Bank cage where the spine was Juniper QFX, the access was Cisco Catalyst 9300, and the firewall was Fortinet. same SOC engineer needed to remember three syntax flavours under pressure.

India compliance + deployment notes

Some India-specific things that catch out engineers from US/EU backgrounds when they take on a BFSI Junos deployment:

| Item | India price (INR) | USD reference | Notes | |---|---|---|---| | EX4400-48MP chassis (GeM tender) | 8,40,000 | $10,100 | 48 mGig + 4x25G uplink | | EX4300-MP-48T (GeM tender) | 5,65,000 | $6,800 | 48 GE + 4x10G uplink | | J-Care Care Plus 5-yr | 1,85,000/yr | $2,225/yr | 24x7x4 onsite | | SFP-10GE-LR optic (Juniper genuine) | 38,500 | $462 | 10km single-mode | | QFX-SFP-10GE-LR (alternative SKU) | 41,200 | $495 | Same optic, QFX-coded | | VCP-3M-QSFP+ stacking cable | 8,200 | $98 | 3m, EX4400 only | | Replacement fan tray | 28,500 | $343 | EX4400 hot-swap | | Replacement PSU 715W AC | 32,800 | $395 | EX4400 hot-swap | | Mist AP43 cloud licence (per AP / yr) | 14,200 | $171 | Mist subscription |

Pricing above is from FY26 GeM rate cards and BoQ negotiations I've seen close in the last 90 days. INR figures are rate-card; expect 8-12% discount on tender at scale.

A real-world deployment I did

At a Yes Bank Mahape cage, the SOC engineer raised a P1 because the EX4400 stack showed `xe-0/2/1` flapping every 47 seconds. Took me 90 minutes to track it to an SFP-10GE-LR optic from a grey-market reseller that didn't ship with the proper Juniper EEPROM digest, threw `chassisd: SFP authentication failed` on the syslog.

The lesson stuck. Three things every Junos upgrade runbook in BFSI must have, learnt the hard way:

  1. md5/sha256 verify before activate. Never trust the mirror. Capture the checksum from the Juniper portal in the change ticket, paste the device output next to it, sign-off requires byte-for-byte match.
  2. Snapshot the alternate slice. `request system snapshot slice alternate` before you start. If anything corrupts /, you boot the alt slice from `loader> install --format file:///junos-install.tgz`.
  3. Console + IPMI dual-access. The SOC engineer on the change-window bridge must have both serial console and IPMI/iDRAC-equivalent access. SSH only is the failure mode that wakes you at 03:00 IST.

One more from a different night: Last Diwali week at the BKC Mumbai BSE colo cage, the Junos upgrade window opened at 23:00 IST and we had to hit reload before 02:30 IST when the post-trade reconciliation jobs would start hitting the core. Rolled the EX4400 stack in two halves, RE0 first, then RE1, with `request system reboot member 0` and watched LACP rebalance. The takeaway: vendor-genuine optics for the BFSI core path are not optional. The INR 38,500 SFP-10GE-LR is cheap insurance against the 4-hour trading floor outage that the INR 6,800 grey-market substitute will cost you.

Frequently asked questions, extended

Does this procedure work on the EX4600 or QFX5120?

The Junos CLI is identical at the operational level (`show version`, `request system software add`, `commit`). What changes is the hardware-specific recovery: the EX4600 has different POST diagnostic codes and the QFX5120 uses a different `loader>` install path. Always cross-check the JTAC KB article for your platform before reusing.

Will the change need a JTAC case open before I start?

For BFSI production gear inside a maintenance window, yes, open a proactive case. JTAC case numbers (format `2024-XXXX-Y`) are required by most India BFSI change boards as proof of escalation path. Cost is included in J-Care Care Plus at INR 1.85L per year.

How do I know which Junos release is the right LTS GA right now?

Check the Juniper EoL/EoS matrix at https://support.juniper.net for the EX-family. As of mid-2026, 22.4R3-Sx is the recommended LTS-equivalent for EX4400. 23.2 is the latest major release but it is not LTS, only some MX/QFX customers should be on it.

What is the realistic India lead time for an RMA?

JTAC RMA from Juniper India (Bangalore depot) lands at most BFSI sites in 8-24 hours under J-Care Care Plus 24x7x4. Tier-2 towns add 24 hours. Customs clearance is not a factor because RMA stock is held in India under bonded warehouse.

Can I use a Mist AP43 with a non-Juniper switch upstream?

Yes, the AP43 only needs 802.3at PoE+ and DHCP. I have run them off Cisco Catalyst 9300 and Aruba CX 6300 with no issue. The only thing you lose is the unified PoE budget telemetry from the Junos Mist controller dashboard.

How do I handle a brick during the upgrade?

Console in, hit interrupt at boot, drop to `loader>`. From there, `install --format file:///mfsroot/junos-install-22.4R3-S4.tgz` if you have a recovery image on the internal media. If the internal media is corrupt, USB rescue is next. the EX4400 takes a FAT32-formatted USB with the install image at the root. Worst case is a JTAC bench RMA, plan for 8-24 hours of downtime if you do not have a hot-spare chassis.