[OpenStack-Infra] Checking release approvals automatically

Thierry Carrez thierry at openstack.org
Sat Dec 14 17:30:01 UTC 2019

James E. Blair wrote:
> [...]
> But back on the first hand, I think that installing python packages in a
> virtualenv is too heavyweight for a job to run on the executor.  The
> candidates we usually look for are things that can run with what's
> already installed.  Happily, yaml is already installed, because it's
> kind of a big deal on the executor.  Unhappily, openstack-governance is
> not merely a repo you need to have on-disk, but is actually a python
> package you need installed (wow, when did that happen?).
> We were so close.  If you just needed to run a python script that
> imported yaml and read a file out of governance, I'd say it would be a
> great candidate for running on the executor.  But I think the
> installation of openstack-governance (which has its own requirements
> that are not installed on the executor) pushes this over the line, and
> we should run it on a full node.

Actually the script only uses openstack-governance to parse YAML files 
that are in the governance repository... So if YAML is available and the 
contents of the governance repo are accessible, that can easily work.

The only drawback compared to using the governance lib is that it will 
not survive a change in the YAML format of governance files... but then 
it's not the only thing that would break if we did that.

So it looks like a simple Python script that only imports yaml would 
work on the executor. The script uses requests as well, but I can make 
it use urllib instead (unless requests is pre-installed on the executor 
too ?)

Thanks for the full analysis, I learned a couple of things :)

Thierry Carrez (ttx)

More information about the OpenStack-Infra mailing list