Currently, we only install bindep into a virtualenv in our
cache-bindep element. We can move this into infra-package-needs as an
optimization and reduce elements we depend on.
Change-Id: I591ed9a0835609c1ff8cc6069e45231032fd9f28
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
We intend to use bindep to tell us what distro packages should be
installed at job run-time, so need to similarly identify those in
such a way that they can be cached on our worker images.
Install the latest bindep release from PyPI into /usr/bindep-env
(consistent with the way we provide virtualenvs for access to
zuul-cloner and libraries used by our log uploads to swift).
Concatenate bindep lists from all branches of every hosted Git repo
along with our fallback list in project-config. Run bindep to render
them into a platform-specific manifest of package names and feed
that to the relevant package management tool for the platform to
download this set into the package cache.
Note that similar tooling is not applied to snapshot nodes, since we
only intend to run jobs which use bindep on diskimage-builder
created nodes.
Change-Id: I0c408fee35dfe9b4f700c51565bfaae0a3d03beb