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:
- 4.6.0 or 4.5.0: upgrade directly to NetQ 4.7.0
- 4.4.1, 4.4.0, or 4.3.0: back up your NetQ data and perform a new installation of NetQ 4.7.0
- 4.2.0 or earlier: upgrade incrementally to version 4.3.0. Then back up your NetQ data and perform a new installation of NetQ 4.7.0.
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
-
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
-
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
-
Download the upgrade tarball.
- On the NVIDIA Application Hub, log in to your account.
- Select NVIDIA Licensing Portal.
- Select Software Downloads from the menu.
- Click Product Family and select NetQ.
- 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. - 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.
- On the NVIDIA Application Hub, log in to your account.
-
Copy the tarball to the
/mnt/installables/
directory on your NetQ VM. -
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.
- 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:
-
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.
-
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.
-
Run the
netq show opta-health
command and check that all pods are in theREADY
state. If the pods are in a state other thanREADY
, contact the NVIDIA support team. -
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
```