How to Upgrade Cisco XR Router

Upgrading a Cisco XR router involves several steps to ensure a smooth transition and minimize downtime. It’s essential to follow best practices and perform backups before proceeding with the upgrade

Environment

Cisco NCS540 router with XR 7.7.2 installed

Target version XR7.7.21

Upgrade via TFTP server

Preparation

  1. Backup configuraiton. Before starting the upgrade process, it’s crucial to back up the current configuration.
  2. Download the Cisco recommended XR images – .tar file
  3. Start up the TFTP server
  4. Check what packages are installed before the upgrade
RP/0/RP0/CPU0:RTR01#show install active 
Mon Mar 11 11:03:34.723 AEST
Label : 7.7.2

Node 0/RP0/CPU0 [RP]
  Boot Partition: xr_lv0
  Active Packages: 11
        ncs540-xr-7.7.2 version=7.7.2 [Boot image]
        ncs540-lictrl-1.0.0.0-r772
        ncs540-eigrp-1.0.0.0-r772
        ncs540-li-1.0.0.0-r772
        ncs540-isis-1.0.0.0-r772
        ncs540-mcast-1.0.0.0-r772
        ncs540-mgbl-1.0.0.0-r772
        ncs540-mpls-1.0.0.0-r772
        ncs540-ospf-1.0.0.0-r772
        ncs540-k9sec-1.0.0.0-r772
        ncs540-mpls-te-rsvp-1.0.0.0-r772

Node 0/0/CPU0 [LC]
  Boot Partition: xr_lcp_lv0
  Active Packages: 11
        ncs540-xr-7.7.2 version=7.7.2 [Boot image]
        ncs540-lictrl-1.0.0.0-r772
        ncs540-eigrp-1.0.0.0-r772
        ncs540-li-1.0.0.0-r772
        ncs540-isis-1.0.0.0-r772
        ncs540-mcast-1.0.0.0-r772
        ncs540-mgbl-1.0.0.0-r772
        ncs540-mpls-1.0.0.0-r772
        ncs540-ospf-1.0.0.0-r772
        ncs540-k9sec-1.0.0.0-r772
        ncs540-mpls-te-rsvp-1.0.0.0-r772

Upgrade Procedure

