If you are using the current version of Cumulus NetQ, the content on this page may not be up to date. The current version of the documentation is available here. If you are redirected to the main page of the user guide, then this page may have been renamed; please search for it there.

Upgrade NetQ Virtual Machines

This page describes how to upgrade your NetQ virtual machines. Note that the upgrade instructions vary depending on NetQ version you’re currently running.

For deployments running:

Upgrading from NetQ 4.5.0 or Later

You can upgrade directly to NetQ 4.7.0 if your deployment is currently running version 4.5.0 or 4.6.0.

Back up your NetQ Data

Before you upgrade, you can back up your NetQ data. This is an optional step for on-premises deployments. NVIDIA automatically creates backups for NetQ cloud deployments.

Update NetQ Debian Packages

  1. Update /etc/apt/sources.list.d/cumulus-netq.list to netq-4.7:

    cat /etc/apt/sources.list.d/cumulus-netq.list
    deb [arch=amd64] https://apps3.cumulusnetworks.com/repos/deb focal netq-4.7
    
  2. Update the NetQ debian packages. In cluster deployments, update the packages on the master and all worker nodes.

    cumulus@<hostname>:~$ sudo apt-get update
    Get:1 https://apps3.cumulusnetworks.com/repos/deb focal InRelease [13.8 kB]
    Get:2 https://apps3.cumulusnetworks.com/repos/deb focal/netq-4.7 amd64 Packages [758 B]
    Hit:3 http://archive.ubuntu.com/ubuntu focal InRelease
    Get:4 http://security.ubuntu.com/ubuntu focal-security InRelease [88.7 kB]
    Get:5 http://archive.ubuntu.com/ubuntu focal-updates InRelease [88.7 kB]
    ...
    Reading package lists... Done
    
    cumulus@<hostname>:~$ sudo apt-get install -y netq-agent netq-apps
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    ...
    The following NEW packages will be installed:
    netq-agent netq-apps
    ...
    Fetched 39.8 MB in 3s (13.5 MB/s)
    ...
    Unpacking netq-agent (4.7.0-ub20.04u43~1690981360.9d32c7a0) ...
    ...
    Unpacking netq-apps (4.7.0-ub20.04u43~1690981360.9d32c7a0) ...
    Setting up netq-apps (4.7.0-ub20.04u43~1690981360.9d32c7a0) ...
    Setting up netq-agent (4.7.0-ub20.04u43~1690981360.9d32c7a0) ...
    Processing triggers for rsyslog (8.32.0-1ubuntu4) ...
    Processing triggers for man-db (2.8.3-2ubuntu0.1) ...
    

Download the Upgrade Software

  1. Download the upgrade tarball.

    1. On the NVIDIA Application Hub, log in to your account.
    2. Select NVIDIA Licensing Portal.
    3. Select Software Downloads from the menu.
    4. Click Product Family and select NetQ.
    5. Select the relevant software for your hypervisor:
      If you are upgrading NetQ Platform software for a NetQ on-premises VM, select NetQ SW 4.7 Appliance to download the NetQ-4.7.0.tgz file. If you are upgrading NetQ software for a NetQ cloud VM, select NetQ SW 4.7 Appliance Cloud to download the NetQ-4.7.0-opta.tgz file.
    6. If prompted, agree to the license agreement and proceed with the download.

    For enterprise customers, if you do not see a link to the NVIDIA Licensing Portal on the NVIDIA Application Hub, contact NVIDIA support.


    For NVIDIA employees, download NetQ directly from the NVIDIA Licensing Portal.

  2. Copy the tarball to the /mnt/installables/ directory on your NetQ VM.

  3. For on-premises deployments, download the configuration backup script, backup_restore_configs.py:

a. On the NVIDIA Application Hub, log in to your account.

b. Select NVIDIA Licensing Portal.

c. Select Software Downloads from the menu.

d. Click Product Family and select NetQ.

e. Locate the NetQ SW 4.7.0 Upgrade Backup Restore Configs Script file and select Download.

