Upgrade SONiC Image

This section describes how to upgrade from one SONiC image to another SONiC image on the Cisco 8000 series fixed form factor routers. The routers support reimaging via reimage_chassis utility.

Note: You must have root-system user privileges to upgrade SONiC images.

  1. Download the SONiC image sonic-cisco-8000<version>.bin from the Software Download Center.

  2. Copy the downloaded SONiC install image to the router.

    cisco@sonic:~$ scp user@<ip-address>:/<image_path>/sonic-cisco-8000.bin /tmp
    
  3. Install the downloaded image on RP.

  4. Install the image to upgrade the SONiC version.

    cisco@sonic:~$sonic-installer install /tmp/sonic-cisco-8000.bin
    New image will be installed, continue? [y/N]: y
    Installing image SONiC-OS-cisco_202012.12-20210626.105606 and setting it as default...
    Command: bash /tmp/sonic-cisco-8000.bin
    cat: write error: Broken pipe
    Verifying image checksum ... OK.
    Preparing image archive ... OK.
    Installing SONiC in SONiC
    ONIE Installer: platform: x86_64-cisco-8000-r0
    onie_platform: x86_64-8201_32fh_o-r0
    Installing SONiC to /host/image-cisco_202012.12-20210626.105606
    Archive: fs.zip
    

    This installation does not interfere with the current network configuration and traffic.

  5. Check the installed image. The Next pointer shows the image that will be effective on the next boot or reload of the RP.

    cisco@sonic:~$sonic-installer list
    Current: SONiC-OS-cisco_tencent_201911.117-20210630.170015
    Next: SONiC-OS-cisco_202012.12-20210626.105606
    Available:
    SONiC-OS-cisco_202012.12-20210626.105606
    SONiC-OS-cisco_tencent_201911.117-20210630.170015
    

    The sonic-installer image provides these additional options:

    Option Description
    binary-version Get version from local binary image file
    cleanup Remove installed images which are not current and next
    install Install image from local binary or URL
    list Print installed images
    remove Uninstall image
    rollback-docker Rollback docker image to previous version
    set-default Choose image to boot from by default
    set-next-boot Choose image for next reboot (one time action)
    upgrade-docker Upgrade docker image from local binary or URL
    verify-next-image Verify the next image for reboot
  6. Reload the chassis from the RP.

