[tc][ptl][quality-assurance][infra] Switching default node type to ubuntu-bionic

Jeremy Stanley fungi at yuggoth.org
Tue Mar 12 19:08:23 UTC 2019


On 2019-03-07 14:55:01 +0000 (+0000), Jeremy Stanley wrote:
> We've committed to testing[*] on Ubuntu 18.04 LTS (Bionic Beaver) by
> the Stein release, but it's nearly upon us and we still have quite a
> few jobs, particularly Python 2.7 unit tests for most projects,
> running on older Ubuntu 16.04 LTS (Xenial Xerus) images instead. I
> propose that next Wednesday, March 13, we update the default node
> type in our Zuul job configurations from ubuntu-xenial to
> ubuntu-bionic for master branches of our projects.
[...]

As a quick follow-up, this change[1] is still scheduled for
tomorrow. Here are couple of possible pain points for which you'll
want to prepare:

Any jobs which ultimately descend from the openstack-tox job
definition[2] get a variant[3] on stable branches for ocata through
rocky which forces use of the old ubuntu-xenial nodeset. If you have
a job which needs to use ubuntu-xenial on stable branches and it
doesn't descend from openstack-tox (or devstack, or legacy-base
where similar branch filters are being applied) then you will need
to create a similar variant of it or one of its parents to do the
same.

Further, any jobs which descend from one of the shared "py35" job
definitions in the openstack-zuul-jobs repository have been
patched[4] to force them to run on ubuntu-xenial even when triggered
for a change on the master branch of a project. If you have a job
which relies on Python 3.5 (or any other versioned tool which is no
longer provided in Bionic) you will want to implement a similar
nodeset modification for it or in one of its parents, or consider
reparenting it on one of the shared "py35" definitions already
provided in openstack-zuul-jobs.

For those who are interested in checking this in advance, I've
prepared a do-not-merge stack of job changes which descend from a
clone of our base job with tomorrow's default node change already
applied so that I could confirm the various nodeset pins and branch
filters are working as intended. You can create a DNM change in your
project with "Depends-On: https://review.openstack.org/642536" in a
commit message footer and see what results Zuul reports. Note that
this will only really provide useful results for jobs parented from
the unittests[5] definition in the zuul-jobs repository (but that
covers a vast majority of the unknown job set so is a good place to
start).

If you're trying this, remember to make unobtrusive changes to
enough different kinds of files in your DNM change to overcome any
possible file filters on some of the jobs you run. Also it may be a
good idea to try it on a stable branch (if you have any) in addition
to master just to make sure node selection is working correctly for
your jobs there. I prepared a couple of tests against
openstack/nova[6][7] which you can see for an example.

[1] https://review.openstack.org/641897
[2] http://zuul.opendev.org/t/openstack/job/openstack-tox
[3] https://opendev.org/openstack-infra/openstack-zuul-jobs/commit/a53afda
[4] https://opendev.org/openstack-infra/openstack-zuul-jobs/commit/8507565
[5] https://review.openstack.org/642536
[6] https://review.openstack.org/642580
[7] https://review.openstack.org/642582
-- 
Jeremy Stanley
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 963 bytes
Desc: not available
URL: <http://lists.openstack.org/pipermail/openstack-discuss/attachments/20190312/f472a46a/attachment.sig>


More information about the openstack-discuss mailing list