Skip to main content
Cluster and storage switches

Upgrade Cumulus Linux versions

Contributors netapp-yvonneo

Complete the following procedure to upgrade your Cumulus Linux version as required.

What you'll need
  • Intermediate-level Linux knowledge.

  • Familiarity with basic text editing, UNIX file permissions, and process monitoring. A variety of text editors are pre-installed, including vi and nano.

  • Access to a Linux or UNIX shell. If you are running Windows, use a Linux environment as your command line tool for interacting with Cumulus Linux.

  • The baud rate requirement is set to 115200 on the serial console switch for NVIDIA SN2100 switch console access, as follows:

    • 115200 baud

    • 8 data bits

    • 1 stop bit

    • parity: none

    • flow control: none

About this task

Be aware of the following:

Note Each time Cumulus Linux is upgraded, the entire file system structure is erased and rebuilt. Your existing configuration will be erased. You must save and record your switch configuration before updating Cumulus Linux.
Caution The default password for the cumulus user account is cumulus. The first time you log into Cumulus Linux, you must change this default password. You must update any automation scripts before installing a new image. Cumulus Linux provides command line options to change the default password automatically during the installation process.

See Installing a New Cumulus Linux Image for further information.

Example 1. Steps
From Cumulus Linux 4.4.x to Cumulus Linux 5.x
  1. Check the current Cumulus Linux version and connected ports:

    admin@sw1:mgmt:~$ net show system
    Hostname......... cumulus
    Build............ Cumulus Linux 4.4.3
    Uptime........... 0:08:20.860000
    Model............ Mlnx X86
    CPU.............. x86_64 Intel Atom C2558 2.40GHz
    Memory........... 8GB
    Disk............. 14.7GB
    ASIC............. Mellanox Spectrum MT52132
    Ports............ 16 x 100G-QSFP28
    Part Number...... MSN2100-CB2FC
    Serial Number.... MT2105T05177
    Platform Name.... x86_64-mlnx_x86-r0
    Product Name..... MSN2100
    ONIE Version..... 2019.11-5.2.0020-115200
    Base MAC Address. 04:3F:72:43:92:80
    Manufacturer..... Mellanox
    
    admin@sw1:mgmt:~$ net show interface
    
    State  Name    Spd   MTU    Mode        LLDP                    Summary
    -----  ------  ----  -----  ----------  ----------------------  --------------------
    .
    .
    UP     swp1    100G  9216   Trunk/L2    node1 (e5b)             Master: bridge(UP)
    UP     swp2    100G  9216   Trunk/L2    node2 (e5b)             Master: bridge(UP)
    UP     swp3    100G  9216   Trunk/L2    SHFFG1826000112 (e0b)   Master: bridge(UP)
    UP     swp4    100G  9216   Trunk/L2    SHFFG1826000112 (e0b)   Master: bridge(UP)
    UP     swp5    100G  9216   Trunk/L2    SHFFG1826000102 (e0b)   Master: bridge(UP)
    UP     swp6    100G  9216   Trunk/L2    SHFFG1826000102 (e0b)   Master: bridge(UP))
    .
    .
  2. Download the Cumulux Linux 5.x image:tmp

    admin@sw1:mgmt:~$ sudo onie-install -a -i http://<ip-to-webserver>/path/to/cumulus-linux-5.4.0-mlx-amd64.bin
    [sudo] password for cumulus:
    Fetching installer: http://<ip-to-webserver>/path/to/cumulus-linux-5.4.0-mlx-amd64.bin
    Downloading URL: http://<ip-to-webserver>/path/to/cumulus-linux-5.4.0-mlx-amd64.bin
    # 100.0%
    Success: HTTP download complete.
    EFI variables are not supported on this system
    Warning: SecureBoot is not available.
    Image is signed.
    .
    .
    .
    Staging installer image...done.
    WARNING:
    WARNING: Activating staged installer requested.
    WARNING: This action will wipe out all system data.
    WARNING: Make sure to back up your data.
    WARNING:
    Are you sure (y/N)? y
    Activating staged installer...done.
    Reboot required to take effect.
  3. Reboot the switch:

    admin@sw1:mgmt:~$ sudo reboot
  4. Change the password:

    cumulus login: cumulus
    Password:
    You are required to change your password immediately (administrator enforced)
    Changing password for cumulus.
    Current password: cumulus
    New password: <new_password>
    Retype new password: <new_password>
    Linux cumulus 5.10.0-cl-1-amd64 #1 SMP Debian 5.10.162-1+cl5.4.0u1 (2023-01-20) x86_64
    
    Welcome to NVIDIA Cumulus (R) Linux (R)
    
    ZTP in progress. To disable, do 'ztp -d'
  5. Check the Cumulus Linux version: nv show system

    cumulus@cumulus:mgmt:~$ nv show system
               operational    applied
    ---------- -------------- ----------
    hostname   cumulus        cumulus
    build      Cumulus Linux 5.4.0
    uptime     14:07:08
    timezone   Etc/UTC
  6. Change the hostname:

    cumulus@cumulus:mgmt:~$ nv set system hostname sw1
    cumulus@cumulus:mgmt:~$ nv config apply
    Warning: The following files have been changed since the last save, and they WILL be overwritten.
    - /etc/nsswitch.conf
    - /etc/synced/synced.conf
    .
    .
  7. Logout and log in to the switch again to see the updated switch name at the prompt:

    cumulus@cumulus:mgmt:~$ exit
    logout
    
    Debian GNU/Linux 10 cumulus ttyS0
    
    cumulus login: cumulus
    Password:
    Last login: Tue Dec 15 21:43:13 UTC 2020 on ttyS0
    Linux cumulus 5.10.0-cl-1-amd64 #1 SMP Debian 5.10.162-1+cl5.4.0u1 (2023-01-20) x86_64
    
    Welcome to NVIDIA Cumulus (R) Linux (R)
    
    
    ZTP in progress. To disable, do 'ztp -d'
    
    cumulus@sw1:mgmt:~$
  8. Set the IP address:

    cumulus@sw1:mgmt:~$ nv set interface eth0 ip address 10.231.80.206/22
    cumulus@sw1:mgmt:~$ nv set interface eth0 ip gateway 10.231.80.1
    cumulus@sw1:mgmt:~$ nv config apply
    applied [rev_id: 2]
    cumulus@sw1:mgmt:~$ ip route show vrf mgmt
    default via 10.231.80.1 dev eth0 proto kernel
    unreachable default metric 4278198272
    10.231.80.0/22 dev eth0 proto kernel scope link src 10.231.80.206
    127.0.0.0/8 dev mgmt proto kernel scope link src 127.0.0.1
  9. Create a new user and add this user to the sudo group. This user only becomes effective after the console/SSH session is restarted.

    sudo adduser --ingroup netedit admin

    cumulus@sw1:mgmt:~$ sudo adduser --ingroup netedit admin
    [sudo] password for cumulus:
    Adding user 'admin' ...
    Adding new user 'admin' (1001) with group `netedit' ...
    Creating home directory '/home/admin' ...
    Copying files from '/etc/skel' ...
    New password:
    Retype new password:
    passwd: password updated successfully
    Changing the user information for admin
    Enter the new value, or press ENTER for the default
    Full Name []:
    Room Number []:
    Work Phone []:
    Home Phone []:
    Other []:
    Is the information correct? [Y/n] y
    
    cumulus@sw1:mgmt:~$ sudo adduser admin sudo
    [sudo] password for cumulus:
    Adding user `admin' to group `sudo' ...
    Adding user admin to group sudo
    Done.
    cumulus@sw1:mgmt:~$ exit
    logout
    Connection to 10.233.204.71 closed.
    
    [admin@cycrh6svl01 ~]$ ssh admin@10.233.204.71
    admin@10.233.204.71's password:
    Linux sw1 4.19.0-cl-1-amd64 #1 SMP Cumulus 4.19.206-1+cl4.4.1u1 (2021-09-09) x86_64
    Welcome to NVIDIA Cumulus (R) Linux (R)
    
    For support and online technical documentation, visit
    http://www.cumulusnetworks.com/support
    
    The registered trademark Linux (R) is used pursuant to a sublicense from LMI, the exclusive licensee of Linus Torvalds, owner of the mark on a world-wide basis.
    admin@sw1:mgmt:~$
  10. Add additional user groups for the admin user to access nv commands:

    cumulus@sw1:mgmt:~$ sudo adduser admin nvshow
         [sudo] password for cumulus:
         Adding user `admin' to group `nvshow' ...
         Adding user admin to group nvshow
         Done.

    See NVIDIA User Accounts for more information.

