Configuration files for project CI systems
Go to file
Ian Wienand 6f1e9fb2b9 translation updates: refactor Python 3.8 workarounds
I think we have quite a tangle of fixes on fixes in the translation
jobs, and I hope this refactor makes things a bit better.

The fundamental problem seems to be that python3.6 can't work with
master requirements.txt.  But we can not move some jobs off bionic
(python 3.6) because of java version contsraints.

The first thing that happened was these jobs got "ensure-python" with
"python_version: 3.8" set to bring in python3.8 on Bionic.  This role
was not bringing in python3.8-venv, so we had no way to create 3.8
virtual environments.  Thus ensure-pip ended up getting modified to
drag this package in (reverted with notes in
372f3af706c796331578ef81c2680e8c4c03c3b6).  This has a fairly easy
solution; let's just make ensure-python bring in the venv packages for
the udpated python -- see dependency
Ie3c03fea82bcec80a897f0905c15f35405a50396.

The git-review install here uses 'ensure_pip_virtualenv_command' to
install git-review in a virtualenv.  git-review still supports bionic,
and does not need to be installed in any speical way.  However, by
overriding the 'ensure_pip_virtualenv_command' for the entire job,
this unrelated install now grew a dependency on python3.8 and created
more confusion over why it was failing.

I believe what we actually want to do on Bionic is just run tox under
python3.8.  So this pulls out all the job-level defintions and
encapsulates them in a single block scoped to run on bionic.  It will
pull in python3.8 packages, and then install tox under python3.8 with
an override of the virtulenv command just for that step.  The jobs
just maintain their node definition and note on why it is required.

The long-term future of these jobs is obviously a question; but I
believe this keeps them running on bionic in as sane a way as possible
for now.

The second part of this is the python3.9 interpreter required on
Focal.  Setting "python_version: 3.9" in the job definition is a bit
confusing, because the job actually requires both Python 3.8 AND 3.9.
This variable is passed to ensure-python, and the naming is a bit
unfortunate because it is so broad (but we can't change that without
zuul-jobs updates).  Here I've pulled out the Python 3.9 install into
a separate focal-gated section in the pre.yaml that explains what is
going on (note that Python 3.8 is just the base python on focal, so
needs no extra installation).  I've also updated the description on
the job node with this info.  There's no need to install the tox
environment any differently on focal; it just uses the base system
python (3.8) which is fine.

Depends-On: https://review.opendev.org/c/zuul/zuul-jobs/+/850957
Change-Id: I547e5eb7faabcd9d3983ae85f3291b1a740bc77c
2022-07-27 07:48:43 +10:00
accessbot add prometheanfire as op for #openstack-requirements channel 2022-06-09 12:33:59 -05:00
dev/gerrit Move retired.config to external namespace 2020-06-23 18:34:35 -04:00
docs-site Rework the Infra docs index as TaCT SIG docs 2021-11-25 17:35:10 +00:00
gerrit Merge "update Review-Priority label for nova related projects" 2022-07-18 16:21:31 +00:00
gerritbot Retire openstack/security-analysis (Step 3) 2022-06-02 16:20:03 +00:00
grafana VPNAAS: remove old jobs from grafana 2022-07-22 15:37:15 +02:00
nodepool nodepool elements: fix pip upgrade venv 2022-07-06 13:27:58 +10:00
playbooks translation updates: refactor Python 3.8 workarounds 2022-07-27 07:48:43 +10:00
roles Make wheel indices valid HTML 5 2022-01-30 16:37:01 +00:00
specs Remove puppet-openstack-specs from infra 2021-06-25 10:51:33 -05:00
tests Update ansible-lint and add fake zuul_return 2020-03-18 22:28:10 +01:00
tools HTTP check existing repositories 2022-07-18 21:45:15 +01:00
zuul Add openinfra/way to Zuul 2022-07-12 18:50:03 +00:00
zuul.d translation updates: refactor Python 3.8 workarounds 2022-07-27 07:48:43 +10:00
.ansible-lint Stop linting zuul-jobs from here 2021-03-19 08:18:44 -07:00
.gitignore Switch project-config to promote jobs [3]: Update building 2019-09-14 17:03:01 +02:00
.gitreview OpenDev Migration Patch 2019-04-19 19:41:29 +00:00
bindep.txt Install ssl devel libs 2018-08-14 19:52:43 +02:00
CONTRIBUTING.rst Update infra-manual links 2020-03-21 09:29:14 +01:00
LICENSE Add license, readme, and contributing files 2014-09-25 15:34:41 -07:00
README.rst Update infra-manual links 2020-03-21 09:29:14 +01:00
REVIEWING.rst Update links for opendev 2019-04-21 14:01:51 +00:00
setup.cfg setup.cfg: Replace dashes with underscores 2021-05-14 09:51:34 +08:00
setup.py Update ansible library location to envsitepackagesdir 2018-10-19 13:34:23 -05:00
tox.ini remove basepython override for grafyaml 2022-02-17 08:51:24 -05:00

OpenStack Infra Config Files

This repo contains a set of config files that are consumed by the openstack-infra/system-config puppet modules in order to deploy and configure the OpenStack Infrastructure. You should edit these files to make configuration changes to the OpenStack Infrastructure.

accessbot

This dir contains the IRC access bot channel config. This config file is used to specify which channels are managed by the infra team and the permissions assigned to nicks in those channels.

IRC Documentation

gerrit

This dir contains the main project registry in projects.yaml along with all of the gerrit project ACLs in the acls subdir. You will need to edit these files to add new projects to Gerrit.

See the Creator's Guide in the OpenDev Manual for info on adding projects.

Gerrit Documentation

gerritbot

This dir contains the gerritbot channel config file. Edit this file to add the gerritbot to your IRC channels for gerrit event messages.

IRC Documentation

grafana

This dir contains dashboards to display at http://grafana.openstack.org/. Add new files to create additional dashboards or edit the existing ones to enhance the dashboards.

Grafana Documentation

nodepool

This dir contains the nodepool scripts and nodepool disk image builder elements that are used to build the images we boot build nodes off of. Edit these files if you need to modify the base images that Nodepool creates for Zuul to run content on.

Nodepool Documentation

specs

This dir contains the index.html file for the https://specs.openstack.org site. Edit this file if you are adding and removing projects from that site.

Static Web Hosting Documentation

zuul

This dir contains the zuul main.yaml file which defines the Zuul tenants and the system-variables.yaml file which contains some global variables. Edit these files to add, remove or rename a project from Zuul.

Zuul Documentation

dev

This dir contains config files for the development deployments of the above services.