[OpenStack-Infra] Checking release approvals automatically

Thierry Carrez thierry at openstack.org
Fri Dec 13 17:01:03 UTC 2019


I moved to implementation on this, but I hit an issue with the original 
plan:

> [...]
> The job should be lightweight enough to run on the executor. With all 
> those safeguards in place, I do not expect it to trigger significant 
> additional load.

My current implementation is a python script run from tox. But I can't 
use the standard tox jobs as they have "hosts:all" tasks all over them 
which are bypassed[1] if the job is run on the executor.

[1] See 
https://zuul.opendev.org/t/openstack/build/4056ca3ee8b247ebbe1cbb1474191c16/console

Ideally I would define my own narrow playbook to run the script, without 
inheriting from the standard tox job. However the current script 
requires some dependencies to be installed (openstack-governance, yaml...).

Here are the options I see:

1- reimplementing most of the unittests/tox job logic in 
"hosts:localhost" playbook(s) -- would mean lots of copypaste, does not 
rhyme so well with "lightweight", and increases execution times 
significantly

2- rewrite the Python script so that it can run on stdlib -- not sure I 
want to write a YAML parser from scratch though

3- Abandon the idea of running on the executor -- the trick is that for 
such a short job the overhead of requesting a test node is a bit heavy, 
and we want to run the job on every vote change on release requests

Other ideas?

-- 
Thierry Carrez (ttx)



More information about the OpenStack-Infra mailing list