Rolling back an upgrade on Junos
On Juniper devices, there are two steps performed during the upgrade.
The first is to push the software to the device and the second one is to reboot the device so that the software would be installed.
You can perform these two steps in a single operation(add ‘reboot’ knob) or you can split the two steps in two operations.
You might take the second approach in case you want to install the software(which needs a reboot) later in a MW so you won’t cause a service impact during business hours.
This poses a problem because in case you would like to cancel the upgrade and someone reboot the device, then after reboot, it will have the new version.
So this is how you can cancel a pending upgrade.
For instance, this is the history of the software installations on this VC, first 11.4R8 was installed and then 12.3R6, so the current release is 12.3R6:
{master:1} root@EX4200-VC> show version member 0 fpc0: -------------------------------------------------------------------------- Hostname: EX4200-VC Model: ex4200-24f JUNOS Base OS boot [12.3R6.6] JUNOS Base OS Software Suite [12.3R6.6] JUNOS Kernel Software Suite [12.3R6.6] JUNOS Crypto Software Suite [12.3R6.6] JUNOS Online Documentation [12.3R6.6] JUNOS Enterprise Software Suite [12.3R6.6] JUNOS Packet Forwarding Engine Enterprise Software Suite [12.3R6.6] JUNOS Routing Software Suite [12.3R6.6] JUNOS Web Management [12.3R6.6] JUNOS FIPS mode utilities [12.3R6.6] {master:1} root@EX4200-VC> show system snapshot media internal member 0 fpc0: -------------------------------------------------------------------------- Information for snapshot on internal (/dev/da0s1a) (backup) Creation date: May 29 01:44:00 2013 JUNOS version on snapshot: jbase : ex-11.4R8.5 jkernel-ex: 11.4R8.5 jcrypto-ex: 11.4R8.5 jdocs-ex: 11.4R8.5 jswitch-ex: 11.4R8.5 jpfe-ex42x: 11.4R8.5 jroute-ex: 11.4R8.5 jweb-ex: 11.4R8.5 fips-mode-powerpc: 11.4R8.5 Information for snapshot on internal (/dev/da0s2a) (primary) Creation date: Mar 13 10:37:04 2014 JUNOS version on snapshot: jbase : ex-12.3R6.6 jkernel-ex: 12.3R6.6 jcrypto-ex: 12.3R6.6 jdocs-ex: 12.3R6.6 jswitch-ex: 12.3R6.6 jpfe-ex42x: 12.3R6.6 jroute-ex: 12.3R6.6 jweb-ex: 12.3R6.6 fips-mode-powerpc: 12.3R6.6 {master:1} root@EX4200-VC>
I will upgrade to 12.3R7, but without rebooting:
{master:1} root@EX4200-VC> ... add /var/tmp/jinstall-ex-4200-12.3R7.7-domestic.tgz [Nov 6 09:37:36]: Retrieving software images. This process can take several minutes. Please be patient.. [Nov 6 09:37:40]: Retrieving version and model information from /var/tmp/jinstall-ex-4200-12.3R7.7-domestic.tgz [Nov 6 09:37:51]: Checking pending install on fpc0 [Nov 6 09:37:51]: Checking pending install on fpc1 [Nov 6 09:37:51]: Pushing bundle to fpc0 [Nov 6 09:38:16]: Validating on fpc0 [Nov 6 09:38:31]: Validating on fpc1 [Nov 6 09:38:32]: Done with validate on all virtual chassis members fpc0: WARNING: A reboot is required to install the software WARNING: Use the 'request system reboot' command immediately fpc1: WARNING: A reboot is required to install the software WARNING: Use the 'request system reboot' command immediately {master:1} root@EX4200-VC>
If I need to cancel the upgrade, I can use ‘request system software rollback’:
{master:1} root@EX4200-VC> request system software rollback fpc0: -------------------------------------------------------------------------- software update backed out. fpc1: -------------------------------------------------------------------------- software update backed out. {master:1} root@EX4200-VC>
The same command can be used to toggle between releases(the current one and the previous one):
{master:1} root@EX4200-VC> request system software rollback fpc0: -------------------------------------------------------------------------- Junos version '11.4R8.5' will become active at next reboot fpc1: -------------------------------------------------------------------------- Junos version '11.4R8.5' will become active at next reboot {master:1} root@EX4200-VC> request system software rollback fpc0: -------------------------------------------------------------------------- Junos version '12.3R6.6' will become active at next reboot fpc1: -------------------------------------------------------------------------- Junos version '12.3R6.6' will become active at next reboot {master:1} root@EX4200-VC>
Unfortunately, I haven’t found a way to figure out that there is a pending installation.
You could check the logs, but this is not something easily seen:
{master:1} root@EX4200-VC> show log messages | match software Nov 6 10:00:54 EX4200-VC mgd[11707]: %INTERACT-6-UI_CMDLINE_READ_LINE: User 'root', command 'request system software add /var/tmp/jinstall-ex-4200-12.3R7.7-domestic.tgz ' Nov 6 10:28:46 EX4200-VC mgd[13146]: %INTERACT-6-UI_CMDLINE_READ_LINE: User 'root', command 'request system software rollback ' Nov 6 10:28:47 EX4200-VC mgd[13217]: %INTERACT-6-UI_CMDLINE_READ_LINE: User 'root', command 'command rpc rpc command request system software rollback rollback no-forwarding ' Nov 6 10:28:57 EX4200-VC mgd[13146]: %INTERACT-6-UI_CMDLINE_READ_LINE: User 'root', command 'show log messages | match software ' {master:1} root@EX4200-VC>
Paris ARAU
Latest posts by Paris ARAU (see all)
- Junos Fusion – Part IV – Satellite policies and uplink failure detection - 30 July 2018
- Junos Fusion – Part III – Satellite commands and traffic forwarding - 16 July 2018
- Junos Fusion – Part II – Configuration, Administration and Operation - 16 July 2018
- Junos Fusion – Part I – Overview, Components, Ports and Software - 11 July 2018
- Vagrant – Part IV – Network topology using Juniper and Cumulus - 26 April 2018
Salut,
Multumesc, Paris!
Ce m-as face fara tine? :)
Numai bine,
Petru Gulian
Hostname: rdnvej436ltb0g32-re1
Model: mx960
Junos: 15.1F6-S10.9
Pending: 15.1F6-S3.8
Hi Mick,
Can you please provide additional information?
Thanks,
Paris