diff options
author | Pavel Raiskup <praiskup@redhat.com> | 2015-06-08 16:47:01 +0200 |
---|---|---|
committer | Pavel Raiskup <praiskup@redhat.com> | 2015-06-08 16:47:01 +0200 |
commit | 7f8b33f0df4b4ec6fe41163b5e6ba47db138b392 (patch) | |
tree | 0fc8a37e0b19c0441bc6c6c90c05fe267ab966ed | |
parent | 22a4e88e40c30c309b27c399ac6795da6c5fe7c9 (diff) | |
download | postgresql-setup-tests-7f8b33f0df4b4ec6fe41163b5e6ba47db138b392.tar.gz postgresql-setup-tests-7f8b33f0df4b4ec6fe41163b5e6ba47db138b392.tar.xz postgresql-setup-tests-7f8b33f0df4b4ec6fe41163b5e6ba47db138b392.zip |
controller: add --separate-volume option for dtf-get-machine
TODO: deal with volume removal after VM termination?
* controller/bin/dtf-get-machine.in: Option parsing code added.
($opt_separate_volume): New global.
(show_help): Describe --separate-volume option.
(boot): Use --block-device instead of --image option for nova boot
if --separate-volume is used.
-rw-r--r-- | controller/bin/dtf-get-machine.in | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/controller/bin/dtf-get-machine.in b/controller/bin/dtf-get-machine.in index 2a668b3..b0036d6 100644 --- a/controller/bin/dtf-get-machine.in +++ b/controller/bin/dtf-get-machine.in @@ -13,6 +13,7 @@ info() opt_openstack_instance="$DTF_OPENSTACK_DEFAULT_ID" opt_distro=fedora opt_distro_version=20 +opt_separate_volume= function show_help() { @@ -27,6 +28,7 @@ Options: --openstack-instance=ID --name=NAME Name of the machine --quite Print only the VM IP address to stdout + --separate-volume=SIZE Create separate volume EOHELP test -n "$1" && exit "$1" } @@ -34,8 +36,18 @@ test -n "$1" && exit "$1" boot() ( set -o pipefail + + image_params=() + + if test -n "$4"; then + image_params+=(--block-device) + image_params+=('source=image,id='"$2"',dest=volume,size='"$4"',shutdown=preserve,bootindex=0') + else + image_params+=(--image "$2") + fi + nova boot "$1" --poll \ - --image "$2" \ + "${image_params[@]}" \ --flavor "$3" \ --security-groups "$os_security_group" \ --key-name "$os_keypair" \ @@ -51,14 +63,14 @@ get_ip() ) -longopts="distro:,distro-version:,openstack-instance:,name:,quiet" +longopts="distro:,distro-version:,openstack-instance:,name:,separate-volume:,quiet" ARGS=$(getopt -o "" -l "help,$longopts" -n "$0" -- "$@") \ || exit 1 eval set -- "$ARGS" while true; do case "$1" in - --distro|--distro-version|--openstack-instance|--name) + --distro|--distro-version|--openstack-instance|--name|--separate-volume) opt=$(sed -e 's/^--//' -e 's/[^[a-zA-Z0-9]/_/g'<<<"$1") eval "opt_$opt=\"${2,,}\"" shift 2 @@ -105,7 +117,7 @@ test -z "$opt_name" && opt_name="testing-$image" info "booting machine $image_version from $image" -machine=$(boot "$opt_name" "$image" "$flavor") || exit 1 +machine=$(boot "$opt_name" "$image" "$flavor" "$opt_separate_volume") || exit 1 info "machine id: $machine" get_ip "$machine" |