From 796d2e8b3d15621a7ab3f4801448a369a260d638 Mon Sep 17 00:00:00 2001 From: Peter Stachowski Date: Fri, 15 Jul 2016 17:12:50 +0000 Subject: [fix gate] Use upper-constraints on image build Currently building an image uses requirements but not upper-constraints. This can cause an issue when libraries change and the image becomes out of sync with the server code (for example when oslo.context changes). Trove integration now uses upper-constraints as well when building images. Change-Id: Iba5e9976ff9522b7b6fdd523ed78fc6d9b70ea6c Closes-Bug: #1603506 --- .../elements/fedora-guest/extra-data.d/15-reddwarf-dep | 13 +++++++++++++ .../files/elements/fedora-guest/install.d/15-reddwarf-dep | 7 ++++++- .../elements/ubuntu-guest/extra-data.d/15-reddwarf-dep | 13 +++++++++++++ .../files/elements/ubuntu-guest/install.d/15-reddwarf-dep | 7 ++++++- 4 files changed, 38 insertions(+), 2 deletions(-) diff --git a/scripts/files/elements/fedora-guest/extra-data.d/15-reddwarf-dep b/scripts/files/elements/fedora-guest/extra-data.d/15-reddwarf-dep index 7d86e5d..95ce5da 100755 --- a/scripts/files/elements/fedora-guest/extra-data.d/15-reddwarf-dep +++ b/scripts/files/elements/fedora-guest/extra-data.d/15-reddwarf-dep @@ -17,3 +17,16 @@ REQUIREMENTS_FILE=${REDSTACK_SCRIPTS}/files/requirements/fedora-requirements-${A [ -n "$HOST_USERNAME" ] || die "HOST_USERNAME not set" sudo -Hiu ${HOST_USERNAME} dd if=${REQUIREMENTS_FILE} of=${TMP_HOOKS_PATH}/requirements.txt + +# Grab the upper constraints file, but don't fail if we can't find it +UC_DIR=$(pwd) +UC_FILE=upper-constraints.txt +UC_BRANCH=${BRANCH_OVERRIDE} +if [ "${ADD_BRANCH}" == "default" ]; then + UC_BRANCH=master +fi +set +e; curl -o "${UC_DIR}/${UC_FILE}" https://git.openstack.org/cgit/openstack/requirements/plain/${UC_FILE}?h=${UC_BRANCH}; set -e +if [ -f "${UC_DIR}/${UC_FILE}" ]; then + sudo -Hiu ${HOST_USERNAME} dd if="${UC_DIR}/${UC_FILE}" of=${TMP_HOOKS_PATH}/${UC_FILE} + rm -f "${UC_DIR}/${UC_FILE}" +fi diff --git a/scripts/files/elements/fedora-guest/install.d/15-reddwarf-dep b/scripts/files/elements/fedora-guest/install.d/15-reddwarf-dep index 5c56d34..7f3d0dd 100755 --- a/scripts/files/elements/fedora-guest/install.d/15-reddwarf-dep +++ b/scripts/files/elements/fedora-guest/install.d/15-reddwarf-dep @@ -18,4 +18,9 @@ dnf install -y python-devel libxml2-devel libxslt-devel python-setuptools \ TMP_HOOKS_DIR="/tmp/in_target.d" -pip install -q --upgrade -r ${TMP_HOOKS_DIR}/requirements.txt +UPPER_CONSTRAINTS= +if [ -f ${TMP_HOOKS_DIR}/upper-constraints.txt ]; then + UPPER_CONSTRAINTS=" -c ${TMP_HOOKS_DIR}/upper-constraints.txt" +fi + +pip install -q --upgrade -r ${TMP_HOOKS_DIR}/requirements.txt ${UPPER_CONSTRAINTS} diff --git a/scripts/files/elements/ubuntu-guest/extra-data.d/15-reddwarf-dep b/scripts/files/elements/ubuntu-guest/extra-data.d/15-reddwarf-dep index a99e81f..ee60889 100755 --- a/scripts/files/elements/ubuntu-guest/extra-data.d/15-reddwarf-dep +++ b/scripts/files/elements/ubuntu-guest/extra-data.d/15-reddwarf-dep @@ -17,3 +17,16 @@ REQUIREMENTS_FILE=${REDSTACK_SCRIPTS}/files/requirements/ubuntu-requirements-${A [ -n "$HOST_USERNAME" ] || die "HOST_USERNAME not set" sudo -Hiu ${HOST_USERNAME} dd if=${REQUIREMENTS_FILE} of=${TMP_HOOKS_PATH}/requirements.txt + +# Grab the upper constraints file, but don't fail if we can't find it +UC_DIR=$(pwd) +UC_FILE=upper-constraints.txt +UC_BRANCH=${BRANCH_OVERRIDE} +if [ "${ADD_BRANCH}" == "default" ]; then + UC_BRANCH=master +fi +set +e; curl -o "${UC_DIR}/${UC_FILE}" https://git.openstack.org/cgit/openstack/requirements/plain/${UC_FILE}?h=${UC_BRANCH}; set -e +if [ -f "${UC_DIR}/${UC_FILE}" ]; then + sudo -Hiu ${HOST_USERNAME} dd if="${UC_DIR}/${UC_FILE}" of=${TMP_HOOKS_PATH}/${UC_FILE} + rm -f "${UC_DIR}/${UC_FILE}" +fi diff --git a/scripts/files/elements/ubuntu-guest/install.d/15-reddwarf-dep b/scripts/files/elements/ubuntu-guest/install.d/15-reddwarf-dep index 9901688..0286715 100755 --- a/scripts/files/elements/ubuntu-guest/install.d/15-reddwarf-dep +++ b/scripts/files/elements/ubuntu-guest/install.d/15-reddwarf-dep @@ -19,4 +19,9 @@ apt-get -y install python-dev libxml2-dev libxslt1-dev python-setuptools \ TMP_HOOKS_DIR="/tmp/in_target.d" -pip install -q --upgrade -r ${TMP_HOOKS_DIR}/requirements.txt +UPPER_CONSTRAINTS= +if [ -f ${TMP_HOOKS_DIR}/upper-constraints.txt ]; then + UPPER_CONSTRAINTS=" -c ${TMP_HOOKS_DIR}/upper-constraints.txt" +fi + +pip install -q --upgrade -r ${TMP_HOOKS_DIR}/requirements.txt ${UPPER_CONSTRAINTS} -- cgit v1.2.1