From 1e8e24742087b80209358fe3cb32ffe31d29b713 Mon Sep 17 00:00:00 2001 From: Monty Taylor Date: Thu, 20 Feb 2014 14:30:00 -0800 Subject: [PATCH] Fix pip on py3k-precise nodes The puppet modules that run after install_puppet blows away the pip installed pip and replaces it with distro pip. This becomes hard for tox to reconcile when building a virtualenv with requirements which declare a dependency on newer pip versions than got installed. After setting up the script, remove the python-pip packages and re-run the command to get current pip on the system. Change-Id: Ie862cb35dd93cb655941ac556d2b07d5e6be9ca1 --- .../files/nodepool/scripts/fix_pip.sh | 30 +++++++++++++++++++ .../nodepool/scripts/prepare_node_py3k.sh | 2 +- 2 files changed, 31 insertions(+), 1 deletion(-) create mode 100755 modules/openstack_project/files/nodepool/scripts/fix_pip.sh diff --git a/modules/openstack_project/files/nodepool/scripts/fix_pip.sh b/modules/openstack_project/files/nodepool/scripts/fix_pip.sh new file mode 100755 index 0000000000..5f3124854a --- /dev/null +++ b/modules/openstack_project/files/nodepool/scripts/fix_pip.sh @@ -0,0 +1,30 @@ +#!/bin/bash -xe +# Copyright (C) 2014 Hewlett-Packard Development Company, L.P. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# +# See the License for the specific language governing permissions and +# limitations under the License. + +# get rid of system-installed pip +for p in python-pip python3-pip ; do + if apt-cache policy $p | grep -q 'Installed:.*[0-9]' ; then + sudo apt-get remove -y $p + fi +done + +# install pip using get-pip +PIP_GET_PIP_URL=https://raw.github.com/pypa/pip/master/contrib/get-pip.py +if [ ! -f get-pip.py ] ; then + curl -O $PIP_GET_PIP_URL || wget $PIP_GET_PIP_URL +fi +sudo python get-pip.py diff --git a/modules/openstack_project/files/nodepool/scripts/prepare_node_py3k.sh b/modules/openstack_project/files/nodepool/scripts/prepare_node_py3k.sh index 91946024a5..c970be81b8 100755 --- a/modules/openstack_project/files/nodepool/scripts/prepare_node_py3k.sh +++ b/modules/openstack_project/files/nodepool/scripts/prepare_node_py3k.sh @@ -24,5 +24,5 @@ PYPY='true' ALL_MYSQL_PRIVS='true' ./prepare_node.sh "$HOSTNAME" "$SUDO" "$BARE" "$PYTHON3" "$PYPY" "$ALL_MYSQL_PRIVS" - +./fix_pip.sh ./restrict_memory.sh