82d3910b17
The docker image that we build the zuul executor from is a Debian image, but it does not follow the same python3 policies as Debian itself. While we would not necessarily expect all roles to work on the executor, it is reasonable to want to use the ensure-pip role (which logically should be a no-op on the executor) for the side effect of finding and returning the appropriate pip command. Currently, the role fails on the executor because it mistakenly concludes that it must install python3-venv to get a working venv module. By increasing the precision of the check for what is missing (the actual error is a missing "ensurepip" python module (oh irony!), we can avoid attempting an installation of python3-venv on python docker images (including the Zuul executor images). This also adds the ensure-pip-localhost job This tests that the ensure-pip role works on the Zuul executor. The executor is a debian host with a working python environment, so it should be a no-op (and no packages should need to be installed). Change-Id: Id7f13f2f73d45e680f79c00a83751b185212a63d |
||
---|---|---|
.. | ||
defaults | ||
tasks | ||
README.rst |
Ensure pip is available
This role is intended install the requirements for the pip module on hosts.
Jobs that also wish to call pip
via shell commands
directly can also use this to ensure pip
is available.
However, it should be noted that calling pip
is ambiguous
when supporting many platforms. On some platforms it may install the
package under the Python 2 interpreter and in others Python 3. You
should use a qualified name (pip2
or pip3
) to
avoid confusion.
This role will also install wheel
components sufficient
to run bdist_wheel
builds or pip wheel
on a
source tree.
Role Variables
Output Variables
This variable will be set to a command appropriate for general usage with the
pip
modulevirtualenv_command
argument on the host. On Python 3 hosts this will be the inbuiltvenv
module, on Python 2 hosts thevirtualenv
package will be installed (this is avoided on Python 3 hosts as an unnecessary dependency).