aboutsummaryrefslogtreecommitdiff
path: root/contrib/test/venv-ansible-playbook.sh
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/test/venv-ansible-playbook.sh')
-rwxr-xr-xcontrib/test/venv-ansible-playbook.sh106
1 files changed, 0 insertions, 106 deletions
diff --git a/contrib/test/venv-ansible-playbook.sh b/contrib/test/venv-ansible-playbook.sh
deleted file mode 100755
index 587042154..000000000
--- a/contrib/test/venv-ansible-playbook.sh
+++ /dev/null
@@ -1,106 +0,0 @@
-#!/bin/bash
-
-# example usage
-# $ ./venv-ansible-playbook.sh \
-# -i 192.168.169.170 \
-# --private-key=/path/to/key \
-# --extra-vars "pullrequest=42" \
-# --extra-vars "commit=abcd1234" \
-# --user root \
-# --verbose \
-# $PWD/crio-integration-playbook.yaml
-
-# All errors are fatal
-set -e
-
-SCRIPT_PATH=`realpath $(dirname $0)`
-REQUIREMENTS="$SCRIPT_PATH/requirements.txt"
-
-echo
-
-if ! type -P virtualenv &> /dev/null
-then
- echo "Could not find required 'virtualenv' binary installed on system."
- exit 1
-fi
-
-if [ "$#" -lt "1" ]
-then
- echo "No ansible-playbook command-line options specified."
- echo "usage: $0 -i whatever --private-key=something --extra-vars foo=bar playbook.yml"
- exit 2
-fi
-
-# Avoid dirtying up repository, keep execution bits confined to a known location
-if [ -z "$WORKSPACE" ] || [ ! -d "$WORKSPACE" ]
-then
- export WORKSPACE="$(mktemp -d)"
- echo "Using temporary \$WORKSPACE=\"$WORKSPACE\" for execution environment."
- echo "Directory will be removed upon exit. Export this variable with path"
- echo "to an existing directory to preserve contents."
- trap 'rm -rf "$WORKSPACE"' EXIT
-else
- echo "Using existing \$WORKSPACE=\"$WORKSPACE\" for execution environment."
- echo "Directory will be left as-is upon exit."
- # Don't recycle cache, next job may have different requirements
- trap 'rm -rf "$PIPCACHE"' EXIT
-fi
-
-# Create a directory to contain logs and test artifacts
-export ARTIFACTS=$(mkdir -pv $WORKSPACE/artifacts | tail -1 | cut -d \' -f 2)
-[ -d "$ARTIFACTS" ] || exit 3
-
-# All command failures from now on are fatal
-set -e
-echo
-echo "Bootstrapping trusted virtual environment, this may take a few minutes, depending on networking."
-echo "(logs: \"$ARTIFACTS/crio_venv_setup_log.txt\")"
-echo
-
-
-(
- set -x
- cd "$WORKSPACE"
- # When running more than once, make it fast by skipping the bootstrap
- if [ ! -d "./.cri-o_venv" ]; then
- # N/B: local system's virtualenv binary - uncontrolled version fixed below
- virtualenv --no-site-packages --python=python2.7 ./.venvbootstrap
- # Set up paths to install/operate out of $WORKSPACE/.venvbootstrap
- source ./.venvbootstrap/bin/activate
- # N/B: local system's pip binary - uncontrolled version fixed below
- # pip may not support --cache-dir, force it's location into $WORKSPACE the ugly-way
- OLD_HOME="$HOME"
- export HOME="$WORKSPACE"
- export PIPCACHE="$WORKSPACE/.cache/pip"
- pip install --force-reinstall --upgrade pip==9.0.1
- # Undo --cache-dir workaround
- export HOME="$OLD_HOME"
- # Install fixed, trusted, hashed versions of all requirements (including pip and virtualenv)
- pip --cache-dir="$PIPCACHE" install --require-hashes \
- --requirement "$SCRIPT_PATH/requirements.txt"
-
- # Setup trusted virtualenv using hashed binary from requirements.txt
- ./.venvbootstrap/bin/virtualenv --no-site-packages --python=python2.7 ./.cri-o_venv
- # Exit untrusted virtualenv
- deactivate
- fi
- # Enter trusted virtualenv
- source ./.cri-o_venv/bin/activate
- # Upgrade stock-pip to support hashes
- pip install --force-reinstall --cache-dir="$PIPCACHE" --upgrade pip==9.0.1
- # Re-install from cache but validate all hashes (including on pip itself)
- pip --cache-dir="$PIPCACHE" install --require-hashes \
- --requirement "$SCRIPT_PATH/requirements.txt"
- # Remove temporary bootstrap virtualenv
- rm -rf ./.venvbootstrap
- # Exit trusted virtualenv
-
-) &> $ARTIFACTS/crio_venv_setup_log.txt;
-
-echo
-echo "Executing \"$WORKSPACE/.cri-o_venv/bin/ansible-playbook $@\""
-echo
-
-# Execute command-line arguments under virtualenv
-source ${WORKSPACE}/.cri-o_venv/bin/activate
-${WORKSPACE}/.cri-o_venv/bin/ansible-playbook $@