Upgrade Failure

Juniper SRX300: How to perform a controlled upgrade with rollback safety net

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.

Every Juniper upgrade I have shipped to production was paired with a written rollback. Junos OS on the SRX300 family makes rollback cheap if you saved the previous image and config, and expensive if you did not.

The request system software add /var/tmp/junos-install.tgz command on Junos OS is straightforward once you have the right artifact staged. The trap is mismatched hardware-to-image: always cross-reference platform IDs from `show version` against the image name.

I file every upgrade run under a change number and attach the before/after `show version` and tech-support bundle. JTAC appreciates it; future me appreciates it even more.

What this guide covers

Perform a controlled upgrade with rollback safety net on a Juniper SRX300 (Junos OS).

Step-by-step

  1. Back up the current running config and image.
  2. Download the new image and verify checksum.
  3. Activate the new image; do NOT commit if the platform supports staged commit.
  4. Verify production traffic on the new image.
  5. Commit if healthy, or rollback within the safe window if not.

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.

Safety + preconditions

Before any work on a Juniper device:

Verification checklist

After applying the fix on your Juniper device, confirm:

Escalation guide

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

More frequently asked questions

Should I update firmware first or last?

Update firmware first if a release note specifically mentions your symptom. Otherwise, finish the troubleshooting flow first, then update; that way you can isolate whether the update or the underlying fix solved it.

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).

Can I roll this back if something breaks?

Yes for software-level changes (firmware rollback, config rollback). Hardware changes are usually one-way. Always back up settings before starting.

Will this void my warranty?

Applying official firmware updates and following the user manual will not affect warranty. Opening sealed components, jumping safety circuits, or using third-party parts can void warranty in most jurisdictions.

What if my model isn't exactly the same revision?

Cross-check the model code on the rating plate against the manufacturer support page. Major firmware generations sometimes shift the menu path; the option is usually under a similarly-named section.

Topology deep dive, how the SRX300 actually moves a packet

VCP-trunk (Virtual Chassis Port) on the SRX340 runs at 40 Gbps over the dedicated rear ports. If you cable VCP over the front 10G optics by mistake (a common install error at remote BFSI branches), the stack joins but every inter-member packet eats a hop of latency. Use `show virtual-chassis vc-port` to confirm cabling. The output column should read VCP rather than Network.

The Junos OS RPD (routing protocol daemon) holds the BGP / OSPF tables, and the kernel installs them into the PFE forwarding table via the rpd-to-kernel socket. On a busy NSEL Mumbai colo edge with 1.2 million BGP routes from two ISP feeds (Reliance Jio + Airtel), the rpd memory footprint hits 6.4 GB. The SRX1500 ships 8 GB DRAM, and you will see the RE swap to disk during convergence storms if you do not damp the import. `show route summary` is your friend.

The SRX1500 boot sequence runs U-Boot → Junos loader → Junos OS. If the loader> prompt appears and stays there, the bootloader survived but the Junos OS image on flash has gone bad. The recovery is to TFTP a known-good image from a 169.254.0.0/16 link-local laptop. On the BFSI side, we keep a staging laptop at every colo with a JTAC-approved image archive named by `sha256` for exactly this scenario.

Configuration walkthrough with Junos commit safety

For automation, NETCONF over SSH on port 830 is the standard. `set system services netconf ssh` enables it. Pair this with a service account whose AAA profile in `set system login user` uses `class super-user-local` only (no remote root). On the SRX340 at a BSNL POP in Vijayawada, we run Ansible juniper.device collection against this account, with vault-encrypted RSA 4096 keys. The keys rotate quarterly via a `gpg`-backed CI pipeline.

Rollback in Junos is granular. `rollback 1` brings back the last commit, `rollback 5` brings back five commits ago, and `show | compare rollback 1` diffs the live config against the previous one. On a Reliance Industries change window, our standard workflow is: open the candidate, `load merge terminal relative`, paste the change, `show | compare`, `commit check`, `commit confirmed 5`, then a final `commit` only after the verification script in `request system commands` passes.

