Upgrading Cisco C9800 using RESTCONF

Upgrading Cisco C9800 using RESTCONF

  • #wireless
- Last updated on

This is going to be a short post highlighting the steps required to upgrade a Cisco C9800 controller. The procedure could also work with another IOS-XE device.

Tools used

I’m assuming that your device is UP and running RESTCONF, otherwise please refer to the following Cisco Deployment link.

Cisco-IOS-XE-install-rpc: this is the module that allows the user to make software upgrade operations.

Three Steps Upgrade

We followed the CLI three steps software upgrade in the Cisco configuration guide.

To make this post short, I will use the CLI command show install summary on each step displaying the expected output.

  1. Install add

Postman POST

https://<IP:Port>/restconf/operations/Cisco-IOS-XE-install-rpc:install

Postman body

{

"install": [

{

"uuid": "test",

"one-shot": false,

"path": "bootflash:C9800-CL-universalk9.17.06.04.SPA.bin"}

]

}
  • Verify

CLI

9800#show install summary 
[ Chassis 1/R0 ] Installed Package(s) Information:
State (St): I - Inactive, U - Activated & Uncommitted,
            C - Activated & Committed, D - Deactivated & Uncommitted
--------------------------------------------------------------------------------
Type  St   Filename/Version
--------------------------------------------------------------------------------
IMG   C    17.06.02.0.2786
IMG   I    17.06.04.0.4912

--------------------------------------------------------------------------------
Auto abort timer: inactive
--------------------------------------------------------------------------------
  1. Install Activate

Postman POST

https://<IP:Port>/restconf/operations/Cisco-IOS-XE-install-rpc:install

Postman body

{

"activate": [

{

"uuid": "test",

"version": 17.06.04.0.4912

}

]

}
  • Verify

CLI

9800#show install summary 
[ Chassis 1/R0 ] Installed Package(s) Information:
State (St): I - Inactive, U - Activated & Uncommitted,
            C - Activated & Committed, D - Deactivated & Uncommitted
--------------------------------------------------------------------------------
Type  St   Filename/Version
--------------------------------------------------------------------------------
IMG   U    17.06.04.0.4912

--------------------------------------------------------------------------------
Auto abort timer: active , time before rollback - 05:53:02
--------------------------------------------------------------------------------
  1. Install Commit

Postman POST

https://<IP:Port>/restconf/operations/Cisco-IOS-XE-install-rpc:install

Postman body

{

"install-commit": [

{

"uuid": "test"

}

]

}
  • Verify

CLI

9800#show install summary 
[ Chassis 1/R0 ] Installed Package(s) Information:
State (St): I - Inactive, U - Activated & Uncommitted,
            C - Activated & Committed, D - Deactivated & Uncommitted
--------------------------------------------------------------------------------
Type  St   Filename/Version
--------------------------------------------------------------------------------
IMG   C    17.06.04.0.4912

--------------------------------------------------------------------------------
Auto abort timer: inactive
--------------------------------------------------------------------------------

That’s All Folks!

Copyright © 2024 Darwin Castro