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
diff --git a/tools/test-logs.sh b/tools/test-logs.sh
old mode 100644
new mode 100755
index a514dd8..429bac5
--- a/tools/test-logs.sh
+++ b/tools/test-logs.sh
@@ -15,10 +15,25 @@
# limitations under the License.
ZUUL_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." && pwd )"
-ARA_DIR=$(dirname $(python3 -c 'import ara ; print(ara.__file__)'))
-WORK_DIR=$PWD/test-logs-output
+# Initialize tox environment if it's not set up
+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
INVENTORY=$WORK_DIR/hosts.yaml
@@ -26,11 +41,11 @@
all:
hosts:
controller:
- ansible_host: localhost
+ ansible_connection: local
node1:
- ansible_host: localhost
+ ansible_connection: local
node2:
- ansible_host: localhost
+ ansible_connection: local
node:
hosts:
node1: null
@@ -63,4 +78,5 @@
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-failure.yaml
+# ansible-playbook $ZUUL_DIR/playbooks/zuul-stream/functional.yaml
echo "Logs are in $WORK_DIR"