Managing Firmware

Managing Firmware

Each firmware image includes a compatibility catalog that identifies supported types and switch models. APIC maintains a catalog of the firmware images, switch types, and models that are allowed to use that firmware image. The default setting is to reject a firmware update when it does not conform to the compatibility catalog.

APIC has an image repository for compatibility catalogs, controller firmware images, and switch images. The administrator can download new firmware image to the APIC image repository from an external HTTP server or SCP server.


Note

Before you upgrade the switches, the APICs must have completed upgrading and have a health state of Fully Fit.


Adding or Removing Repository Images

Procedure

  Command or Action Purpose
Step 1

firmware repository add absolute-image-path

Example:

apic1# firmware repository add /home/admin/aci-catalog-dk9.1.2.1b.bin

Adds a firmware image to the repository.

Step 2

firmware repository delete image

Example:

apic1# firmware repository delete aci-catalog-dk9.1.2.1a.bin

Deletes a firmware image from the repository.

Examples


apic1# firmware repository add /home/admin/aci-catalog-dk9.1.2.1b.bin
apic1# firmware repository delete aci-catalog-dk9.1.2.1a.bin

Changing Catalog Firmware

This procedures shows how to select a catalog firmware version from the repository.

Procedure

  Command or Action Purpose
Step 1

show firmware repository [detail]

Example:

apic1# show firmware repository

Show firmware images present in repository. The detail option displays additional information such as MD5 checksum, release date, and download date.

Step 2

configure

Example:

apic1# configure

Enters global configuration mode.

Step 3

firmware

Example:

apic1(config)# firmware

Enters firmware upgrade configuration mode.

Step 4

(Optional) show version

Example:

apic1(config-firmware)# show version
(Optional)

Displays the currently-installed controller and switch firmware versions.

Step 5

catalog-version firmware-name

Example:

apic1(config-firmware)# catalog-version aci-catalog-dk9.1.2.1b.bin

Changes the catalog version to an available image in the repository.

Examples

This example shows how to select a catalog firmware version from the repository.


apic1# show firmware repository
Name                        Type     Version  Size(MB)
--------------------------  -------  -------  -------
aci-catalog-dk9.1.2.1a.bin  catalog  1.2.1a   0.023
aci-catalog-dk9.1.2.1b.bin  catalog  1.2.1b   0.025

apic1# configure
apic1(config)# firmware
apic1(config-firmware)# catalog-version aci-catalog-dk9.1.2.1b.bin

Upgrading Controller Firmware

The controllers upgrade in random order. Each APIC controller takes about 10 minutes to upgrade. Once a controller image is upgraded, it drops from the cluster and reboots with the newer version while the other APIC controllers in the cluster are still operational. Once the controller reboots, it joins the cluster again. Then the cluster converges, and the next controller image starts to upgrade.

The catalog firmware image is upgraded when an APIC controller image is upgraded. You do not need to upgrade the catalog firmware image separately.

Procedure

  Command or Action Purpose
Step 1

configure

Example:

apic1# configure

Enters global configuration mode.

Step 2

firmware

Example:

apic1(config)# firmware

Enters firmware upgrade configuration mode.

Step 3

(Optional) show version

Example:

apic1(config-firmware)# show version
(Optional)

Displays the currently-installed controller and switch firmware versions.

Step 4

controller-group

Example:

apic1(config-firmware)# controller-group

Enters controller upgrade configuration mode.

Step 5

firmware-version firmware-name

Example:

apic1(config-firmware-controller)# firmware-version aci-apic-dk9.1.2.1b.iso

Specifies the desired version for the upgrade.

Step 6

[no] time start time

Example:

apic1(config-firmware-controller)# time start 2016:jan:01:12:01

Sets the starting time in the format [[[yyyy:]mmm:]dd:]HH:MM. The date is optional.

Note 

To upgrade the controllers immediately, return to EXEC mode and type the command firmware upgrade controller-group .

Examples

This example shows how to upgrade the controllers.


