We cannot upgrade an Appliance with uCPE enabled from 16.1R2 to 20.2.x. Please follow the below workaround prior to the upgrade from 16.1R2 to have the UCPE functionality enabled post-upgrade to 20.2.x
1. Remove the service-chain template associated with the 16.1R2 device. Upgrade the device to 20.2.x version from 16.1R2.
2. This step is required only when upgrade to 20.2.1 version from 16.1R2. If upgrade to 20.2.2 or other higher versions skip this step and go to step-3.
After a successful upgrade run the below "sed" command in the kernel.
sed -i '157d' /opt/versa/scripts/hypervisor.sh
3. Disable the hypervisor through the cli. This will disable the hypervisor and do a reboot of the device.
cli> request system hypervisor disable no-confirm
4. After reboot, enable the hypervisor through CLI. This will enable the new version hypervisor packages and reboot the device.
cli> request system hypervisor enable no-confirm
5. Check the virsh version. The qemu version should shown as 2.12.1.
[admin@UCPE-2: ~] # sudo virsh version
Compiled against library: libvirt 4.0.0
Using library: libvirt 4.0.0
Using API: QEMU 4.0.0
Running hypervisor: QEMU 2.12.1
[admin@UCPE-2: ~] #
Please feel free to open a Support Ticket in case you have any questions or comments regards the steps mentioned.