diff options
Diffstat (limited to 'build-gluster-org/scripts/distributed-regression.sh')
-rw-r--r-- | build-gluster-org/scripts/distributed-regression.sh | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/build-gluster-org/scripts/distributed-regression.sh b/build-gluster-org/scripts/distributed-regression.sh new file mode 100644 index 0000000..12f3396 --- /dev/null +++ b/build-gluster-org/scripts/distributed-regression.sh @@ -0,0 +1,36 @@ +#!/bin/sh + +MAX_ATTEMPTS=3 +set -e + +# create and activate virtual env +virtualenv env +source env/bin/activate + +# create SSH key pair of 4096 bits to use it for instances at Rackspace +ssh-keygen -f ${WORKSPACE}/key -t rsa -b 4096 + +# Install pyrax dependency +pip install pyrax +/opt/qa/distributed-tests/rackspace-server-manager.py create -n ${MACHINES_COUNT} + +for retry in `seq 1 $MAX_ATTEMPTS` +do + ANSIBLE_HOST_KEY_CHECKING=False ansible-playbook -i hosts --private-key=key /opt/qa/distributed-tests/distributed-server.yml -u root + ret=$? + if [ $ret -eq 0 ]; then + break + fi + echo 'Attempting to run again...' +done + +# run the script of distributed-test +../scripts/run-distributed-test.py +ret=$? +if [ $ret -eq 0 ]; then + # Create tar file from all the failed test log files generated in /tmp + tar -czf $WORKSPACE/failed-test-logs.tgz /tmp/*.log + + # if test runs are successful, delete all the machines + /opt/qa/distributed-tests/rackspace-server-manager.py delete +fi |