[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