diff --git a/tests/deploy.sh b/tests/deploy.sh
index e72d7ad462..bcbefc0541 100755
--- a/tests/deploy.sh
+++ b/tests/deploy.sh
@@ -28,7 +28,7 @@ function deploy {
 
     if ! openstack image show cirros >/dev/null 2>&1; then
         echo "Initialising OpenStack resources via init-runonce"
-        tools/init-runonce
+        tools/init-runonce > /tmp/logs/ansible/init-runonce
     else
         echo "Not running init-runonce - resources exist"
     fi
diff --git a/tools/init-runonce b/tools/init-runonce
index edbb490b5e..336baa162d 100755
--- a/tools/init-runonce
+++ b/tools/init-runonce
@@ -1,5 +1,7 @@
 #!/bin/bash
-#
+
+set -o errexit
+
 # This script is meant to be run once after running start for the first
 # time.  This script downloads a cirros image and registers it.  Then it
 # configures networking and nova quotas to allow 40 m1.small instances