This commit defines the nodejs v20 job template so that horizon
and all its plugins can use this template to run nodejs jobs with
nodejs v20 which is the testing runtime for 2024.1 release.
There are three job definitions here for testing
neutron with the master branches of other projects,
specifically neutron-lib, oslo, and ovsdbapp. As
neutron is no longer testing py310 in its master
gate, create py311 versions of these jobs so we
can move forward.
Also changed the periodic jobs here to start using
the py311 versions.
Enable py311 unit tests for master branch only and run py38/py310
for stable/2023.1 and stable/2023.2 branches.
We found that we have an issue running py311 tests on debian,
and have decided to fix it in master branches only.
2024.1 cycle is going to start and we are defining
testing runtime (depends-on). This commit modifies
python job templatefor the same.
Note: this makes py3.9 and py3.10 job to run on master
periodicly (not on every change) with assumption that
running py3.8 and py3.11 jobs should be enough coverage
to run on every change and able to catch anything break
on py3.9 and py3.10 too.
neutron-grenade job definition is gone with neutron
stable/train is EOL but it is used in integrated-gate
This fixes the zuul config error for neutron-grenade job.
Remove the template, it is not used anymore.
The pypy job is still used on older stable branches.
The nonvoting template is also used on older stable branches.
Nodepool now requires Python 3.11 and so cannot be installed with
the default Python on our default nodeset. Specify a debian-bookworm
nodeset where this version of Python is the default.
We are near to the release of 2023.2 and release team
is starting to create the stable/2023.2 (for lib) soon.
To continue testing the same set of job (py3.9 and py3.11
n-v tox jobs, this change adds the stable/2023.2 in branch
variant for applicable jobs for 2023.2 release.
This way any early cut stable/2023.2 as well as for projects
still have master for stable/2023.2 will continue testing the
same set of jobs we do during 2023.2 release (current master).
Python3.11 is default in Debian 12 and which is going to be
mandatory testing in future cycle. It is good to test it
as non voting in this cycle so that projects will get time
to fix the things in advance.
Projects ocata branches have transitioned to End of Life, which means
that all ocata related branch filters and unnecessary definitions can
Increase the timeout for building a snap to 60 minutes; with some
of the transient changes in the Python dependency chain the snaps
have to build quite a few more native extensions, pushing out the
Since Zuul 4.7.0:
> The following attributes are now ignored:
> * The ``report-build-page`` tenant configuration setting.
> * The ``success-url`` job attribute.
> * The ``failure-url`` job attribute.
Remove `success-url` from all jobs.
2023.2 tetsing runtime is defined(depends-on), this
prepare the job template for the same. As we use the
generic template for master as well stable release testing,
this modify to add the py39 job for master (2023.2) and run
py38 only for stable/2023.1.
Stable branches of some projects (Glance, for instance) use Python2.7
for their functional tests. Pre-install Python2 packages for these
Recently openstack-tox-py310-with-oslo-master jobs started to fail
with "No package matching 'python' is available", due to that 
dropped py2 from nodepool images, and the base job's parent is
As noted inline, we dropped the install from the base images. This
should pre-install python2/-dev to return us to about the same state,
but just for the legacy jobs.
There are two problems we need to solve when enabling FIPS for
multinode Ubuntu jobs.
1. Ubuntu nodes require a subscription to be activated with a
subscription key that is stored as a secret in project-config.
2. Because enabling FIPS requires a reboot, we need to execute the
enable-fips playbook before the multinode playbook. If not,
resources set up by the multinode playbook may not survive the
To solve these problems, we have created a new base job for
OpenStack multinode jobs. (openstack-multinode-fips). We expect
to use this job as the base job for OpenStack multinode jobs
instead of the multinode job in zuul-jobs.
The openstack-multinode-fips inherits from openstack-fips, which
is a job defined in project-config that access the UA subscription
key and activates the UA subscription. This solves problem #1.
It then executes the enable-fips and multinode playbooks
(FIPS first!), which in turn, invoke the enable-fips and multinode
roles in zuul-jobs. This solves problem #2.
This has the unfortunate result of having to duplicate the logic
of the multinode/pre.yaml playbook in zuul-jobs here in
openstack-zuul-jobs instead, but I can't see a way around that.
Note that unless the variable enable_fips is defined to be true
in the job, all the FIPS logic is essentially a no-op.
If enable_fips is set to True, then jobs will also need to specify
nslookup_target for the post-reboot-tasks role invoked by the
tox4 need changes in tox.ini file to be compatible with it
and while fixes are merged in master and backported to stable
(if project decide to backport) let's cap the stable branch
testing to tox<4.
This only pin for jobs running for stable branches <=stable/zed.
As per 2023.1 testing runtime, we need to move gate
test jobs on Ubuntu Jammy (22.04).
OpenStack tox base jobs are migrated to ubuntu jammy for
2023.1 onwards and they will continue running on Focal
TC is updating the 2023.1 cycle testing runtime to make the py38
as minimum python version to be tested (depends-on). This commit
updates the unit tests job template also on the same line.
The build-openstack-puppet-tarball job consistently fails since
the default node set was switched from Focal to Jammy. This change
pins the node set back to Focal until we fix the current issue.
The following py39 based jobs has been changed to py310 based in these