Use novnc from source by default

This change restores the default devstack behavior in the zuul jobs
by removing the override of NOVNC_FROM_PACKAGE from devstack-base.

When installed locally, devstack defaults to installing novnc from
git. As reported in bug #2109592, Ubuntu and possibly other distros
have a packaging bug where the python3-novnc package 1) exists and
2) depends on `oslo.config` and, as a result, `oslo.utils`. The
reason python3-novnc existing is a bug is that novnc has not had any
Python deliverable since the 0.6.0 release around 2016. So this
package is no longer used and is effectively empty since novnc fully
moved to using JavaScript.

For unrelated reasons, devstack creates the global venv with
--site-packages to install `libvirt-python`, which also means that
any other Python dependencies installed at the system level also
infect the devstack venv.

In the past, this was not a problem, but as of epoxy, Nova requires
a newer version of oslo than Ubuntu provides in the distro package.
This is where the python3-novnc package and its incorrect dependency
on oslo breaks CI.

This is not seen locally, as devstack uses novnc from git. This
change makes CI do that also.

Closes-Bug: #2109592

Change-Id: I8f018e1e57e3f54997d2cf55b1b3aa728e82899b
Signed-off-by: Sean Mooney <work@seanmooney.info>
This commit is contained in:
Sean Mooney
2025-08-05 16:44:26 +00:00
committed by Stephen Finucane
parent 67fa02fc5f
commit b6bf0b126b

View File

@@ -352,6 +352,12 @@
nodes (everything but the controller).
required-projects:
- opendev.org/openstack/devstack
# this is a workaround for a packaging bug in ubuntu
# remove when https://bugs.launchpad.net/nova/+bug/2109592
# is resolved and oslo.config is not a dep of the novnc deb
# via the defunct python3-novnc package.
- novnc/novnc
roles:
- zuul: opendev.org/openstack/openstack-zuul-jobs
vars:
@@ -369,7 +375,6 @@
LOG_COLOR: false
VERBOSE: true
VERBOSE_NO_TIMESTAMP: true
NOVNC_FROM_PACKAGE: true
ERROR_ON_CLONE: true
# Gate jobs can't deal with nested virt. Disable it by default.
LIBVIRT_TYPE: '{{ devstack_libvirt_type | default("qemu") }}'
@@ -442,7 +447,6 @@
LOG_COLOR: false
VERBOSE: true
VERBOSE_NO_TIMESTAMP: true
NOVNC_FROM_PACKAGE: true
ERROR_ON_CLONE: true
LIBVIRT_TYPE: qemu
devstack_services: