:: CSR1000v… Evolving to C8000v?

Cisco’s Cloud Services Router or CSR for short has been around for quite a few years now. My guess would be that it was introduced somewhere around 2013.

The CSR would enable customers to extend their workloads towards another DC virtualized on a hypervisor platform. The CSR would then act as a CPE device in that data center. Now, we know that the CSR1000v is widely used as an extension towards the big 3, AWS, Azure, and Google Cloud.

With the introduction and acquisition of SD-WAN and the fast development of IOS-XE 17.x, the life of the CSR slowly comes to an end. The last software version release is 17.03.4a (IOS-XE Amsterdam) and was released in July 2021. Customers are urged to move to the fairly new introduced Catalyst 8000v, which is also built on the IOS-XE platform. Support for licenses on the C1000v will end somewhere in 2024.

:: Disclaimer

This post is based on my own research based on the described topic. I’ve done an extensive research to grasp the correct resources to fill my knowledge in the best way possible. It is possible that I’m not able to mention other resources due to my visibility on the net. I’m happy to learn more if these are available.

Do we need to deploy new virtual routers in our (virtual) datacenters?

Actually, no! Cisco has made it very easy to move from CSR1000v to the C8Kv. We can just upgrade a CSR to become a C8Kv! Well, that sounds easy. It actually is. There are two ways to upgrade the routers:

  • Controller-managed (SD-WAN)
  • Autonomous (just a router)

:: The catch

But there is a catch, though. For example, you cannot upgrade straight from CSR1000v code 17.02.01r.0.32 to C8000v code 17.04.1a or higher. I think this has something to do with an inserted code to accept a platform upgrade from C1000v to C8000v.

The error that you will receive in vManage if you persist is as follows:

When stubbornness takes the upper hand

To get past this, you need to upgrade to the latest version possible on C1000v, which is version 17.3.4a. Then you can move forward to any release above that with the C8000v. I will include a high-level step-by-step procedure below in this post to make it easy and fast.

:: Upgrade in SD-WAN

Upload images

Go to Maintenance / Software Repository in vManage and select Software Images. This will list all available software images uploaded to vManage.

When stubbornness take the upper hand 🙂

As you can see, I already uploaded both the CSR1000v latest version and the new C8000v 17.07.1a code. If you still need to upload the software, click on the + sign and drag and drop the .bin file into that window.

Upgrade to latest code

Go to Maintenance / Software upgrade. Use the search bar and type “CSR” to filter all other devices.

Select the CSR1000v to upgrade to the latest code for this platform, choose Upgrade, and select the correct release, which in this case would be 17.03.04a

Click Upgrade below on the same screen. A task will be set up to upload the software and reload the C1000v with the newer code.

Let’s have coffee!

Task details are below:

[15-Jan-2022 13:22:46 CET] Software Install action submitted for execution
[15-Jan-2022 13:22:46 CET] Executing device action Software Install
[15-Jan-2022 13:22:46 CET] Installing and activating software image
[15-Jan-2022 13:22:48 CET] Current active partition: 17.02.01r.0.32
[15-Jan-2022 13:22:48 CET] Upgrade Requested for SW version : 17.03.04a.0.5574.1626784045
[15-Jan-2022 13:22:49 CET] Configuring upgrade confirm timer to 15 minutes
[15-Jan-2022 13:22:49 CET] Software image: csr1000v-universalk9.17.03.04a.SPA.bin
[15-Jan-2022 13:22:49 CET] Software image download may take upto 120 minutes
[15-Jan-2022 13:22:56 CET] Connection Instance: 3, Color: public-internet
[15-Jan-2022 13:22:56 CET] Device: Downloading http://10.1.1.1:8080/software/package/csr1000v-universalk9.17.03.04a.SPA.bin?deviceId=10.1.1.8
[15-Jan-2022 13:26:00 CET] Device: Downloaded http://10.1.1.1:8080/software/package/csr1000v-universalk9.17.03.04a.SPA.bin?deviceId=10.1.1.8
[15-Jan-2022 13:29:10 CET] Device: install_add: START Sat Jan 15 13:26:05 CET 2022
install_add: Adding PACKAGE
[15-Jan-2022 13:29:10 CET] Device: Installed 17.03.04a.0.5574
[15-Jan-2022 13:30:19 CET] Activating SW version : 17.03.04a.0.5574.1626784045
[15-Jan-2022 13:30:19 CET] Rebooting device to other partition. Device may take up to 60 minutes before it comes online

