Upgrading a Cisco IOS XE Image on Amazon Web Services

The procedure in this chapter shows how to upgrade a Cisco IOS XE 16.7.1 image or later running CSR 1000V.

Consider the following before you upgrade the IOS XE image:

  • To upgrade an IOS XE image for a Cisco CSR 1000V running in AWS, the current version of IOS XE running on the Cisco CSR 1000V instance must be Cisco IOS XE Fuji 16.7.1 or later.

  • For Cisco IOS XE Everest 16.6 and earlier on AWS, you cannot use the Cisco CSR 1000v .bin file to upgrade a Cisco CSR1000V instance. You must re-deploy a new instance from theAWS Marketplace and migrate your configuration and licenses.

  • You cannot downgrade a Cisco CSR 1000V image on AWS to Cisco IOS XE Everest 16.6.2 or earlier. For example, if you are running Cisco IOS XE Fuji 16.7.1 or later, you must not downgrade to Cisco IOS XE Everest 16.6.2 or earlier.

  • To upgrade or downgrade a Cisco CSR 1000V image running on AWS, you must expand the .bin file and use the packages.conf to upgrade to the new version.

  • The only currently available downgrade for a Cisco IOS XE Gibralter 16.10.1 image is to Cisco IOS XE Fuji 16.9.2. You cannot downgrade a Cisco CSR 1000V image running on AWS from Cisco IOS XE Gibralter 16.10 to Cisco IOS XE Fuji 16.9.1 or earlier.


Note


To check the version of your Cisco IOS XE image for your Cisco CSR 1000V instance, run the show version command.

Router# show version       
Cisco IOS XE Software, Version 2017-11-08_14.44_user4  
Cisco IOS Software [Fuji], Virtual XE Software (X86_64_LINUX_IOSD-UNIVERSALK9-M), Experimental Version 16.8.2017110

How to Upgrade a Cisco IOS XE Image on Amazon Web Services

Procedure


Step 1

scp -i <key.pem file> upgrade-imageecs-user@csr-public-ip-address: copied-upgrade-image

Copy the new image to the CSR 1000V boot flash memory. You can choose any name for the copy of the image in bootflash; for example, upgrade.bin.

Step 2

request platform software package expand file bootflash:upgrade.bin to bootflash:upgrade/

Expand the image that is in boot flash memory.

Note

 

If you have already performed an upgrade on this CSR 1000V instance before, use a different directory name when you perform the upgrade the second time. For example, if you used the request platform software package expand file bootflash:upgrade.bin to bootflash:upgrade/ command when you performed the upgrade the first time, this command expands the bin file in the 'upgrade' directory of the blootflash and places the packages.conf file in the upgrade directory.

When you perform an upgrade anytime after, ensure that you use a different directory name. For example, your upgrade command could read request platform software package expand file bootflash:upgrade2.bin to bootflash:upgrade2/. Note that the directory name is upgrade2 in this instance.

Example:

Router# request platform software package expand file bootflash:upgrade.bin to bootflash:upgrade/
Nov  8 03:25:34.412 %INSTALL-5-OPERATION_START_INFO: R0/0: packtool: Started expand package bootflash:upgrade.bin
Verifying parameters
Expanding superpackage bootflash:upgrade.bin
Validating package type
Copying package files
SUCCESS: Finished expanding all-in-one software package.

Step 3

configure terminal

Enters the global configuration mode.

Step 4

boot system bootflash:upgrade/packages.conf

Adds a boot system entry to the packages.conf file that was generated in step 2. For example, the boot system entry to the /bootflash/upgrade/packages.conf file as shown in the example.

Example:

The following example shows how to correctly enter a boot system entry:

Router(config)# boot system bootflash:upgrade/packages.conf

Note

 

Do not add the boot system entry like this: boot system bootflash:upgrade.bin. This command tells the Cisco CSR 1000V to boot from upgrade.bin. However, the CSR 1000V boot fails if the file size of the upgrade.bin is greater than the low memory size that is allowed by GRUB in AWS.

Note

 

Ensure that you point the boot system command entry to the packages.conf file expanded in the upgrade directory as mentioned in step 2. You must use the same directory name that you have specified in step 2.

Step 5

end

Exits the global configuration mode and returns to the privileged EXEC mode.

Example:

Router(config)# end
Router# 

Step 6

show run | sec boot

Verifies the boot system entry.

Example:

Router# show run | sec boot
boot-start-marker
boot system bootflash:upgrade/packages.conf
boot-end-marker
diagnostic bootup level minimal

Step 7

copy running-configuration startup-configuration

Saves the configuration.

Example:

Router# copy running-configuration startup-configuration
Building configuration
...                                                                                                                                                          
[OK]    

Step 8

Reload the router.