Community ForumCommunity Wiki * Blog Home  * Log in
« »

Upgrading with ISSU

posted in Cisco Networking
by on May 14th, 2012 tags: , , ,


I recently had to upgrade the IOS on a Cisco 4500.  I figured it was the perfect opportunity to try out ISSU and to blog about it.

ISSU (In-Service Software Upgrade) is a feature that allows the operator to upgrade (or downgrade) the IOS on device without having to take the entire device down and potentially impact service. This is partly accomplished with the SSO supervisor redundancy mode that performs the subsecond supervisor switchovers while each supervisor is restarted and loaded with the new (or old) IOS.

In brief, the process works as follows: Both supervisors are running the old image. The standby supervisor is restarted and loaded with the new image. The operator switches over to the standby supervisor to ‘test drive’ the new image. The switchover automatically restarts the active supervisor, bringing it up as the standby and making the current standby supervisor the active.  Finally, the standby supervisor, which started as the active, is restarted and loaded with the new image. In the end, both supervisors have the new image.

This is all done with four commands, 1) issu loadversion, 2) issu runversion, 3) issu acceptversion, and 4) issu commitversion. A fifth command, issu abortversion, allows the operator to abort the process up to the third step and undo the changes automatically.

In my particular case, I was upgrading from IOS XE 3.1.1 to IOS XE 3.2.4. First, I started off by verifying some prerequisites — that the old and new IOS images were on the flash memory of both supervisors, that both supervisors were running the same old image, that the config register was set to 0×2102, and that the supervisors were running in SSO redundancy mode:

Switch#show bootflash:
-#- --length-- ---------date/time--------- path
  1   88204596 Jul 22 2011 23:45:07 +00:00 cat4500e-universalk9.SPA.03.01.01.SG.150-1.XO1.bin
  2   90677420 Apr 15 2012 02:45:47 +00:00 cat4500e-universalk9.SPA.03.02.04.SG.150-2.SG4.bin
Switch#show slavebootflash:
-#- --length-- ---------date/time--------- path
  1   88204596 Jul 22 2011 23:57:21 +00:00 cat4500e-universalk9.SPA.03.01.01.SG.150-1.XO1.bin
  2   90677420 Apr 15 2012 02:50:01 +00:00 cat4500e-universalk9.SPA.03.02.04.SG.150-2.SG4.bin
Switch#show redundancy

[text omitted]

Current Processor Information :
------------------------------
               Active Location = slot 3
        Current Software state = ACTIVE
       Uptime in current state = 9 minutes
                 Image Version = Cisco IOS Software, IOS-XE Software, Catalyst 4500 L3 Switch Software (cat4500e-UNIVERSALK9-M), Version 03.01.01.SG RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2010 by Cisco Systems, Inc.
Compiled Tue 14-Dec-10 22:12 by prod
               BOOT = bootflash:cat4500e-universalk9.SPA.03.01.01.SG.150-1.XO1.bin,1;
        Configuration register = 0x2102

Peer Processor Information :
------------------------------
              Standby Location = slot 4
        Current Software state = STANDBY HOT
       Uptime in current state = 0 minute
                 Image Version = Cisco IOS Software, IOS-XE Software, Catalyst 4500 L3 Switch Software (cat4500e-UNIVERSALK9-M), Version 03.01.01.SG RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2010 by Cisco Systems, Inc.
Compiled Tue 14-Dec-10 22:12 by prod
               BOOT = bootflash:cat4500e-universalk9.SPA.03.01.01.SG.150-1.XO1.bin,1;
        Configuration register = 0x2102

1) Loadversion

I was ready to begin. I started off by issuing the issu loadversion command. This command restarts the standby supervisor and loads it with the new image:

Switch#issu loadversion 3 bootflash:cat4500e-universalk9.SPA.03.02.04.SG.150-2.SG4.bin 4 flash:cat4500e-universalk9.SPA.03.02.04.SG.150-2.SG4.bin
% issu loadversion executed successfully, Standby is being reloaded

The standby supervisor is restarted, and after several minutes it comes up with the new IOS. ISSU also detected the standby supervisor and told me the next step:

Apr 15 12:28:54.845 UTC: %INSTALLER-7-ISSU_OP_SUCC: Peer state is [STANDBY SSO]; Please issue the runversion command
Switch#show redundancy

[text omitted]

Current Processor Information :
------------------------------
               Active Location = slot 3
        Current Software state = ACTIVE
       Uptime in current state = 16 minutes
                 Image Version = Cisco IOS Software, IOS-XE Software, Catalyst 4500 L3 Switch Software (cat4500e-UNIVERSALK9-M), Version 03.01.01.SG RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2010 by Cisco Systems, Inc.
Compiled Tue 14-Dec-10 22:12 by prod
               BOOT = bootflash:cat4500e-universalk9.SPA.03.01.01.SG.150-1.XO1.bin,1;
        Configuration register = 0x2102

Peer Processor Information :
------------------------------
              Standby Location = slot 4
        Current Software state = STANDBY HOT
       Uptime in current state = 0 minute
                 Image Version = Cisco IOS Software, IOS-XE Software, Catalyst 4500 L3 Switch Software (cat4500e-UNIVERSALK9-M), Version 03.02.04.SG RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2012 by Cisco Systems, Inc.