Have another sip of that black goo.

Ok, the task is done.

[15-Jan-2022 13:22:46 CET] Software Install action submitted for execution
[15-Jan-2022 13:22:46 CET] Executing device action Software Install
[15-Jan-2022 13:22:46 CET] Installing and activating software image
[15-Jan-2022 13:22:48 CET] Current active partition: 17.02.01r.0.32
[15-Jan-2022 13:22:48 CET] Upgrade Requested for SW version : 17.03.04a.0.5574.1626784045
[15-Jan-2022 13:22:49 CET] Configuring upgrade confirm timer to 15 minutes
[15-Jan-2022 13:22:49 CET] Software image: csr1000v-universalk9.17.03.04a.SPA.bin
[15-Jan-2022 13:22:49 CET] Software image download may take upto 120 minutes
[15-Jan-2022 13:22:56 CET] Connection Instance: 3, Color: public-internet
[15-Jan-2022 13:22:56 CET] Device: Downloading http://10.1.1.1:8080/software/package/csr1000v-universalk9.17.03.04a.SPA.bin?deviceId=10.1.1.8
[15-Jan-2022 13:26:00 CET] Device: Downloaded http://10.1.1.1:8080/software/package/csr1000v-universalk9.17.03.04a.SPA.bin?deviceId=10.1.1.8
[15-Jan-2022 13:29:10 CET] Device: install_add: START Sat Jan 15 13:26:05 CET 2022
install_add: Adding PACKAGE
[15-Jan-2022 13:29:10 CET] Device: Installed 17.03.04a.0.5574
[15-Jan-2022 13:30:19 CET] Activating SW version : 17.03.04a.0.5574.1626784045
[15-Jan-2022 13:30:19 CET] Rebooting device to other partition. Device may take up to 60 minutes before it comes online
[15-Jan-2022 13:31:19 CET] (1/120) Operation status being verified by vManage
[15-Jan-2022 13:31:49 CET] (2/120) Operation status being verified by vManage
[15-Jan-2022 13:32:19 CET] (3/120) Operation status being verified by vManage
[15-Jan-2022 13:32:49 CET] (4/120) Operation status being verified by vManage
[15-Jan-2022 13:33:19 CET] (5/120) Operation status being verified by vManage
[15-Jan-2022 13:33:49 CET] (6/120) Operation status being verified by vManage
[15-Jan-2022 13:34:19 CET] (7/120) Operation status being verified by vManage
[15-Jan-2022 13:34:50 CET] (8/120) Operation status being verified by vManage
[15-Jan-2022 13:35:20 CET] (9/120) Operation status being verified by vManage
[15-Jan-2022 13:35:26 CET] vManage: Sending upgrade-confirm to device
[15-Jan-2022 13:35:46 CET] Checking new boot partition
[15-Jan-2022 13:35:46 CET] Done - Software Install
[15-Jan-2022 13:35:50 CET] Operation status verification done.

Go back to Maintenance / Software upgrade and select your CSR1000v. Click on “set default version” to ensure the device remains in this release after a reboot. Now you’ve prepped the router for an upgrade to C8000v.

Doublecheck the platform type in the CSR1000v:

BR1-SDW-R2#show platform
Chassis type: CSR1000V

Slot      Type                State                 Insert time (ago) 
--------- ------------------- --------------------- ----------------- 
R0        CSR1000V            ok, active            00:07:33      
F0        CSR1000V            ok, active            00:07:33      

Go to Maintenance / Software upgrade. Use the search bar and type “CSR” to filter all other devices.

Select the CSR1000v to upgrade to the latest code for this platform, choose Upgrade, and select the correct release, which in this case would be 17.07.01a. This is actually the C8000v bin file. So the CSR and the C8000v share the same type. That’s why you see both platform images. Select Upgrade.

Here we go:

After the task is successful, we can check the task log:

