Make test-logs.sh more convenient to use

test-logs.sh is convenient to locally test things, this makes it a bit
more convenient to use:
- Make it executable (chmod +x)
- Make it use a virtualenv
- Make it install ARA if it's not installed
- Make it store logs in temporary directories
- Make it use ansible_connection: local instead of a literal SSH
  connection to localhost

Change-Id: Ic2f6403500e2c818d20a90d95395d38959051cb1
This commit is contained in:
David Moreau Simard 2018-02-19 23:53:34 -05:00
parent 518dcf8bdb
commit 6ef1d61c25
No known key found for this signature in database
GPG Key ID: 33A07694CBB71ECC
1 changed files with 22 additions and 6 deletions

28
tools/test-logs.sh Normal file → Executable file
View File

@ -15,10 +15,25 @@
# limitations under the License. # limitations under the License.
ZUUL_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." && pwd )" ZUUL_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." && pwd )"
ARA_DIR=$(dirname $(python3 -c 'import ara ; print(ara.__file__)')) # Initialize tox environment if it's not set up
WORK_DIR=$PWD/test-logs-output if [[ ! -d "${ZUUL_DIR}/.tox/venv" ]]; then
pushd $ZUUL_DIR
echo "Virtualenv doesn't exist... creating."
tox -e venv --notest
popd
fi
# Source tox environment
source ${ZUUL_DIR}/.tox/venv/bin/activate
mkdir -p $WORK_DIR # Install ARA if it's not installed (not in requirements.txt by default)
python -c "import ara" &> /dev/null
if [ $? -eq 1 ]; then
echo "ARA isn't installed... Installing it."
pip install ara
fi
ARA_DIR=$(dirname $(python3 -c 'import ara; print(ara.__file__)'))
WORK_DIR=$(mktemp -d /tmp/zuul_logs_XXXX)
if [ -z $1 ] ; then if [ -z $1 ] ; then
INVENTORY=$WORK_DIR/hosts.yaml INVENTORY=$WORK_DIR/hosts.yaml
@ -26,11 +41,11 @@ if [ -z $1 ] ; then
all: all:
hosts: hosts:
controller: controller:
ansible_host: localhost ansible_connection: local
node1: node1:
ansible_host: localhost ansible_connection: local
node2: node2:
ansible_host: localhost ansible_connection: local
node: node:
hosts: hosts:
node1: null node1: null
@ -63,4 +78,5 @@ export ARA_LOG_CONFIG=$ZUUL_JOB_LOG_CONFIG
rm -rf $ARA_DIR rm -rf $ARA_DIR
ansible-playbook $ZUUL_DIR/playbooks/zuul-stream/fixtures/test-stream.yaml ansible-playbook $ZUUL_DIR/playbooks/zuul-stream/fixtures/test-stream.yaml
ansible-playbook $ZUUL_DIR/playbooks/zuul-stream/fixtures/test-stream-failure.yaml ansible-playbook $ZUUL_DIR/playbooks/zuul-stream/fixtures/test-stream-failure.yaml
# ansible-playbook $ZUUL_DIR/playbooks/zuul-stream/functional.yaml
echo "Logs are in $WORK_DIR" echo "Logs are in $WORK_DIR"