From a645fa4ffb3c819f38ce1c66e83eb409c587c55d Mon Sep 17 00:00:00 2001 From: Ricardo Carrillo Cruz Date: Tue, 5 Jul 2016 16:09:52 +0200 Subject: [PATCH] Revert "Pre-install pip/virtualenv packages" This reverts commit a85ce75d6bf720cce0101a3cdfa09c90ef1d156e. The reason for this revert is because it breaks CentOS dsvm jobs: http://logs.openstack.org/35/332435/6/check/gate-ansible-role-cloud-launcher-dsvm-ansible-func-centos-7/13b3b66/logs/devstacklog.txt.gz It is due to DevStack removing python-virtualenv by default, causing issues as CentOS images have virtualenv installed via system-package and pip by DIB. Closes-Bug: 1599277 Change-Id: Ib0c01a7b3be32159e7c864a465fe9455e8d651ef --- .../environment.d/10-centos-distro-name.bash | 3 -- .../01-install-pip | 49 +------------------ 2 files changed, 2 insertions(+), 50 deletions(-) diff --git a/elements/centos-minimal/environment.d/10-centos-distro-name.bash b/elements/centos-minimal/environment.d/10-centos-distro-name.bash index 501df444..39449b15 100644 --- a/elements/centos-minimal/environment.d/10-centos-distro-name.bash +++ b/elements/centos-minimal/environment.d/10-centos-distro-name.bash @@ -4,6 +4,3 @@ export DIB_RELEASE=${DIB_RELEASE:-7} # by default, enable DHCP configuration of eth0 & eth1 in network # scripts. See yum-minimal for full details export DIB_YUM_MINIMAL_CREATE_INTERFACES=${DIB_YUM_MINIMAL_CREATE_INTERFACES:-1} - -# Useful for elements that work with fedora (dnf) & centos -export YUM=${YUM:-yum} diff --git a/elements/pip-and-virtualenv/install.d/pip-and-virtualenv-source-install/01-install-pip b/elements/pip-and-virtualenv/install.d/pip-and-virtualenv-source-install/01-install-pip index 4efd1a21..31804aab 100755 --- a/elements/pip-and-virtualenv/install.d/pip-and-virtualenv-source-install/01-install-pip +++ b/elements/pip-and-virtualenv/install.d/pip-and-virtualenv-source-install/01-install-pip @@ -6,50 +6,5 @@ fi set -eu set -o pipefail -if [[ $DISTRO_NAME =~ (centos|fedora) ]]; then - # GENERAL WARNING : mixing packaged python libraries with - # pip-installed versions always creates issues. Upstream - # openstack-infra uses this a lot (especially devstack) but be - # warned: here be dragons :) - - # Firstly we want to install the system packages. Otherwise later - # on somebody does a "yum install python-virtualenv" and goes and - # overwrites the pip installed version with the packaged version, - # leading to all sorts of weird version issues. - ${YUM:-yum} install -y python-virtualenv python-pip python-setuptools - - # install pip; this overwrites packaged pip - python /tmp/get-pip.py - - # pip and setuptools are closely related; we want to ensure the - # latest for sanity. Because distro packages don't include enough - # info in the egg for pip to be certain it has fully uninstalled - # the old package, for safety we clear it out by hand (this seems - # to have been a problem with very old to new updates, - # e.g. centos6 to current-era, but less so for smaller jumps). - # There is a bit of chicken-and-egg problem with pip in that it - # requires setuptools for some operations, such as wheel creation. - # But just installing setuptools shouldn't require setuptools - # itself, so we are safe for this small section. - rm -rf /usr/lib/python2.7/site-packages/setuptools* - pip install -U setuptools - - # now install latest virtualenv. it vendors stuff it needs so - # doesn't have issues with other system packages. - pip install -U virtualenv - - # Add this to exclude so that we don't install a later package - # over it if it updates. Note that fedora-minimal, bootstrapped - # via yum, can have an old yum.conf around, so look for dnf first. - if [[ -f /etc/dnf/dnf.conf ]]; then - conf=/etc/dnf/dnf.conf - elif [[ -f /etc/yum.conf ]]; then - conf=/etc/yum.conf - else - die "No conf to modify?" - fi - echo "exclude=python-virtualenv,python-pip,python-setuptools" >> ${conf} -else - python /tmp/get-pip.py - pip install virtualenv -fi +python /tmp/get-pip.py +pip install virtualenv