Don't reinstall python-virtualenv on infra nodes

In the original change I said "for infra nodes, it shouldn't do
anything anyway ...".  Well that was pre-Fedora 26 :)

It seems that dnf > 2.0 now intentionally throws an error when trying
to explicitly install an ignored package.  Thus, as described in the
comment, take a simpler approach of skipping this on infra nodes.
pip-and-virtualenv in dib should have installed the latest pip,
virtualenv and setuptools, so we don't want to fiddle with that
anyway.

[1] https://review.openstack.org/#/c/338998/

Change-Id: Ib300b58377a0d0fe1bd7444c71acdb9a87dc033b
This commit is contained in:
Ian Wienand 2017-08-03 14:35:37 +10:00
parent 2f9825711f
commit 2d57f93f68

View File

@ -202,5 +202,22 @@ fi
# on python-virtualenv), first install the distro python-virtualenv
# to satisfy any dependencies then use pip to overwrite it.
install_package python-virtualenv
pip_install -U --force-reinstall virtualenv
# ... but, for infra builds, the pip-and-virtualenv [1] element has
# already done this to ensure the latest pip, virtualenv and
# setuptools on the base image for all platforms. It has also added
# the packages to the yum/dnf ignore list to prevent them being
# overwritten with old versions. F26 and dnf 2.0 has changed
# behaviour that means re-installing python-virtualenv fails [2].
# Thus we do a quick check if we're in the infra environment by
# looking for the mirror config script before doing this, and just
# skip it if so.
# [1] https://git.openstack.org/cgit/openstack/diskimage-builder/tree/ \
# diskimage_builder/elements/pip-and-virtualenv/ \
# install.d/pip-and-virtualenv-source-install/04-install-pip
# [2] https://bugzilla.redhat.com/show_bug.cgi?id=1477823
if [[ ! -f /etc/ci/mirror_info.sh ]]; then
install_package python-virtualenv
pip_install -U --force-reinstall virtualenv
fi