[15-Jan-2022 13:41:40 CET] Software Install action submitted for execution
[15-Jan-2022 13:41:40 CET] Executing device action Software Install
[15-Jan-2022 13:41:41 CET] Installing and activating software image
[15-Jan-2022 13:41:43 CET] Current active partition: 17.03.04a.0.5574
[15-Jan-2022 13:41:43 CET] Upgrade Requested for SW version : 17.07.01a.0.1883.1639452629
[15-Jan-2022 13:41:50 CET] Configuring upgrade confirm timer to 15 minutes
[15-Jan-2022 13:41:51 CET] Software image: c8000v-universalk9.17.07.01a.SPA.bin
[15-Jan-2022 13:41:51 CET] Software image download may take upto 120 minutes
[15-Jan-2022 13:41:58 CET] Connection Instance: 3, Color: public-internet
[15-Jan-2022 13:41:58 CET] Device: Downloading http://10.1.1.1:8080/software/package/c8000v-universalk9.17.07.01a.SPA.bin?deviceId=10.1.1.8
[15-Jan-2022 13:47:13 CET] Device: Downloaded http://10.1.1.1:8080/software/package/c8000v-universalk9.17.07.01a.SPA.bin?deviceId=10.1.1.8
[15-Jan-2022 13:51:58 CET] Device: install_add: START Sat Jan 15 13:48:07 CET 2022
install_add: Adding PACKAGE
[15-Jan-2022 13:51:58 CET] Device: Installed 17.07.01a.0.1883
[15-Jan-2022 13:53:51 CET] Activating SW version : 17.07.01a.0.1883.1639452629
[15-Jan-2022 13:53:51 CET] Rebooting device to other partition. Device may take up to 60 minutes before it comes online
[15-Jan-2022 13:54:52 CET] (1/120) Operation status being verified by vManage
[15-Jan-2022 13:55:22 CET] (2/120) Operation status being verified by vManage
[15-Jan-2022 13:55:52 CET] (3/120) Operation status being verified by vManage
[15-Jan-2022 13:56:22 CET] (4/120) Operation status being verified by vManage
[15-Jan-2022 13:56:52 CET] (5/120) Operation status being verified by vManage
[15-Jan-2022 13:57:22 CET] (6/120) Operation status being verified by vManage
[15-Jan-2022 13:57:52 CET] (7/120) Operation status being verified by vManage
[15-Jan-2022 13:58:22 CET] (8/120) Operation status being verified by vManage
[15-Jan-2022 13:58:52 CET] (9/120) Operation status being verified by vManage
[15-Jan-2022 13:59:22 CET] (10/120) Operation status being verified by vManage
[15-Jan-2022 13:59:52 CET] (11/120) Operation status being verified by vManage
[15-Jan-2022 14:00:25 CET] vManage: Sending upgrade-confirm to device
[15-Jan-2022 14:01:12 CET] Operation status verification done.

Login to the new C8000v and verify platform:

BR1-SDW-R2#show platform
Chassis type: C8000V

Slot      Type                State                 Insert time (ago) 
--------- ------------------- --------------------- ----------------- 
R0        C8000V              ok, active            00:11:35      
F0        C8000V              ok, active            00:11:35 

BR1-SDW-R2#show version | i Version|cisco
Cisco IOS XE Software, Version 17.07.01a
Cisco IOS Software [Cupertino], Virtual XE Software (X86_64_LINUX_IOSD-UNIVERSALK9-M), Version 17.7.1a, RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Cisco IOS-XE software, Copyright (c) 2005-2021 by cisco Systems, Inc.
licensed under the GNU General Public License ("GPL") Version 2.0.  The
software code licensed under GPL Version 2.0 is free software that comes
GPL code under the terms of GPL Version 2.0.  For more details, see the
http://www.cisco.com/wwl/export/crypto/tool/stqrg.html
export@cisco.com.
cisco C8000V (VXE) processor (revision VXE) with 1999210K/3075K bytes of memory.

Also, don’t forget to set the default version to the new code:

:: Observations

The device model in vManage remains on CSR. You can reboot the vManage, it just stays that way. Device tools might need to crawl the MIB-2 iod again, to set the new device model to C8000v. What happens with CSR1000v tied templates?? Just a question you need to answer for yourself, before following the steps. But you’ve made it this far, respect!!

:: Resources