Upgrading from Cisco IOS-XE 3.18.1aSP to Cisco IOS XE Gibraltar 16.10.1c
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 Table 1 table. Otherwise upgrade the firmware versions, see Upgrading the Cisco cBR-8 Router Firmware.
-
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.10.1c: cbrsup-universalk9.16.10.01c.SPA.bin
-
IOS XE Hardware Programmable Devices Version 16.10.1c: cbrsup-programmable_firmware.16.10.01c_compat_with_318SP.SSA.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 Gibraltar 16.10.1c package to bootflash: and stby-bootflash:.
|
||
Step 2 |
Verify Cisco IOS XE Gibraltar 16.10.1c package against the md5 hash as provided in the Cisco.com Software center.
|
||
Step 3 |
Copy the special firmware programming package to harddisk: and stby-harddisk:.
|
||
Step 4 |
Verify the special firmware programming 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 Gibraltar 16.10.1c image (Consolidated Mode).
|
||
Step 7 |
Configure config-register to manual boot. Dropping to ROMMON later on is a requirement to ensure no IOS processes are running while the Supervisor CPLD is upgraded.
|
||
Step 8 |
Check line card CPLD version via show platform . If it is not the latest version 00000025, upgrade line card CPLD following the sub steps below. Otherwise skip this step. |
||
Step 9 |
Upgrade supervisor ROMMON. Example:
|
||
Step 10 |
Check Docsis 3.1 downstream module FPGA and Micro versions via show platform diag . If it is not the latest version (See Table 1), upgrade them following the sub steps below. Otherwise skip this step.
|
||
Step 11 |
Check Supervisor 0/1 CPLD version via show platform . If it is not the latest version (See Table 1), upgrade Supervisor CPLD using the command shown below. Otherwise skip this step. While the upgrade is in progress, DO NOT reload the system.
|
||
Step 12 |
Reload the cBR-8 router. Answer no to not save the configuration.
|
||
Step 13 |
Configure to automatic boot by typing following command in rommon > prompt on both Supervisors.
|
||
Step 14 |
Power cycle chassis, wait for both SUPs to auto boot to 16.10.1c image.
|
||
Step 15 |
After cBR-8 bootup, verify the supervisor CPLD, linecard CPLD and downstream module FGPA and Micro are successfully upgraded. |
||
Step 16 |
Check system status after upgrade. Compare the information against the system status prior to upgrade. For the commands to use to check the status, see the show commands at the end of this section. |
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.10.1c: cbrsup-universalk9.16.10.01c.SPA.bin
-
IOS XE Hardware Programmable Devices Version 16.10.1c: cbrsup-programmable_firmware.16.10.01c_compat_with_318SP.SSA.pkg
-
Ansible upgrade script: cbr-8_upgrade_ansible_16.10.1_v1.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.10.1c 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. |