cisco@sonic:~$reload –r now
  1. Upgrade Ethernet switch for external reachability of LC.

    root@sonic-rp#fpd_aldrin.sh
    
  2. View the PIDs supported in the package.

    root@sonic:/home/cisco# ls -l /host/<image>/platform/
    total 52
    drwxrwxrwx 2 root root 4096 Aug 20 01:07 acpi
    drwxrwxrwx 2 root root 4096 Aug 20 01:08 x86_64-8101_32h_o-r0
    drwxrwxrwx 2 root root 4096 Aug 20 01:08 x86_64-8102_64h_o-r0
    drwxrwxrwx 2 root root 4096 Aug 20 01:08 x86_64-8201_32fh_o-r0
    drwxrwxrwx 2 root root 4096 Aug 20 01:08 x86_64-8201_on_-r0
    drwxrwxrwx 2 root root 4096 Aug 20 01:08 x86_64-8201_on-r0
    drwxrwxrwx 2 root root 4096 Aug 20 01:08 x86_64-8201_sys_on-r0
    drwxrwxrwx 2 root root 4096 Aug 20 01:07 x86_64-8201_sys-r0
    drwxrwxrwx 2 root root 4096 Aug 20 01:08 x86_64-8203_sys-r0
    drwxrwxrwx 2 root root 4096 Aug 20 01:07 x86_64-grub
    .........
    

    You can also upgrade SONiC image using the reimage_chassis.py utility if HTTP and DHCP servers are running on the RP. This process does not need manual intervention. Ensure Apache HyperText Transfer Protocol (httpd) is running on the server. Run the following command with root privileges (sudo):

    cisco@sonic:~$reimage_chassis.py -ALL -srvr <ip_addr> -img <sonic-cisco-8000.bin>
    

    Specify the IP address of the server hosting the install image. The image is upgraded on the RP followed by all the LCs. The RP and LCs reload after the upgrade is complete and loads with new image.

  3. Enter the username admin and password password at the SONiC login prompt.

    sonic login: admin
    Password:
    Last login: Fri June 3 18:52:14 UTC 2020 on ttyS0
    Linux sonic 4.19.0-9-cisco-amd64 #1 SMP Debian 4.19.118-2+deb10u1 (2020-06-07) x86_64
    You are on
    / ___| / _ \| \ | (_)/ ___|
    \___ \| | | | \| | | |
     ___) | |_| | |\ | | |___
    |____/ \___/|_| \_|_|\____|
    -- Software for Open Networking in the Cloud --
    Unauthorized access and/or use are prohibited.
    All access and/or use are subject to monitoring.
    Help: http://azure.github.io/SONiC/
    
  4. View the software version, and the list of docker images loaded on the router.

    cisco@sonic:~$ show version
    SONiC Software Version: SONiC.cisco_202012.0-8dbd003f
    Distribution: Debian 9.13
    Kernel: 4.19.0-9-cisco-amd64
    Build commit: 8dbd003f
    Build date: Fri Oct 29 07:37:25 UTC 2020
    Built by: user@host
    Platform: x86_64-8201_sys-r0
    HwSKU: 36x100Gb
    ASIC: cisco-8000
    Serial Number: FOC2219HITI
    Cisco Silicon One SDK: 1.33.1-SDK-1.5.2-13-g843fbac-sonic-1.33.1-sai152-dec9-651-1
    Cisco Whitebox BSP: 0.1.11-29-gb022f2d
    Cisco Whitebox FPD: 0.1-22-gfbde9e1
    Cisco NP Suite: None
    Uptime: 19:16:08 up 7 min, 1 user, load average: 4.48, 3.12, 1.50
    
    Docker images:
    REPOSITORY                   TAG                           IMAGE ID             SIZE
    docker-saiserver             cisco_202012.0-8dbd003f       d53de4f53fb3         951MB
    docker-saiserver             latest                        d53de4f53fb3         951MB
    docker-syncd                 cisco_202012.0-8dbd003f       67d9c3e6ee6a         719MB
    docker-syncd                 latest                        67d9c3e6ee6a         719MB
    docker-sonic-telemetry       cisco_202012.0-8dbd003f       177aadb68a43         353MB
    docker-sonic-telemetry       latest                        177aadb68a43         353MB
    docker-router-advertiser     cisco_202012.0-8dbd003f       38379913e9fb         290MB
    docker-router-advertiser     latest                        38379913e9fb         290MB
    docker-sonic-mgmt-framework  cisco_202012.0-8dbd003f       b1dc56ba080a         428MB
    docker-sonic-mgmt-framework  latest                        b1dc56ba080a         428MB
    docker-platform-monitor      cisco_202012.0-8dbd003f       3509321ea1ee         369MB
    docker-platform-monitor      latest                        3509321ea1ee         369MB
    docker-lldp-sv2              cisco_202012.0-8dbd003f       e97b462e462b         312MB
    docker-lldp-sv2              latest                        e97b462e462b         312MB
    docker-fpm-frr               cisco_202012.0-8dbd003f       670471b0e015         335MB
    docker-fpm-frr               latest                        670471b0e015         335MB
    docker-sflow                 cisco_202012.0-8dbd003f       fe7fb968d68d         315MB
    docker-sflow                 latest                        fe7fb968d68d         315MB
    docker-dhcp-relay            cisco_202012.0-8dbd003f       1ac3c7600354         300MB
    docker-dhcp-relay            latest                        1ac3c7600354         300MB
    docker-database              cisco_202012.0-8dbd003f       9aed1565ac96         290MB
    docker-database              latest                        9aed1565ac96         290MB
    docker-orchagent             cisco_202012.0-8dbd003f       fcdffb142dbb         346MB
    docker-orchagent             latest                        fcdffb142dbb         346MB
    docker-teamd                 cisco_202012.0-8dbd003f       2c007b95b38f         315MB
    docker-teamd                 latest                        2c007b95b38f         315MB
    docker-nat                   cisco_202012.0-8dbd003f       5e9cd32094fa         316MB
    docker-nat                   latest                        5e9cd32094fa         316MB
    docker-snmp-sv2              cisco_202012.0-8dbd003f       64357fe71751         348MB
    docker-snmp-sv2              latest                        64357fe71751         348MB