Zuul now requires at least python 3.6 so use the bionic image for the
zuul-stream-functional tests as well.
Change-Id: Iba47cd9733e97fba5b0471fdcfc69588f03f85d9
We have removed support for Ansible 2.7 so we should remove the
zuul-stream-functional-2.7 job as well.
Change-Id: If6657c8392ab55052a2fd9981e5d333c254dfbae
There are now increasing numbers of dependencies like cryptocraphy
that will drop support for Python 3.5 soon. Thus we should consider
dropping the support for Python 3.5 as well.
Change-Id: I830ec3e97cfaac5d336d02755fe788572f36fb07
Ansible 2.7 is in security fix only maintenance mode since quite some
time and will be end of life soon. It further blocks upgrade of zuul
to Python 2.8 due to incompatibilities. Thus drop support.
Change-Id: I13802db3314450ad149fdadacd1e2e70dd8468ef
Depends-On: https://review.opendev.org/727345
Opendev runs a caching mirror for npm packages. Use it when running
yarn install during tox tests. Due to the way yarn.lock files work at
the moment we need to patch the lockfile on the fly to inject the
mirror urls [1]. This can be handlel inside the pip.sh where we patch
the lockfile, run yarn and reset it afterwards.
[1] https://github.com/yarnpkg/yarn/issues/2566
Change-Id: Id1f2daac8327f3110e6beeb2d6391baccfd3ce34
They are cool and they can help avoid problems like we just saw in
nodepool. This updates to match.
Change-Id: I3191b8ba7f96151b6b9178f39bf48ededa4a00ee
In the dashboard jobs we don't need to generate the html to
zuul/web/static. Since this got forgotten during the keep file removal
just take the content from the build dir as we don't need to generate
it to zuul/web/static for the preview.
Change-Id: I271a0ec17f2c620bd8aacab01e193d2d933b139e
Now that we have published tagged release images to Docker Hub, we
can restore the full set of release jobs so they all run on the
next release.
Change-Id: I3e795e503674c8a4fa96cf6bd3a0fd7afbd081d4
Installing docker and pip are pre-reqs and we're using zuul roles
to do them, so they're not really testing explicit quick-start
steps. Move them to pre-run.
Change-Id: I374dac18b9b7e376d924b11f4661355ea7c4d149
When we tag a release of Zuul, run the upload-docker-image job, but
tell it to do so in a non-promote mode. This will cause it to
directly upload the images to Docker Hub with the final tags applied.
We want to do this in the release pipeline so that we get images
built with the correct version number based on the git tag.
When run in a pipeline with a tag attribute set, this will use all
three lengths of the version number (3.19.0, 3.19, 3) as tags instead
of the single 'latest' tag which is what is applied in the promote
pipeline.
This temporarily comments out the other release jobs so that we can
manually enqueue the most recent tag and retroactively build and
publish it to Docker Hub. Once this works, we will re-enable those
two jobs.
Change-Id: If3bdbe4fac7e8ebf8b2bb087b578df7f860cbea4
Depends-On: https://review.opendev.org/734890
v14 is the latest lts. Let's use it.
Also - rename the jobs to make it clear what they're doing, and
add a dashboard job that points at opendev's multi-tenat api too.
There are new jobs that default to latest node LTS and auto-detect
yarn vs npm. Update to use them.
Depends-On: https://review.opendev.org/728097
Depends-On: https://review.opendev.org/726547
Change-Id: I5717edea2cd09acc5bce673c38bbe7fa8057a376
We are consuming OpenDev's default python-builder and python-base images
which happen to be python3.7 today. Zuul specifically wants python3.7 so
we should explicitly use OpenDev's 3.7 tags of these images. This way if
OpenDev updates the default to 3.8 zuul can continue to assert its
dependency on 3.7.
Change-Id: I1f344eccfddff9bf1050c571604038371eec1a3f
Ansible 2.7 is known to be broken with python 3.8 so switch back to
python 3.7 for now until we dropped support for Ansible 2.7.
Change-Id: Ibfe1b226630c8db202a294590c6435666afcb62d
We suspect a memory leak in python 3.7. BMW saw one and reverted
to 3.6 and has been better. OpenDev is seeing one which seems to
be improved by sending SIGUSR2 signals to the process, which makes
us think there may be an issue in the GC.
Try updating to 3.8. If it fixes it, we can just shrug and say
"3.7 lol". If it doesn't, we can follow BMW's lead and try 3.6.
Change-Id: Iaa53fa2b3125dd3a2c79ba25191b2b44ed473200
Reparent the zuul-quick-start job in order to run the
pull-from-intermediate-registry role. Move the requires into the pipeline
config so that we can say that when it runs on a Zuul change, it requires
nodepool (but not zuul, so that we don't serialize the zuul queue) and
vice versa.
Change-Id: Icebfda7ed42ab38cf887efce00026c85b37b65fa
pep8 is legacy, we now use flake8 and the virtual environment also runs
mypy and openapi-spec-validator.
Rename the virtualenv from 'pep8' to 'linters'.
Use tox-linters instead of tox-pep8.
tox-pep8 skips test-setup.sh Ia140b331ae1502fcf1f685faa6dace117d77d35d
Done for tox-linters by Idc72c7d1a88fff8e738c896e2482b5cb1d844600
Depends-On: Idc72c7d1a88fff8e738c896e2482b5cb1d844600
Change-Id: I1fbd8335a2353f750f49b6a763eefc6f399a7143
Replace our tox-py37 job with tox-py38, extend the list of trove
classifiers for Python versions in package metadata, and replace the
"py35" in the tox.ini envlist with just "py3" so that folks running
`tox` unqualified on their systems will use whatever python3
interpreter they have on hand (odds are it's in our supported range
these days). Also uncap python-daemon so we use a version compatible
with Python >=3.8.
Change-Id: I4b382bb89847d3ae2b20292d923c3c2211dfb254
Rather than rely on the implicit docker-image provides/requires
list explicit per-image requirements for related jobs to reduce,
unecessarily serialization in change queues.
Depends-On: https://review.opendev.org/711119
Change-Id: Ife5c40cf196c469c503009c5135c78be2957d651
The global tox installation on our test nodes is affected by an
upstream issue[1]. Additionally, the virtualenv created by tox
under those conditions is also affected. To work around this,
pin the version of importlib-resources in the global tox install,
as well as in Zuul's own requirements.
[1] https://gitlab.com/python-devs/importlib_resources/issues/83
Change-Id: I31ed50185a71d867a2ad512ef9b526c5b607ed5c
Profiling shows git operations take significant time. They are done in
sub directories of a temporary directory optionally set via environment
variable ZUUL_TEST_ROOT.
Set ZUUL_TEST_ROOT at the jobs level.
When set, have test-setup to create a tmpfs.
Change-Id: I7923448aed1543593ace2cd9458b6c1b3ea60737
With release 2.8 Ansible has dropped support for version 2.5 as it is
EOL.
Change-Id: I0a43b1b9d94925f3b6e7266434fb698e665dd42c
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
Ansible has released 2.9 and now Zuul also supports it.
Change-Id: Iabf2d6278ba8d88e17403a4adae5521eb3e7019b
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
The pre.yaml playbook for the zuul-stream-functional tests copies
the Ansible inventory.yaml file from the executor to the test
"controller" node. The controller then runs the specified version
of Ansible 2.x against the other nodes. This fails because the
executor version of inventory.yaml contains "auto" for the Ansible
python interpreter which is valid under the version of Ansible used
on the executor, but on the controller node, which runs the older
versions of Ansible, this is *not* a valid value. Thus it fails.
This change forces the executor to use the version of Ansible being
tested on the controller so that the inventory.yaml will be correct.
Also, Ansible 2.8 now throws a FileNotFoundError exception instead
of OSError when a referenced file is not found.
Change-Id: Ibd31f1161df0076ed7498fd1d7b1ae76c802c6e4
This reverts commit a68775456f.
The configuration this was simulating is in place for real now,
so we can remove this.
Change-Id: I7e0c8d78b63bc5946a651481f35c7df9ae1be4d9
Start eating our own dogfood on the build page -- this will cause
all of the jobs run in this repo to report the build page URL to
Gerrit. We can use this to identify any remaining problems before
we start the process of making that transition generally.
Change-Id: Idb3df67b24a2b5ca05eef3044b3ce885dfc89ef7
We no longer need the zuul-specific release jobs, the opendev
job will do. Also, we haven't needed it in the post pipeline
for a while since we added the promote release for dev releases.
We must have missed that.
Also switch to the new promote-based docs jobs.
Change-Id: I826aa3fc3c8e83cf6f2c6d3896b602d164275ba0
This patch adjusts the py35/36 gate's jobs timeout to align
with the timeout defined for check jobs. Now both are 1 hour
timeout.
Change-Id: I6c31acfeebe17c18693e4b1a6e29c160eee09326
Add jobs which build branch-tip sdist, wheel, and javascript
content archives and promote them to tarballs.opendev.org.
Change-Id: I4e977b7f3e79a60ecec49839c1cd064ec52d08ab
We currently use a mix of nodejs 6, 8, and 10 across different jobs.
Lets standardize on nodejs 10 everywhere.
Change-Id: Iec9bbf270589029d10c60ed602817e853c6e5bc4
We frequently have runtimes of zuul-tox-remote near the default
timeout of 30 minutes and also see occasional timeouts on slower
nodes. Thus increase the timeout to 45 minutes.
Change-Id: I97f29ff781d6bb087346e09df7f3328ca9e5f572
Ansible has released 2.8 and now zuul also supports it. We've had to
update zuul_console to deal with new tasks stats, along with
gather_facts also now being exposed directly to the job.
Change-Id: Ifa4be7cf408b1f05b0f985fa0c9a5e3947858078
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
This file may be required by recent containers tool when doing unshare
actions.
Also make the image build jobs non-voting temporarily since they are
broken by the issue this change fixes.
Also, pin docker image to 2.16.8 for quick-start (squashed in here
to be able to merge again):
The new version 3.0.0 needs some configuration adjustment, git-review is
failing with:
remote: error: branch refs/publish/master:
remote: You need 'Create' rights to create new references.
remote: User: user
remote: Contact an administrator to fix the permissions
Change-Id: Iab45bf2322edf8a10d2d41a1fc9a098e17a39ea7
Now that we have reduced concurrency on stestr, bump our timeout 15mins
to reduce the change of hitting it on our slower clouds.
Change-Id: I935659ab33992608c839c641ee25986548d5a4fe
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
- react-scripts>2.0.0 supports requirements written in newer javascript.
- eslint=5.6.0 is required by react-scripts>2.0.0
- update redux, patternfly-react and react to latest release
- default browserslist is added to the packages.json
- fix new eslint error
Change-Id: Ibee14604b364ce8d4133bcc409a70402bdde9df0
By adding release-zuul-python to the post pipeline, we can start
publishing per-commit tarballs / wheels to pypi. This is helpful for
zuul operators that don't want to deploy zuul via git, but want to use
the latest commits of zuul.
Change-Id: Ia696bf7fe256b6a330f650f08495c17710f25e85
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
The job no longer needs to build duplicate copies of the images,
it can fetch them from the buildset registry instead.
Change-Id: Ibcca12c20d29b9b45a67b65934e5a02087c8cdf8
The job zuul-quick-start shows a high rate of timeouts
lately. Increase that to improve stability.
Change-Id: Id6cd751c1cefc5a90cce2ecdd605dcf50d8a924a