apic1# show controller       
Fabric Name          : mininet
Operational Size     : 3
Cluster Size         : 3
Time Difference      : 0
Fabric Security Mode : permissive

 ID   Address    In-Band Address  OOB Address   Version     Flags  Serial Number  Health           
 ---  ---------  ---------------  ------------  ----------  -----  -------------  --------- 
 1*   10.0.0.1   192.168.11.1     192.168.10.1  1.2(1a)     crva   TEP-1-1        fully-fit        
 2    10.0.0.2   192.168.11.2     192.168.10.2  1.2(1a)     crva   TEP-1-2        fully-fit        
 3    10.0.0.3   192.168.11.3     192.168.10.3  1.2(1a)     crva   TEP-1-3        fully-fit        

Flags - c:Commissioned | r:Registered | v:Valid Certificate | a:Approved

apic1# configure
apic1(config)# firmware
apic1(config-firmware)# show version
Role    	    Id      	   Name              	Version
 ----------  ----------  -----------------  -----------
 controller  1       	   apic1             	1.2(1a)
 controller  2       	   apic2             	1.2(1a)
 controller  3       	   apic3             	1.2(1a)
 leaf        101       	 leaf1             	n9000-11.2(1a)
 leaf        102       	 leaf2             	n9000-11.2(1a)
 leaf        103       	 leaf2             	n9000-11.2(1a)
 spine       201       	 spine1            	n9000-11.2(1a)
 spine       202       	 spine2            	n9000-11.2(1a)

apic1(config-firmware)# controller-group
apic1(config-firmware-controller)# firmware-version aci-apic-dk9.1.2.1b.iso
apic1(config-firmware-controller)# time start 2016:jan:01:12:01

Upgrading Switch Firmware

Before you begin

A scheduler must exist to specify when the upgrade will be executed.


Note

Before you upgrade the switches, the APICs must have completed upgrading and have a health state of Fully Fit.


Procedure

  Command or Action Purpose
Step 1

configure

Example:

apic1# configure

Enters global configuration mode.

Step 2

firmware

Example:

apic1(config)# firmware

Enters firmware upgrade configuration mode.

Step 3

[no] switch-group group-name

Example:

apic1(config-firmware)# switch-group mySwitchGroup5

Creates (or deletes) switch group and enters switch upgrade configuration mode.

Step 4

[no] switch node-id-or-name[,node-id-or-name,...]

Example:


apic1(config-firmware-switch)# switch leaf1-leaf3,leaf6
apic1(config-firmware-switch)# no switch leaf4,leaf5

Adds (or removes) a switch or a list of switches to the switch-group for upgrading. You can specify the node ID (such as 101) or the name (such as spine1). You can specify multiple switches by using commas.

Step 5

firmware-version firmware-name

Example:

apic1(config-firmware-switch)# firmware-version aci-apic-dk9.11.2.1a.bin

Specifies the target firmware image.

Step 6

[no] run-mode {pause-never | pause-on-failure}

Example:

apic1(config-firmware-switch)# run-mode pause-on-failure

Species whether to proceed to the next set of nodes if the upgrade fails on the current set of nodes.

Step 7

schedule scheduler-name

Example:

apic1(config-firmware-switch)# schedule myNextSunday

Assigns a scheduler for the upgrade. Enter the name of a scheduler that has already been defined.

Note 

To upgrade the switch group immediately, return to EXEC mode and type the command firmware upgrade switch-group .

Step 8

[no] scheduler pause

Example:

apic1(config-firmware-switch)# scheduler pause
apic1(config-firmware-switch)# no scheduler pause

Pauses the maintenance policy scheduler. Use the [no] prefix to resume.

Step 9

show running-config

Example:

apic1(config-firmware-switch)# show run

Displays the configuration.

Examples

This example shows how to upgrade the firmware for three leaf switches.


apic1# configure
apic1(config)# firmware
apic1(config-firmware)# switch-group mySwitchGroup5
apic1(config-firmware-switch)# switch leaf1,leaf3,leaf6
apic1(config-firmware-switch)# no switch leaf4,leaf5
apic1(config-firmware-switch)# firmware-version aci-apic-dk9.1.1.3f.bin
apic1(config-firmware-switch)# run-mode pause-on-failure
apic1(config-firmware-switch)# schedule myNextSunday
apic1(config-firmware-switch)# show run
# Command: show running-config firmware switch-group mySwitchGroup5
# Time: Fri Nov  6 23:55:35 2015
  firmware
    switch-group mySwitchGroup5
      switch 101
      switch 102
      switch 103
      switch 106
      schedule myNextSunday
      exit
    exit