f. If prompted, agree to the license agreement and proceed with the download.

  1. For on-premises deployments, copy the backup_restore_configs.py script to /home/cumulus/ on your NetQ server and change the permissions:
username@hostname:~$ scp ./backup_restore_configs.py cumulus@10.10.10.10:/home/cumulus/
username@hostname:~$ sudo chmod +x /home/cumulus/backup_restore_configs.py

Run the Upgrade

Perform the following steps using the cumulus user account.

Pre-installation Checks

Verify the following items before upgrading NetQ. For cluster deployments, verify steps 1 and 4 on all nodes in the cluster:

  1. Confirm your VM is configured with 16 vCPUs. If your VM is configured with fewer than 16 vCPUs, power off your VM, reconfigure your hypervisor to allocate 16 vCPUs, then power the VM on before proceeding.

  2. Check if there is sufficient disk space:

cumulus@<hostname>:~$ df -h /
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       248G   70G  179G  28% /
cumulus@netq-appliance:~$

NVIDIA recommends proceeding with the installation only if the Use% is less than 70%. You can delete previous software tarballs in the /mnt/installables/ directory to regain some space. If you cannot decrease disk usage to under 70%, contact the NVIDIA support team.

  1. Run the netq show opta-health command and check that all pods are in the READY state. If the pods are in a state other than READY, contact the NVIDIA support team.

  2. Check if the certificates have expired:

cumulus@<hostname>:~$ sudo grep client-certificate-data /etc/kubernetes/kubelet.conf | cut -d: -f2 | xargs | base64 -d | openssl x509 -dates -noout | grep notAfter | cut -f2 -d=
Dec 18 17:53:16 2021 GMT
cumulus@netq-appliance:~$

If the date in the above output is in the past, run the following commands before proceeding with the upgrade:

sudo cp /etc/kubernetes/kubelet.conf /etc/kubernetes/kubelet.conf.bak
sudo sed -i 's/client-certificate-data.*/client-certificate: \/var\/lib\/kubelet\/pki\/kubelet-client-current.pem/g' /etc/kubernetes/kubelet.conf
sudo sed -i 's/client-key.*/client-key: \/var\/lib\/kubelet\/pki\/kubelet-client-current.pem/g' /etc/kubernetes/kubelet.conf
sudo systemctl restart kubelet

Confirm that the kubelet process is running with the sudo systemctl status kubelet command before proceeding with the upgrade.

Upgrade Using the NetQ CLI

Run the following command in the directory that contains the NetQ configuration backup script. In cluster deployments, run this command on the master node:

sudo /home/cumulus/./backup_restore_configs.py --preupgrade

Next, clear the install state and save the database from the decommissioned appliance. In cluster deployments, run this command on the master node:

cumulus@<hostname>:~$ netq bootstrap reset keep-db purge-images

On the NetQ cloud appliance that you’re planning to decommission, install the latest NetQ packages:

wget -qO - https://apps3.cumulusnetworks.com/setup/cumulus-apps-deb.pubkey | sudo apt-key add
echo "deb https://apps3.cumulusnetworks.com/repos/deb "$(. /etc/os-release && echo "$VERSION_CODENAME")" netq-latest" | sudo tee -a /etc/apt/sources.list.d/netq.list
sudo apt-get update && sudo apt-get install -y netq-apps netq-agent

On the same appliance, generate new AuthKeys and configure the CLI.

Next, clear the install state from the decommissioned appliance. In cluster deployments, run this command on the master node:

cumulus@<hostname>:~$ netq bootstrap reset

Run the appropriate netq install command for your deployment:

cumulus@<hostname>:~$ netq install standalone full interface <interface-name> bundle /mnt/installables/NetQ-4.7.0.tgz

You can specify the IP address instead of the interface name. To do so, use ip-addr <IP address> in place of the interface referenced with interface <interface-name> above.

Next, run the following command in the directory that contains the NetQ configuration backup script.

sudo /home/cumulus/./backup_restore_configs.py --postupgrade

Run the following command on your master node to initialize the cluster. Copy the output of the command to use on your worker nodes:

