Upgrading from Cisco IOS-XE 3.18.1aSP to Cisco IOS XE Fuji 16.7.2
Upgrading Manually
Before you begin
Before upgrading the system, make sure the following requirements are met:
-
The firmware versions are not lower than the ones listed in Firmware versions table. Otherwise upgrade the firmware versions, see Upgrading the Cisco cBR-8 Router Firmware.
-
Make sure Line Card CPLD version is 00000025. If the value is lower than 00000025, follow this procedure to upgrade the Line Card CPLD to version 00000025 first:
http://www.cisco.com/c/en/us/td/docs/cable/cbr/upgrade/guide/b_cbr_upgrade-3-18s/b_cbr_upgrade_hardware.html#task_E0B78DCCC88A41749DA2783736CE37A6 -
Download two files from the following Cisco.com Software Center URL:
https://software.cisco.com/download/type.html?mdfid=286283913&flowid=73842
-
IOS XE Software Version 16.7.2: cbrsup-universalk9.16.07.02.SPA.bin
-
IOS XE Hardware Programmable Devices Version 16.7.2: cbrsup-programmable_firmware.16.07.01.SPA.pkg
-
-
Console access for both SUPs are required.
-
Ability to power cycle the chassis. Power cycle chassis is required to upgrade Supervisor CPLD.
Note |
Do not power cycle the cBR-8 router during the firmware upgrade process. Power cycling the chassis may corrupt the ROMMON/Uboot image. |
Procedure
Step 1 |
Copy Cisco IOS-XE Fuji 16.7.2 package to bootflash: and stby-bootflash:.
|
||
Step 2 |
Verify Cisco IOS-XE Fuji 16.7.2 package against the md5 hash as provided in the Cisco.com Software center.
|
||
Step 3 |
Copy the hardware programmable devices upgrade package to harddisk: and stby-harddisk:.
|
||
Step 4 |
Verify the hardware programmable devices upgrade package against the md5 hash as provided in the Cisco.com Software center.
|
||
Step 5 |
Check system status prior to upgrade. Save the information to compare against the system status after upgrade. For the commands to use to check the status, see the show commands at the end of this section. |
||
Step 6 |
Configure the chassis to boot the system with Cisco IOS-XE Fuji 16.7.2 image.
|
||
Step 7 |
Reload the cBR-8 router.
|
||
Step 8 |
Remove the secondary line card from line card redundancy group if redundancy is configured.
|
||
Step 9 |
Confirm all line cards are in normal state.
|
||
Step 10 |
Configure config-register to manual boot.
|
||
Step 11 |
Upgrade Docsis 3.1 downstream modules in all the slots.
|
||
Step 12 |
Make sure the line card Docsis 3.1 downstream modules upgrade has completed successfully by examining the system log:
|
||
Step 13 |
Upgrade Supervisor 0/1 CPLD.
|
||
Step 14 |
Set Active Sup (assuming R0) to ROMMON using supervisor switchover command.
|
||
Step 15 |
Using a console connection of current active SUP (SUP1), power cycle the supervisor (SUP0) using test command to set it to ROMMON:
|
||
Step 16 |
Using a console connection of SUP0 (the one in ROMMON) issue the following commands to boot that SUP:
|
||
Step 17 |
Wait for SUP0 to become STANDBY HOT. |
||
Step 18 |
Set the current active SUP (R1) to ROMMON using supervisor switchover command.
|
||
Step 19 |
Using a console connection of current active SUP (SUP0), power cycle the supervisor (SUP1) using test command to set it to ROMMON:
|
||
Step 20 |
Using a console connection of SUP1 (the one in ROMMON) issue the following commands to boot that SUP:
|
||
Step 21 |
Wait for SUP1 to become STANDBY HOT. |
||
Step 22 |
Reload the standby line card to set DOCSIS 3.1 downstrem module firmware active.
|
||
Step 23 |
Wait for Slot 0 to become Stdby Warm. |
||
Step 24 |
Reload primary line card one at a time by following these steps:
|
||
Step 25 |
Proceed to What to do next:. |
What to do next
Perform verification test to determine if the upgrade is successful, include:
-
Verify the router is running the new IOS-XE release using show version command.
-
Check facility alarms using show facility-alarm status command.
-
Check the status of the power supplies using show environment power command.
-
Check PS status using show platform hardware slot P<0-5> mcu status command.
-
Complete trace routes to known good off-network IP address using the source address of customer CPE blocks to verify routing is working.
-
Check logs for error messages using show log command.
These show commands may be useful in the verification test:
-
show redundancy
-
show platform
-
show platform diag
-
show environment
-
show redundancy linecard all
-
show isis neighbors
-
show ip ospf neighbor
-
show ip route rip
-
show ip mroute
-
show cops servers
-
show cable modem voice
-
show cable calls
-
show cable metering verbose
-
show cable licenses all
-
show inventory
Upgrading with Ansible
Before you begin
Before upgrading the firmware, make sure the following requirements are met:
-
Prepare Ansible Server, operating system can be Linux/Windows/Mac, with docker service pre-installed.
For docker installation guide, please check following link:
-
Check if the chassis supports AAA or local authentication with username & password. If not configured, use following CLI to enable local authentication, for example:
Cbr8#configure terminal Enter configuration commands, one per line. End with CNTL/Z. cBR8(config)#username cisco privilege 15 password 0 cisco cBR8(config)#enable secret cisco cBR8(config)#line vty 0 15 cBR8(config)#login local cBR8(config)#exec-timeout 0 0 cBR8(config)#session-timeout 0 cBR8(config)#exit
-
If SSH is not enabled, use following CLI to enable SSH on cBR8, skip the domain name configuration if already configured.
cBR8(config)# ip domain-name domain.com cBR8(config)#crypto key generate rsa The name for the keys will be: cbr8.domain.com Choose the size of the key modulus in the range of 360 to 4096 for your General Purpose Keys. Choosing a key modulus greater than 512 may take a few minutes. How many bits in the modulus [512]: 1024 % Generating 1024 bit RSA keys, keys will be non-exportable... [OK] (elapsed time was 0 seconds) cBR8(config)#end cBR8#copy running-config startup-config cBR8#show ip ssh SSH Enabled - version 1.99
-
Check if there is enough bootflash disk space on both SUP (>1.8GB).
-
Verify if the Ansible server can access cBR-8 using SSH.
[ansible@server ~]$ ssh cisco@100.0.0.1 The authenticity of host '100.0.0.1 (100.0.0.1)' can't be established. RSA key fingerprint is c3:be:8f:cf:76:f4:31:4b:80:d8:2e:f0:76:6d:ff:bf. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '100.0.0.1' (RSA) to the list of known hosts. Password: cBR8#
-
Download three files from the following Cisco.com Software Center URL:
https://software.cisco.com/download/type.html?mdfid=286283913&flowid=73842
-
IOS XE Software Version 16.7.2: cbrsup-universalk9.16.07.02.SPA.bin
-
IOS XE Hardware Programmable Devices Version 16.7.1: cbrsup-programmable_firmware.16.07.01_compat_with_3.18SP.SSA.pkg
-
Ansible upgrade script: cbr-8_upgrade_ansible_16.7.1a.tar
-
-
Copy IOS XE Software package and IOS XE Hardware Programmable Devices package to TFTP/FTP/SCP server or usb disk. Upload Ansible upgrade script to Ansible server.
-
Console access for both SUPs are required.
-
Ability to power cycle the chassis. Power cycle chassis is required to upgrade Supervisor CPLD.
Procedure
Step 1 |
Run following CLI on the Ansible server to create the docker image.
|
Step 2 |
Start docker container with the image and enter the container shell.
|
Step 3 |
Change current directory to the playbook folder for this software and firmware upgrade.
|
Step 4 |
Modify hosts file to add target cBR-8 ip addresses, can be multiple lines if customer wants to upgrade firmware on multiple cBR8 routers simultaneously, sample file is as below:
|
Step 5 |
Modify secrets.yaml file, change the username/password/enable password to reflect the real username/password/enable configuration for target cBR. If no enable password is set, just keep the sample cisco for auth_pass.
|
Step 6 |
Modify upgrade_vars.yaml file to indicate the firmware package name, ios image name and source (Optional if the package files are already on cbr-8 harddisk:).
|
Step 7 |
Modify md5_map.yaml file in the folder version_file to add new image label and md5 value.
|
Step 8 |
Execute following command to start the playbook to upgrade firmware.
|
Step 9 |
Reload the system by typing reload on the active SUP and answering no to not save the configuration.
|
Step 10 |
From ROMMON issue the following command on both SUPs.
|
Step 11 |
Power cycle chassis, wait for both SUPs to auto boot to 16.7.2 image.
|
Step 12 |
After system bootup and stable, execute following command to start the playbook to check the upgrade result.
|
Step 13 |
Exit the container if finished upgrading this time to stop the container.
|
Step 14 |
If user wants to start the container again, use following command to start the container and enter its shell.
|
Step 15 |
All the file changes are kept in the container, user can run step 4-11 to upgrade again. |