summaryrefslogtreecommitdiffstats
path: root/controller
diff options
context:
space:
mode:
authorPavel Raiskup <praiskup@redhat.com>2014-10-22 09:53:30 +0200
committerPavel Raiskup <praiskup@redhat.com>2014-10-22 09:53:30 +0200
commit62d1756eedc76936d17394d76a2cea2e596ac7c6 (patch)
treebd01e57682321f1ed07974e46474fd5c4b44594e /controller
parent2422a081a5be0d5ac5afb122361bc283da67341f (diff)
downloadpostgresql-setup-tests-62d1756eedc76936d17394d76a2cea2e596ac7c6.tar.gz
postgresql-setup-tests-62d1756eedc76936d17394d76a2cea2e596ac7c6.tar.xz
postgresql-setup-tests-62d1756eedc76936d17394d76a2cea2e596ac7c6.zip
tester/controller: better test-result layout
Make sure that on tester machine everything is put into $DTF_RESULTDIR. Similarly, on controller machine, everything should be put into --workdir. * controller/run_remote: Detect $srcdir. (workdir_prereq): The $opt_workdir is temporary directory by default. * tester/run (run): Task results now go into $DTF_RESULTDIR/tasks. The main xml result goes into $DTF_RESULT/dtf.xml.
Diffstat (limited to 'controller')
-rwxr-xr-xcontroller/run_remote27
1 files changed, 21 insertions, 6 deletions
diff --git a/controller/run_remote b/controller/run_remote
index 0f7ccc3..0b405aa 100755
--- a/controller/run_remote
+++ b/controller/run_remote
@@ -1,15 +1,17 @@
#!/bin/bash
-. config/config.sh || {
- echo >&2 "sorry, but config/config.sh not found"
+srcdir=$(cd -P -- "$(dirname -- "$0")" && pwd -P) || exit 1
+
+. "$srcdir/config/config.sh" || {
+ echo >&2 "sorry, but $srcdir/config/config.sh not found"
exit 1
}
longopts="verbose,help,force,testid:,listonly"
-run_playbook=${run_playbook-ansible/fedora.yml}
+run_playbook=${run_playbook-$srcdir/ansible/fedora.yml}
-opt_workdir=/var/tmp/dbt-results
+opt_workdir=
opt_distro=fedora
opt_openstack_instance="$DTF_OPENSTACK_ID"
opt_distro_ver=20
@@ -67,16 +69,27 @@ done
test -z "$opt_taskdir" && die "you must specify --taskdir"
-credsfile="$(readlink -f "./private/os/$opt_openstack_instance.yml")"
+credsfile="$(readlink -f "$srcdir/private/os/$opt_openstack_instance.yml")"
test -z "$credsfile" && die "--ansible-creds option must be specified"
test ! -f "$credsfile" && die "file $credsfile not found"
-config_os_file="$(readlink -f "./config/os/$opt_openstack_instance.sh")"
+config_os_file="$(readlink -f "$srcdir/config/os/$opt_openstack_instance.sh")"
test ! -r "$config_os_file" && die "file $config_os_file not found"
. "$config_os_file"
config_os_id="$opt_distro$opt_distro_ver"
+workdir_prereq()
+{
+ if test -z "$opt_workdir"; then
+ opt_workdir="$(mktemp -d "/tmp/dtf-remoterun-workdir-XXXXXX")" \
+ || die "can't create workdir '$opt_workdir'"
+ echo "temporary workdir created: $opt_workdir"
+ elif test ! -d "$opt_workdir"; then
+ mkdir -p "$opt_workdir" || die "can't create workdir '$opt_workdir'"
+ fi
+}
+
tarball()
(
testsuite_name="$(basename "$opt_taskdir")"
@@ -84,6 +97,8 @@ tarball()
"$opt_taskdir/run" --dist | gzip > "$opt_workdir/$testsuite_name.tar.gz"
)
+workdir_prereq
+
testsuite_name="$(tarball)" || die "can not create dist tarball"
export ANSIBLE_HOST_KEY_CHECKING=False