Compiled Mon 19-Mar-12 16:17 by prod
               BOOT = bootflash:cat4500e-universalk9.SPA.03.01.01.SG.150-1.XO1.bin,1;
        Configuration register = 0x2102

2) Runversion

At this point, the standby supervisor has the new image, but we’re still operating on the active supervisor. The next step is to execute the issu runversion command, which will switch us over to the standby supervisor, automatically restart the active supervisor and bring it back up as the standby.  This also forces the current standby to become the active:

Switch#issu runversion 4 slavebootflash:cat4500e-universalk9.SPA.03.02.04.SG.150-2.SG4.bin
This command will reload the Active unit.  Proceed ? [confirm]

Switch#
Please stand by while rebooting the system...
                                                               Restarting system.

The active supervisor is restarted and functionality failsover to the standby. I consoled into the new active supervisor (slot 4) and waited for the new standby supervisor (slot 3) to load back up. After a few minutes, the standby supervisor came up and ISSU gave me further instructions:

Apr 15 12:35:06.355 UTC: %INSTALLER-7-ISSU_OP_SUCC: Peer state is [STANDBY SSO]; Please issue the acceptversion command

But before continuing, I verified the redundancy status and running IOSs:

Switch#show redundancy

[text omitted]

Current Processor Information :
------------------------------
               Active Location = slot 4
        Current Software state = ACTIVE
       Uptime in current state = 9 minutes
                 Image Version = Cisco IOS Software, IOS-XE Software, Catalyst 4500 L3 Switch Software (cat4500e-UNIVERSALK9-M), Version 03.02.04.SG RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2012 by Cisco Systems, Inc.
Compiled Mon 19-Mar-12 16:17 by prod
               BOOT = bootflash:cat4500e-universalk9.SPA.03.01.01.SG.150-1.XO1.bin,1;
        Configuration register = 0x2102

Peer Processor Information :
------------------------------
              Standby Location = slot 3
        Current Software state = STANDBY HOT
       Uptime in current state = 0 minute
                 Image Version = Cisco IOS Software, IOS-XE Software, Catalyst 4500 L3 Switch Software (cat4500e-UNIVERSALK9-M), Version 03.01.01.SG RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2012 by Cisco Systems, Inc.
Compiled Mon 19-Mar-12 16:17 by prod
               BOOT = bootflash:cat4500e-universalk9.SPA.03.01.01.SG.150-1.XO1.bin,1;
        Configuration register = 0x2102

3) Acceptversion

After the issu runversion command, a rollback timer is started. The timer acts as a safety mechanism for automatic image rollback. If you fail to stop the timer within 45 minutes, ISSU will assume that the upgrade (or downgrade) either failed or that you lost access to manually abort or continue the process, at which point ISSU will automatically perform a rollback.

To stop the timer, issue the third command, issu acceptversion:

Switch#issu acceptversion 4 bootflash:cat4500e-universalk9.SPA.03.02.04.SG.150-2.SG4.bin
% Rollback timer stopped. Please issue the commitversion command.

4) Commitversion

The last step is the issu commitversion command, which finalizes the process. This reloads the standby supervisor (the one that started as the active) and loads it with the new IOS:

Switch#issu commitversion 3 slavebootflash:cat4500e-universalk9.SPA.03.02.04.SG.150-2.SG4.bin
Building configuration...
Compressed configuration from 47049 bytes to 9639 bytes
[OK]
% issu commitversion executed successfully

The standby supervisor is restarted shortly after. After it came up, I verified that all supervisors had the new IOS:

Switch#show redundancy

[text omitted]

Current Processor Information :
------------------------------
               Active Location = slot 4
        Current Software state = ACTIVE
       Uptime in current state = 16 minutes
                 Image Version = Cisco IOS Software, IOS-XE Software, Catalyst 4500 L3 Switch Software (cat4500e-UNIVERSALK9-M), Version 03.02.04.SG RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2012 by Cisco Systems, Inc.
Compiled Mon 19-Mar-12 16:17 by prod
               BOOT = bootflash:cat4500e-universalk9.SPA.03.02.04.SG.150-2.SG4.bin,12;bootflash:cat4500e-universalk9.SPA.03.01.01.SG.150-1.XO1.bin,1;
        Configuration register = 0x2102

Peer Processor Information :
------------------------------
              Standby Location = slot 3
        Current Software state = STANDBY HOT
       Uptime in current state = 0 minute
                 Image Version = Cisco IOS Software, IOS-XE Software, Catalyst 4500 L3 Switch Software (cat4500e-UNIVERSALK9-M), Version 03.02.04.SG RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2012 by Cisco Systems, Inc.
Compiled Mon 19-Mar-12 16:17 by prod
               BOOT = bootflash:cat4500e-universalk9.SPA.03.02.04.SG.150-2.SG4.bin,12;bootflash:cat4500e-universalk9.SPA.03.01.01.SG.150-1.XO1.bin,1;
        Configuration register = 0x2102
Switch#show version
Cisco IOS Software, IOS-XE Software, Catalyst 4500 L3 Switch Software (cat4500e-UNIVERSALK9-M), Version 03.02.04.SG RELEASE SOFTWARE (fc1)

[text omitted]

During the upgrade, I had several continuous pings running across the switch and I never took a hit on any of them.  The procedure delivered as promised.

Comments

A thread has been created on the site forum specifically for commenting on this blog post.