Check where to put the Image, switch to run mode to create a new folder in “harddisk” directory

	10:20:43(220):RP/0/RP0/CPU0:RTR01#dir ?
	10:20:43(280):  /all       List all files
	10:20:43(280):  /ena       Recognize sub directories
	10:20:43(281):  /recurse   Recursively list subdirectories encountered
	10:20:43(281):  WORD       file name
	10:20:43(281):  apphost:   apphost: file system
	10:20:43(282):  config:    config: file system
	10:20:43(282):  disk0:     disk0: file system
	10:20:43(282):  harddisk:  harddisk: file system
	10:20:43(282):  location   Fully qualified location specification
	
	10:49:36(221):RP/0/RP0/CPU0:RTR01#run
	10:49:36(232):Mon Mar 11 10:49:36.226 AEST
	10:49:41(671):[xr-vm_node0_RP0_CPU0: mkdir harddisk://ios/

Copy the image and specify the vrf and source interface, if needed.

10:31:07(658):RP/0/RP0/CPU0:RTR01#copy tftp://192.168.4.4/NCS540-iosxr-k9-7.7.21.tar harddisk://ios/ vrf Mgmt-intf source-interface mg0/RP0/CPU0/0 
	10:31:07(673):Mon Mar 11 10:31:07.667 AEST
	10:31:09(356):Destination filename [/harddisk:/ios//NCS540-iosxr-k9-7.7.21.tar]?
	10:31:09(368):Accessing tftp://10.252.244.15;Mgmt-intf/NCS540-iosxr-k9-7.7.21.tar
	10:31:11(002):CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC

Switch the run mode and check the file is listed or not

	10:49:36(221):RP/0/RP0/CPU0:RTR01#run
	10:49:36(232):Mon Mar 11 10:49:36.226 AEST
	10:49:41(671):[xr-vm_node0_RP0_CPU0: cd harddisk://ios/
	10:49:41(671):[xr-vm_node0_RP0_CPU0:/misc/disk1/ios]$dir
	10:49:41(683):NCS540-iosxr-k9-7.7.21.tar

Extract the image files out

	10:58:03(257):[xr-vm_node0_RP0_CPU0:/misc/disk1/ios]$tar -xvf NCS540-iosxr-k9-7.7.21.tar 
	10:58:03(271):ncs540-eigrp-1.0.0.0-r7721.x86_64.rpm
	10:58:03(271):ncs540-isis-1.0.0.0-r7721.x86_64.rpm
	10:58:03(271):ncs540-k9sec-1.0.0.0-r7721.x86_64.rpm
	10:58:03(281):ncs540-li-1.0.0.0-r7721.x86_64.rpm
	10:58:03(281):ncs540-lictrl-1.0.0.0-r7721.x86_64.rpm
	10:58:03(282):ncs540-mcast-1.0.0.0-r7721.x86_64.rpm
	10:58:03(292):ncs540-mgbl-1.0.0.0-r7721.x86_64.rpm
	10:58:03(326):ncs540-mini-x-7.7.21.iso
	10:58:09(232):ncs540-mpls-1.0.0.0-r7721.x86_64.rpm
	10:58:09(243):ncs540-mpls-te-rsvp-1.0.0.0-r7721.x86_64.rpm
	10:58:09(290):ncs540-ospf-1.0.0.0-r7721.x86_64.rpm
	10:58:09(301):README-NCS540-iosxr-k9-7.7.21.txt
	10:58:11(133):[xr-vm_node0_RP0_CPU0:/misc/disk1/ios]$

Remove the original tar ball file to save space

	10:58:13(450):[xr-vm_node0_RP0_CPU0:/misc/disk1/ios]$ls
	10:58:13(466):NCS540-iosxr-k9-7.7.21.tar             ncs540-k9sec-1.0.0.0-r7721.x86_64.rpm   ncs540-mgbl-1.0.0.0-r7721.x86_64.rpm          ncs540-ospf-1.0.0.0-r7721.x86_64.rpm
	10:58:13(467):README-NCS540-iosxr-k9-7.7.21.txt      ncs540-li-1.0.0.0-r7721.x86_64.rpm      ncs540-mini-x-7.7.21.iso
	10:58:13(468):ncs540-eigrp-1.0.0.0-r7721.x86_64.rpm  ncs540-lictrl-1.0.0.0-r7721.x86_64.rpm  ncs540-mpls-1.0.0.0-r7721.x86_64.rpm
	10:58:13(470):ncs540-isis-1.0.0.0-r7721.x86_64.rpm   ncs540-mcast-1.0.0.0-r7721.x86_64.rpm   ncs540-mpls-te-rsvp-1.0.0.0-r7721.x86_64.rpm
	10:58:26(251):[xr-vm_node0_RP0_CPU0:/misc/disk1/ios]$rm NCS540-iosxr-k9-7.7.21.tar 
	10:58:28(093):[xr-vm_node0_RP0_CPU0:/misc/disk1/ios]$ls
	10:58:28(107):README-NCS540-iosxr-k9-7.7.21.txt      ncs540-k9sec-1.0.0.0-r7721.x86_64.rpm   ncs540-mcast-1.0.0.0-r7721.x86_64.rpm  ncs540-mpls-1.0.0.0-r7721.x86_64.rpm
	10:58:28(109):ncs540-eigrp-1.0.0.0-r7721.x86_64.rpm  ncs540-li-1.0.0.0-r7721.x86_64.rpm      ncs540-mgbl-1.0.0.0-r7721.x86_64.rpm   ncs540-mpls-te-rsvp-1.0.0.0-r7721.x86_64.rpm
	10:58:28(111):ncs540-isis-1.0.0.0-r7721.x86_64.rpm   ncs540-lictrl-1.0.0.0-r7721.x86_64.rpm  ncs540-mini-x-7.7.21.iso               ncs540-ospf-1.0.0.0-r7721.x86_64.rpm
	10:58:29(906):[xr-vm_node0_RP0_CPU0:/misc/disk1/ios]$

Install the ios base image file and other packages, check the installation progress, try to install all the .iso and .rpm files at once.

	RP/0/RP0/CPU0:RTR01#install add source /harddisk:/ios/ ncs540-mini-x-7.7.21.iso  ncs540....rpm ncs540....rpm ....
	11:16:26(733):Mon Mar 11 11:16:26.725 AEST
	11:16:29(322):2024-03-11 11:16:29 Install operation 5 started by admin:
	11:16:29(323): install add source /harddisk:/ios/ ncs540-mini-x-7.7.21.iso 

RP/0/RP0/CPU0:RTR01#sh install request
	Mon Mar 11 12:01:11.327 AEST
	No install operation in progress
	
	Last operation performed:
	Operation Id : 8
	Request      : Install add
	State        : Success

Activate all the packages including the iso base image

RP/0/RP0/CPU0:RTR01#sh install inactive 
Mon Mar 11 12:01:26.908 AEST
11 inactive package(s) found:
    ncs540-mgbl-1.0.0.0-r7721
    ncs540-li-1.0.0.0-r7721
    ncs540-mpls-te-rsvp-1.0.0.0-r7721
    ncs540-mpls-1.0.0.0-r7721
    ncs540-lictrl-1.0.0.0-r7721
    ncs540-mini-x-7.7.21
    ncs540-eigrp-1.0.0.0-r7721
    ncs540-ospf-1.0.0.0-r7721
    ncs540-k9sec-1.0.0.0-r7721
    ncs540-isis-1.0.0.0-r7721
    ncs540-mcast-1.0.0.0-r7721

	
	RP/0/RP0/CPU0:RTR01#install activate ncs540-mgbl-1.0.0.0-r7721 ncs540xxxxxxx ncs540xxxx .....
	Mon Mar 11 12:08:19.157 AEST
	2024-03-11 12:08:32 Install operation 12 started by fmglocal:
	2024-03-11 12:08:32   install activate pkg ncs540-mgbl-1.0.0.0-r7721 ncs540-li-1.0.0.0-r7721 ncs540-mpls-te-rsvp-1.0.0.0-r7721 ncs540-mpls-1.0.0.0-r7721 ncs540-lictrl-1.0.0.0-r7721 ncs540-mini-x-7.7.21 ncs540-eigrp-1.0.0.0-r7721 ncs540-ospf-1.0.0.0-r7721 ncs540-k9sec-1.0.0.0-r7721 ncs540-isis-1.0.0.0-r7721 ncs540-mcast-1.0.0.0-r7721
	2024-03-11 12:08:36 No install operation in progress at this moment
	2024-03-11 12:08:36 Checking system is ready for install operation
	2024-03-11 12:08:37 'install activate' in progress
	2024-03-11 12:08:37 ISO ncs540-mini-x-7.7.21 in input package list. Going to upgrade the system to version 7.7.21.
	This install operation will reload the system, continue?
	 [yes:no]:[yes] yes
	2024-03-11 12:08:47 Optimized list to prepare after sanitizing input list for superseded packages:
	        ncs540-isis-1.0.0.0-r7721
	        ncs540-lictrl-1.0.0.0-r7721
	        ncs540-mpls-te-rsvp-1.0.0.0-r7721
	        ncs540-eigrp-1.0.0.0-r7721
	        ncs540-mini-x-7.7.21
	        ncs540-k9sec-1.0.0.0-r7721
	        ncs540-li-1.0.0.0-r7721
	        ncs540-mgbl-1.0.0.0-r7721
	        ncs540-ospf-1.0.0.0-r7721
	        ncs540-mcast-1.0.0.0-r7721
	        ncs540-mpls-1.0.0.0-r7721
	2024-03-11 12:08:47 Package list:
	2024-03-11 12:08:47     ncs540-isis-1.0.0.0-r7721
	2024-03-11 12:08:47     ncs540-lictrl-1.0.0.0-r7721
	2024-03-11 12:08:47     ncs540-mpls-te-rsvp-1.0.0.0-r7721
	2024-03-11 12:08:47     ncs540-eigrp-1.0.0.0-r7721
	2024-03-11 12:08:47     ncs540-mini-x-7.7.21
	2024-03-11 12:08:47     ncs540-k9sec-1.0.0.0-r7721
	2024-03-11 12:08:47     ncs540-li-1.0.0.0-r7721
	2024-03-11 12:08:47     ncs540-mgbl-1.0.0.0-r7721
	2024-03-11 12:08:47     ncs540-ospf-1.0.0.0-r7721
	2024-03-11 12:08:47     ncs540-mcast-1.0.0.0-r7721
	2024-03-11 12:08:47     ncs540-mpls-1.0.0.0-r7721
	2024-03-11 12:08:47 The operation is past point-of-no-return and can no longer be stopped!
	2024-03-11 12:08:47 Action 1: install prepare action started
	2024-03-11 12:08:47 Triggering prepare operation.
	This may take a while...
	2024-03-11 12:14:41 Action 1: install prepare action completed successfully
	2024-03-11 12:14:44 Prepare operation completed. Trigger activate.
	This may take a while...
	2024-03-11 12:14:44 Prepare completed. Operation ID 12 will be taken up for activate operation
	2024-03-11 12:14:45 Activate operation ID is: 12 for 'install activate' ID:12
	2024-03-11 12:14:47 Install operation 12 started:
	  install activate noprompt 
	RP/0/RP0/CPU0:Mar 11 12:15:17 AEST: fpd-serv[196]: %PKT_INFRA-FM-3-FAULT_MAJOR : ALARM_MAJOR :FPD-NEED-UPGRADE :DECLARE :0/RP0:  
	2024-03-11 12:15:48 Install operation will continue in the background
	RP/0/RP0/CPU0:RTR01#2024-03-11 12:17:58 Install operation 12 finished successfully

(IMPORTANT) Install commit to save the boot config

RP/0/RP0/CPU0:RTR01#install commit

Useful links

https://www.cisco.com/c/en/us/td/docs/iosxr/ncs5xx/system-setup/77x/b-system-setup-cg-77x-ncs540/understanding-software-modularity-and-installation.html

https://www.cisco.com/c/en/us/td/docs/iosxr/ncs5xx/system-setup/72x/b-system-setup-cg-72x-ncs540/m-performing-system-upgrade-and-installing-packages_ncs5xx.html

Leave a Comment

Your email address will not be published. Required fields are marked *