X-Git-Url: https://gerrit.linuxfoundation.org/infra/gitweb?a=blobdiff_plain;f=shell%2Fpython-tools-install.sh;fp=shell%2Fpython-tools-install.sh;h=9eff46031b1175e149c0a50fd24d027763f99be5;hb=0251b7fda7266760bd82a6e56a696160822a57a0;hp=d652763c911fa91664d773120fbe402a1ea33559;hpb=10a3854d4a96bd6845d7f4791ac564cfec7cb750;p=releng%2Fglobal-jjb.git diff --git a/shell/python-tools-install.sh b/shell/python-tools-install.sh index d652763c..9eff4603 100644 --- a/shell/python-tools-install.sh +++ b/shell/python-tools-install.sh @@ -10,15 +10,40 @@ ############################################################################## echo "---> python-tools-install.sh" -set -eux -o pipefail +set -eu -o pipefail -REQUIREMENTS_FILE=$(mktemp /tmp/requirements-XXXX.txt) +# Generate a list of 'pip' packages pre-build/post-build +# During post-build, perform a diff on the two lists and copy files to archive directory +echo "Listing pip packages" +pip_list_pre=/tmp/pip-list-pre.txt +pip_list_post=/tmp/pip-list-post.txt +pip_list_diffs=/tmp/pip-list-diffs.txt +if [[ -f $pip_list_pre ]]; then + pip list > $pip_list_post + echo "Compare pip packages before/after..." + if diff --suppress-common-lines $pip_list_pre $pip_list_post \ + | tee $pip_list_diffs; then + echo "No diffs" | tee $pip_list_diffs + fi + mkdir -p $WORKSPACE/archives + cp $pip_list_pre $pip_list_post $pip_list_diffs $WORKSPACE/archives + rm -rf $pip_list_pre $pip_list_post $pip_list_diffs + ls $WORKSPACE/archives + # Would just like to 'exit 0' here but we can't because the + # log-deploy.sh script is 'appended' to this file and it would not + # be executed. +else + pip list > $pip_list_pre + # These 'pip installs' only need to be executed during pre-build -# Note: To test lftools master branch change the lftools configuration below in -# the requirements file from "lftools[openstack]~=#.##.#" to -# git+https://github.com/lfit/releng-lftools.git#egg=lftools[openstack] + requirements_file=$(mktemp /tmp/requirements-XXXX.txt) -cat << EOF > "$REQUIREMENTS_FILE" + # Note: To test lftools master branch change the lftools configuration below in + # the requirements file from "lftools[openstack]~=#.##.#" to + # git+https://github.com/lfit/releng-lftools.git#egg=lftools[openstack] + + echo "Generating Requirements File" + cat << 'EOF' > "$requirements_file" lftools[openstack]~=0.23.1 python-heatclient~=1.16.1 python-openstackclient~=3.16.0 @@ -26,12 +51,9 @@ dogpile.cache~=0.6.8 # Version 0.7.[01] seems to break openstackclient niet~=1.4.2 # Extract values from yaml EOF -echo "Requirements file" -echo "-----------------" -cat "$REQUIREMENTS_FILE" - -# Use `python -m pip` to ensure we are using the latest version of pip -python -m pip install --user --quiet --upgrade pip -python -m pip install --user --quiet --upgrade setuptools -python -m pip install --user --quiet --upgrade -r "$REQUIREMENTS_FILE" -pip freeze + # Use `python -m pip` to ensure we are using the latest version of pip + python -m pip install --user --quiet --upgrade pip + python -m pip install --user --quiet --upgrade setuptools + python -m pip install --user --quiet --upgrade -r "$requirements_file" + rm -rf $requirements_file +fi