The Junos commit model is two-stage by default: candidate config first, then `commit`. On a production SRX1500 at a BFSI data center, I always run `commit check` first, then `commit confirmed 5`. The `confirmed 5` flag rolls back automatically after five minutes if you do not run a second `commit` to make it permanent. This single habit has saved me from a midnight session at a colo cage more than once.

Troubleshooting commands I keep on the laminated card

India compliance and procurement notes (MeitY, DPDP, GeM)

The MeitY-cleared list (the TEC Mandatory Testing and Certification of Telecom Equipment list under ITSAR) covers Juniper SRX300, SRX340, and SRX1500 under the network security device family. For a BFSI deployment, the procurement team must verify the device serial is on the cleared list. If it is not, the audit finding lands in the next RBI cyber security framework audit, and the network handover is delayed.

The GeM (Government e-Marketplace) listing for SRX340 at the time of writing is INR 4,87,500 per unit, with SmartNet renewal at INR 85,000 per year. The BoQ for a typical BSE colo deployment includes 2 SRX340 in cluster, 1 EX4300 management switch, 2 RJ45 console servers (Opengear), and the AMC line item for 3 years totalling around INR 14,75,000. The procurement cycle is 90-120 days end-to-end through GeM.

Real-world deployment I did

A BFSI WAN refresh on the SRX1500 hit a strange symptom: trunk port ge-0/0/3 stopped passing VLAN 142 even though `show vlans` showed it on the list. The fault was a stale `bridge-domain` learnt MAC pointing to a previously-deployed Aruba switch IP that the client had decommissioned but never cleared. A `clear ethernet-switching table` cleared it. Five-second fix after a two-hour mis-diagnosis.

Last quarter at a BSE colo cage in BKC Mumbai, we had an SRX1500 that started dropping ge-0/0/12 every Tuesday at 02:14 IST. Three NOC shifts blamed the cable. I pulled `show interfaces ge-0/0/12 extensive` and the input errors lined up with a weekly cron on the upstream Cisco Catalyst pushing a full BGP table refresh. The actual fault was TCAM pressure on the SRX, not the optic. We added a route summarisation policy and the flap stopped. The replacement SFP we had pulled and labelled bad? Still in my toolbox, working fine.

Extended FAQs from the field

How do I verify a Junos OS image before flashing?

Pull the image hash from the JTAC download page (it lists SHA-512). On the device, use `file checksum sha-256 /var/tmp/junos-srxsme-22.4R3.7.tgz` and compare. Mismatch means the file was truncated or tampered, do not flash. On a BFSI environment, the staging server must enforce TLS 1.2+ on the file transfer, and the JTAC web download uses HTTPS by default.

What if `show chassis environment` reports Fan Tray Failed but the unit is cool?

Check the fan tray seating first: at India colo sites, dust loading and vibration from BMS construction nearby can dislodge a tray. Reseat, wait 60 seconds, recheck. If still failed, swap the tray (FRU SRX-FAN-TRAY is field-replaceable on the SRX1500). The tray FRU price is approximately INR 38,000 from the JTAC spares line.

Does the Junos OS upgrade need a maintenance window?

Yes. Even with `commit confirmed` and a dual-RE chassis, the FPC reboots during the package install. On the SRX1500 single-RE platform, this is a 6-8 minute outage. I schedule them in the 02:00-04:00 IST window after coordinating with the BFSI NOC on-call, the upstream Reliance Jio / Airtel ISP, and the downstream switch fabric team.

What is the realistic RMA turnaround in India?

JTAC depot in Bengaluru ships in 7-10 working days for in-warranty SRX300 / SRX340. For SRX1500 the depot is in Mumbai and the shipping is usually 5-7 working days. Out of warranty units go via the JTAC Spares purchase line at roughly 60-70% of the new BoQ price. Always confirm the serial entitlement via the support portal before opening the case.