This guide is meant to provide answers to some of the common install questions and provide a basic overview of the install architecture XR employs.
How is installing and upgrading IOS-XR different from IOS?
IOS runs a monolithic kernel and a single .bin file. XR runs a microkernel and uses packaging, similar to Linux, to allow the user to choose which features they want loaded and to enable patching of individual components through SMUs. Upgrading IOS involves putting a new .bin on the device and reloading. Upgrading XR is done through an upgrade process.
From time to time there have been minor differences such as integrating the FPD package into the mini.pie file and taking lawful intercept out of the mini file, but for the most part this list does not change. Note that the mini package is a composite package with multiple packages such as OS, admin, base, and forwarding included.
Install add decompresses the packages into memory on the dSC and then concurrently writes to the boot device of all management nodes, typically disk0:.
Examples of management nodes would be RSP0, RSP1, SC0, and SC1. Note that SCs are used in CRS multichassis.
The opposite of this is install remove which also has no impact.
Why do we do install add?
This is a way to prepare the router for upgrade without affecting the running executables, this helps to divide the install process into three basic phases. It is recommended to perform install add before the maintenance window.
How do I remove all inactive packages?
While some people may wish to keep multiple install points on the router, other people may prefer to remove anything not currently used.
We can remove all packages which are 'added' but not 'active' via 'admin install remove inactive'
What is install activate?
This is where all the magic happens! Install activate changes what executables the router is running. Depending on the type of SMU/upgrade method the effects of the install could be hitless, a process restart, router reload, or ISSU.
Note: The opposite of this is install deactivate and has the same implications, meaning a reload may happen.
What is install commit?
This is how we keep the running packages persistent across reloads after performing an install activate/deactivate. This command is much quicker than install add or activate as only metadata has to be updated. There is no impact on the currently running packages. Note that during a maintenance window this can be omitted until the end just in case a rollback might be needed, with this a reload of the router will cause the router to go back to the previous code.
How do we downgrade?
Downgrades are essentially the same process as upgrades but with different caveats for different releases. In some cases we can just reload the router, if install commit has not been used, or even use a rollback.
One thing to remember is that PX code cannot be downgraded to P. This is the case with CRS-3 -> CRS-1 and ASR9K 4.3.0+ -> pre-4.3.0. On CRS any PX component requires the PX image, that being the fabric, LCs, or PRP, or from 4.2.0 onwards. On ASR9K PX pre-4.3.0 is only needed for the RSP440, starting with 4.3.0 both P and PX based systems will use PX.
How do we patch the router in XR?
Patching is done through the concept of SMUs, see https://supportforums.cisco.com/docs/DOC-28812 for more information. To summarize a SMU is a patch which changes a few lines of code in a particular component. C-SMUs, umbrella SMUs, and service packs touch multiple components.
Can I move the install add process outside of a maintenance window?
Yes, we recommend this to save time.
How do I upgrade an nV Edge system?
The upgrade of an nV Edge System can be through regular install and having both racks reload at the same time, or through the use of the nV Edge Upgrade script which is recommended for many reasons.
Recommended SMU packs, C-SMUs, umbrella SMUs, and even service packs should be considered a minimum. Beyond that it is recommended to use the CSM tool to determine what you need.
What is CSM?
CSM is Cisco Software Manager and can be used to manage SMUs and be alerted when new SMUs are posted. This tool can be downloaded from the downloads section on cisco.com
What is a Service Pack?
A service pack is a collection of every SMU to-date for a particular release rolled up into one package. The advantage of service packs, for some, is that it makes patching easier and less trivial. The downside is that once you go to service packs you have to stay with service packs. More information to come soon.
How can I monitor the progress of an install?
When starting an install operation (e.g. add, activate, commit) the synchronous keyword can be given and allows the install operation to complete before the CLI prompt is returned. If the synchronous keyword is not given then the CLI prompt is returned and the install happens in the background. If you then want to see the progress of an installation when in asynchronous mode use ‘show install request’ or attach to the install operation with ‘install attach’ which is similar to using the synchronous keyword.
Can I upgrade and install SMUs at the same time?
Yes, this really comes down to disk space and dependencies though.
Can I upgrade the FPDs at the same time?
Yes, as long as the current release you are running supports auto-FPD.
How do I check the reload type for a SMU?
This information is in the readme file for the tar but also can be checked via CLI.
Before performing install add this can be checked with 'admin show install pie-info <filename> detail' under 'Restart information'
If the install add has already been performed then 'admin show install package <package> detail' can be used
How do I abort an installation?
If the synchronous option was used then hit 'ctrl+c'
If asynchronous mode was used then we can use 'admin install abort'
Note that only activation, deactivation, and rollback operations can be aborted.
How can I verify packages on the router?
If for some reason it is suspected that corruption might have taken place then 'admin install verify' commands can be used to determine this, and can even repair the corruption in some instances. This is typically used by TAC.
Can I turboboot the standby RP?
No, once an RP is active and the dSC all other RPs in the same or different chassis will look to the dSC for information on booting. The dSC is determined on bootup of the entire system. Once an RP finds that they are not dSC they will sync packages, meta-data, and configuration files as needed.
How do I find the MD5 of a file?
While install does automatically detect and validate the MD5s this can also be done with ‘show md5 file’ using the absolute path.
Install activate can use a wildcard such as ‘harddisk:*4.3*’ when specifying the packages to activate. Note that this can cause issues if not done properly and I do not advise using this.
Use the install ID created from the install add when doing install activate, this reduces any possible typos.
The ‘source’ option can be given in the install add command to reduce the CLI length and any possible typos.
Starting in 5.1.1 an upgrade can take place which is not 1:1. Normally to upgrade from the current software to a newer release we must, at a minimum, upgrade all packages, we cannot leave out any v2 (new) packages if a v1 (old) version is installed. Using the 'ignore-pkg-presence-check' option with install activate we can now upgrade to v2 without having all the v2 packages we had in v1. This will split the operation into two separate operations, deactivation and activation. Ex. If we have the mini, mpls, and mcast packages in v1 and only specify the mini for v2 then the mpls and mcast v1 packages are deactivated and then the activation of mini v2 will occur. This is only supported on the RSP2.
Move the install add and install commits to pre- and post- maintenance window, respectfully, to allow for more time during the maintenance window and for a rollback.
Install Complaining about incompatibilities
Install operation 120 '(admin) install activate disk0:asr9k-services-p-4.2.3 disk0:asr9k-mini-p-4.2.3 disk0:asr9k-optic-4.2.3 disk0:asr9k-video-p-4.2.3 disk0:asr9k-mpls-p-4.2.3 disk0:asr9k-mcast-p-4.2.3 synchronous test' started by user 'admin' via CLI at 20:40:51 UTC Tue Feb 26 2013. Warning: No changes will occur due to 'test' option being specified. The following is the predicted output for this install command. Error: Cannot proceed with the activation because of the following package incompatibilities: Error: asr9k-mgbl-supp-4.2.1 needs iosxr-fwding-4.2.1, or equivalent, to be active on the same nodes.
Error: Suggested steps to resolve this:
Error: - check the installation instructions.
Error: - activate or deactivate the specified packages on the specified nodes.
Install operation 120 failed at 20:41:23 UTC Tue Feb 26 2013.
For this check to see what packages are currently active via ‘show install active summary’ and compare this to the v2 packages you are trying to activate.
The following packages are active: mini, optic, doc, services, k9sec, video, mpls, mgbl, mcast
The v2 activation we tried only had mini, optic, services, video, mpls, and mcast
Here the solution is to include the doc, k9sec, and mgbl packages as well in the activation command.
Package Syncing to Backup-RSP Failing
Mar 07 21:41:03.431 : Install (Node Preparation): Completed sync of all
packages and meta-data.
Insthelper encountered a fatal error condition, and is exiting: Operation
(Failed to set up node), Error value = (2), Error string =
(No such file or directory)
This indicates an error copying either the packages or meta-data to the RSP and means there is some kind of ‘corruption’. One example of where this is seen is when an upgrade was performed and CSCua50217 was not installed.
The corruption can be verified with 'admin install verify'
Why is my install failing with "File too large" or "Value too large"?
This is typically caused by a tar file which the filesystem cannot handle. For example QNX4 has a limitation of 2GB-1B for a single file.