summaryrefslogtreecommitdiff
path: root/integration/scripts/files/elements/ubuntu-guest/extra-data.d/15-trove-dep
blob: f563406a2c4e33fde6a47d389c31c4430ee78ed6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#!/bin/bash

set -e
set -o xtrace

# CONTEXT: HOST prior to IMAGE BUILD as SCRIPT USER
# PURPOSE: Setup the requirements file for use by 15-reddwarf-dep

source $_LIB/die

BRANCH_OVERRIDE=${BRANCH_OVERRIDE:-default}
REQUIREMENTS_FILE=${TROVESTACK_SCRIPTS}/../../requirements.txt

[ -n "$TMP_HOOKS_PATH" ] || die "Temp hook path not set"
[ -e ${REQUIREMENTS_FILE} ] || die "Requirements not found"
[ -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.
# If we are running in the CI environment, $DEST will be set and stackrc
# will use $DEST/requirements as the location for the requirements repo.
# Use that as it will help us chain a job with something that is changing UC.

UC_FILE=upper-constraints.txt

if [ -f "${DEST}/requirements/${UC_FILE}" ]; then
    echo "Found ${DEST}/requirements/${UC_FILE}, using that"
    sudo -Hiu ${HOST_USERNAME} dd if="${DEST}/requirements/${UC_FILE}" \
        of="${TMP_HOOKS_PATH}/${UC_FILE}"
else
    UC_DIR=$(pwd)
    UC_BRANCH=${BRANCH_OVERRIDE}
    if [ "${UC_BRANCH}" == "default" ]; then
        UC_BRANCH=master
    fi

    set +e
    curl -o "${UC_DIR}/${UC_FILE}" "https://opendev.org/openstack/requirements/raw/branch/${UC_BRANCH}/${UC_FILE}"
    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
fi