From Cumulus Linux 5.x to Cumulus Linux 5.x
  1. Check the current Cumulus Linux version and connected ports:

    admin@sw1:mgmt:~$ nv show system
                        operational          applied
    ------------------- -------------------- -----------------
    hostname            cumulus              cumulus
    build               Cumulus Linux 5.3.0
    uptime              6 days, 8:37:36
    timezone            Etc/UTC
    
    admin@sw1:mgmt:~$ nv show interface
    Interface     MTU   Speed State Remote Host         Remote Port- Type      Summary
    ------------- ----- ----- ----- ------------------- ------------ --------- -------------
    + cluster_isl 9216  200G  up                                      bond
    + eth0        1500  100M  up    mgmt-sw1            Eth105/1/14   eth       IP Address: 10.231.80 206/22
      eth0                                                                      IP Address: fd20:8b1e:f6ff:fe31:4a0e/64
    + lo          65536       up                                      loopback  IP Address: 127.0.0.1/8
      lo                                                                        IP Address: ::1/128
    + swp1s0      9216 10G    up cluster01                e0b         swp
    .
    .
    .
    + swp15      9216 100G    up sw2                      swp15       swp
    + swp16      9216 100G    up sw2                      swp16       swp
  2. Download the Cumulux Linux 5.4.0 image:

    admin@sw1:mgmt:~$ sudo onie-install -a -i http://<ip-to-webserver>/path/to/cumulus-linux-5.4.0-mlx-amd64.bin
    [sudo] password for cumulus:
    Fetching installer: http://<ip-to-webserver>/path/to/cumulus-linux-5.4.0-mlx-amd64.bin
    Downloading URL: http://<ip-to-webserver>/path/to/cumulus-linux-5.4.0-mlx-amd64.bin
    # 100.0%
    Success: HTTP download complete.
    EFI variables are not supported on this system
    Warning: SecureBoot is not available.
    Image is signed.
    .
    .
    .
    Staging installer image...done.
    WARNING:
    WARNING: Activating staged installer requested.
    WARNING: This action will wipe out all system data.
    WARNING: Make sure to back up your data.
    WARNING:
    Are you sure (y/N)? y
    Activating staged installer...done.
    Reboot required to take effect.
  3. Reboot the switch:

    admin@sw1:mgmt:~$ sudo reboot
  4. Change the password:

    cumulus login: cumulus
    Password:
    You are required to change your password immediately (administrator enforced)
    Changing password for cumulus.
    Current password: cumulus
    New password: <new_password>
    Retype new password: <new_password>
    Linux cumulus 5.10.0-cl-1-amd64 #1 SMP Debian 5.10.162-1+cl5.4.0u1 (2023-01-20) x86_64
    
    Welcome to NVIDIA Cumulus (R) Linux (R)
    
    ZTP in progress. To disable, do 'ztp -d'
  5. Check the Cumulus Linux version: nv show system

    cumulus@cumulus:mgmt:~$ nv show system
    operational    applied
    -------------- ----------------
    hostname       cumulus cumulus
    build          Cumulus Linux 5.4.0
    uptime         14:07:08
    timezone       Etc/UTC
  6. Change the hostname:

    cumulus@cumulus:mgmt:~$ nv set system hostname sw1
    cumulus@cumulus:mgmt:~$ nv config apply
    Warning: The following files have been changed since the last save, and they WILL be overwritten.
    - /etc/nsswitch.conf
    - /etc/synced/synced.conf
    .
    .
  7. Logout and log in again to the switch to see the updated switch name at the prompt:

    cumulus@cumulus:mgmt:~$ exit
    logout
    
    Debian GNU/Linux 10 cumulus ttyS0
    
    cumulus login: cumulus
    Password:
    Last login: Tue Dec 15 21:43:13 UTC 2020 on ttyS0
    Linux cumulus 5.10.0-cl-1-amd64 #1 SMP Debian 5.10.162-1+cl5.4.0u1 (2023-01-20) x86_64
    
    Welcome to NVIDIA Cumulus (R) Linux (R)
    
    
    ZTP in progress. To disable, do 'ztp -d'
    
    cumulus@sw1:mgmt:~$
  8. Set the IP address:

    cumulus@sw1:mgmt:~$ nv set interface eth0 ip address 10.231.80.206/22
    cumulus@sw1:mgmt:~$ nv set interface eth0 ip gateway 10.231.80.1
    cumulus@sw1:mgmt:~$ nv config apply
    applied [rev_id: 2]
    cumulus@sw1:mgmt:~$ ip route show vrf mgmt
    default via 10.231.80.1 dev eth0 proto kernel
    unreachable default metric 4278198272
    10.231.80.0/22 dev eth0 proto kernel scope link src 10.231.80.206
    127.0.0.0/8 dev mgmt proto kernel scope link src 127.0.0.1
  9. Create a new user and add this user to the sudo group. This user only becomes effective after the console/SSH session is restarted.

    sudo adduser --ingroup netedit admin

    cumulus@sw1:mgmt:~$ sudo adduser --ingroup netedit admin
    [sudo] password for cumulus:
    Adding user 'admin' ...
    Adding new user 'admin' (1001) with group `netedit' ...
    Creating home directory '/home/admin' ...
    Copying files from '/etc/skel' ...
    New password:
    Retype new password:
    passwd: password updated successfully
    Changing the user information for admin
    Enter the new value, or press ENTER for the default
    Full Name []:
    Room Number []:
    Work Phone []:
    Home Phone []:
    Other []:
    Is the information correct? [Y/n] y
    
    cumulus@sw1:mgmt:~$ sudo adduser admin sudo
    [sudo] password for cumulus:
    Adding user `admin' to group `sudo' ...
    Adding user admin to group sudo
    Done.
    cumulus@sw1:mgmt:~$ exit
    logout
    Connection to 10.233.204.71 closed.
    
    [admin@cycrh6svl01 ~]$ ssh admin@10.233.204.71
    admin@10.233.204.71's password:
    Linux sw1 4.19.0-cl-1-amd64 #1 SMP Cumulus 4.19.206-1+cl4.4.1u1 (2021-09-09) x86_64
    Welcome to NVIDIA Cumulus (R) Linux (R)
    
    For support and online technical documentation, visit
    http://www.cumulusnetworks.com/support
    
    The registered trademark Linux (R) is used pursuant to a sublicense from LMI, the exclusive licensee of Linus Torvalds, owner of the mark on a world-wide basis.
    admin@sw1:mgmt:~$
  10. Add additional user groups for the admin user to access nv commands:

    cumulus@sw1:mgmt:~$ sudo adduser admin nvshow
         [sudo] password for cumulus:
         Adding user `admin' to group `nvshow' ...
         Adding user admin to group nvshow
         Done.

    See NVIDIA User Accounts for more information.