cumulus@<hostname>:~$ netq install cluster master-init
   Please run the following command on all worker nodes:
   netq install cluster worker-init c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFDM2NjTTZPdVVUWWJ5c2Q3NlJ4SHdseHBsOHQ4N2VMRWVGR05LSWFWVnVNcy94OEE4RFNMQVhKOHVKRjVLUXBnVjdKM2lnMGJpL2hDMVhmSVVjU3l3ZmhvVDVZM3dQN1oySVZVT29ZTi8vR1lOek5nVlNocWZQMDNDRW0xNnNmSzVvUWRQTzQzRFhxQ3NjbndIT3dwZmhRYy9MWTU1a

Run the netq install cluster worker-init <ssh-key> command from the output on each of your worker nodes.

Run the following command on your master node using the IP addresses of your worker nodes:

cumulus@<hostname>:~$ netq install cluster full interface <interface-name> bundle /mnt/installables/NetQ-4.7.0.tgz workers <worker-1-ip> <worker-2-ip>

You can specify the IP address instead of the interface name. To do so, use ip-addr <IP address> in place of the interface referenced with interface <interface-name> above.

On the master node, run the following command in the directory that contains the NetQ configuration backup script.

sudo /home/cumulus/./backup_restore_configs.py --postupgrade

Run the following command on your NetQ cloud appliance with the config key obtained from the email you received from NVIDIA titled NetQ Access Link. You can also obtain the configuration key using the NetQ UI.

cumulus@<hostname>:~$ netq install opta standalone full interface <interface-name> bundle /mnt/installables/NetQ-4.7.0-opta.tgz config-key <your-config-key> [proxy-host <proxy-hostname> proxy-port <proxy-port>]

You can specify the IP address instead of the interface name. To do so, use ip-addr <IP address> in place of the interface referenced with interface <interface-name> above.

Run the following command on your master node to initialize the cluster. Copy the output of the command to use on your worker nodes:

cumulus@<hostname>:~$ netq install cluster master-init
   Please run the following command on all worker nodes:
   netq install cluster worker-init c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFDM2NjTTZPdVVUWWJ5c2Q3NlJ4SHdseHBsOHQ4N2VMRWVGR05LSWFWVnVNcy94OEE4RFNMQVhKOHVKRjVLUXBnVjdKM2lnMGJpL2hDMVhmSVVjU3l3ZmhvVDVZM3dQN1oySVZVT29ZTi8vR1lOek5nVlNocWZQMDNDRW0xNnNmSzVvUWRQTzQzRFhxQ3NjbndIT3dwZmhRYy9MWTU1a

Run the netq install cluster worker-init <ssh-key> command from the output on each of your worker nodes.

Run the following command on your master NetQ cloud appliance using the IP addresses of your worker nodes and the config key obtained from the email you received from NVIDIA titled NetQ Access Link. You can also obtain the configuration key using the NetQ UI.

cumulus@<hostname>:~$ netq install opta cluster full interface <interface-name> bundle /mnt/installables/NetQ-4.7.0-opta.tgz config-key <your-config-key> workers <worker-1-ip> <worker-2-ip> [proxy-host <proxy-hostname> proxy-port <proxy-port>]

You can specify the IP address instead of the interface name. To do so, use ip-addr <IP address> in place of the interface referenced with interface <interface-name> above.

Confirm the upgrade was successful:

```
cumulus@<hostname>:~$ cat /etc/app-release
BOOTSTRAP_VERSION=4.7.0
APPLIANCE_MANIFEST_HASH=8869b5423dfcc441ea56a3c89e680b1b2ad61f6887edccb11676bac893073beb
APPLIANCE_VERSION=4.7.0
APPLIANCE_NAME=NetQ On-premises Appliance
```
```
cumulus@<hostname>:~$ cat /etc/app-release
BOOTSTRAP_VERSION=4.7.0
APPLIANCE_MANIFEST_HASH=0f282bd6eb5ac43c6b7b7a2a0df42281b20912ffead1eb2ba8afafd5a428db7c
APPLIANCE_VERSION=4.7.0
APPLIANCE_NAME=NetQ Cloud Appliance
```

Next Steps