From 9e89d125a84334f0aea38ba780fd56cc4dd7cd5c Mon Sep 17 00:00:00 2001 From: Pavel Raiskup Date: Mon, 27 Oct 2014 10:02:28 +0100 Subject: controller/dtf-run-remote: start VM via dtf-get-machine .. rather than by ansible nova_compute module directly. Allows me implement more variability in VM handling. * controller/bin/dtf-get-machine.in: Add --quiet option which causes that only allocated IP is shown. Add also DTF_GET_MACHINE_FAKE_IP variable usable for faster debugging; when set, dtf-get-machine prints its content to standard output without allocating new VM. * controller/bin/dtf-run-remote.in: Add -v (verbose) option to ansible-playbook call to get more verbose output. * controller/share/dtf-controller/ansible/playbooks/fedora.yml: Use dtf-get-machine. Also remove creds file requirement. --- controller/bin/dtf-get-machine.in | 23 +++++++++++++++++++---- controller/bin/dtf-run-remote.in | 2 +- 2 files changed, 20 insertions(+), 5 deletions(-) (limited to 'controller/bin') diff --git a/controller/bin/dtf-get-machine.in b/controller/bin/dtf-get-machine.in index 57e9fa4..6f9873c 100644 --- a/controller/bin/dtf-get-machine.in +++ b/controller/bin/dtf-get-machine.in @@ -2,8 +2,13 @@ . "@sysconfdir@/dtf.sh" || exit 1 +opt_quiet=0 + die() { echo "$@" ; exit 1 ; } -info() { echo " * $@" ; } +info() +{ + test "$opt_quiet" -eq 0 && echo " * $@" +} opt_openstack_instance="$DTF_OPENSTACK_DEFAULT_ID" opt_distro=fedora @@ -45,7 +50,7 @@ get_ip() ) -longopts="distro:,distro-version:,openstack-instance:,name:" +longopts="distro:,distro-version:,openstack-instance:,name:,quiet" ARGS=$(getopt -o "" -l "help,$longopts" -n "$0" -- "$@") \ || exit 1 eval set -- "$ARGS" @@ -58,6 +63,12 @@ while true; do shift 2 ;; + --quiet) + opt=$(sed -e 's/^--//' -e 's/[^[a-zA-Z0-9]/_/g'<<<"$1") + eval "opt_$opt=1" + shift + ;; + --help) show_help 0 ;; @@ -68,6 +79,11 @@ while true; do esac done +if test -n "$DTF_GET_MACHINE_FAKE_IP"; then + echo "$DTF_GET_MACHINE_FAKE_IP" + exit 0 +fi + test -z "$opt_openstack_instance" && die "no openstack intance ID used" . "@pkgdatadir@/parse_credsfile" "$opt_openstack_instance" || exit 1 @@ -87,5 +103,4 @@ machine=$(boot "$opt_name" "$image" "$flavor") info "machine id: $machine" -ip=$(get_ip "$machine") -info "ip: $ip" +get_ip "$machine" diff --git a/controller/bin/dtf-run-remote.in b/controller/bin/dtf-run-remote.in index d801d28..229097f 100644 --- a/controller/bin/dtf-run-remote.in +++ b/controller/bin/dtf-run-remote.in @@ -97,7 +97,7 @@ workdir_prereq testsuite_name="$(tarball)" || die "can not create dist tarball" export ANSIBLE_HOST_KEY_CHECKING=False -ansible-playbook "$run_playbook" \ +ansible-playbook -v "$run_playbook" \ --extra-vars "opt_generated_vars=@ansiblevarsdir@/generated-vars.yml" \ --extra-vars "opt_distro=$opt_distro" \ --extra-vars "opt_distro_ver=$opt_distro_ver" \ -- cgit