diff options
-rwxr-xr-x | tests/run.sh | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/tests/run.sh b/tests/run.sh index ee96da9d..5ee4b6f6 100755 --- a/tests/run.sh +++ b/tests/run.sh @@ -11,7 +11,8 @@ [[ "${CI_DEBUG:-true}" == [Tt]rue ]] && set -x IMAGE_URL=https://launchpad.net/cirros/trunk/0.3.0/+download/cirros-0.3.0-x86_64-disk.img -IMAGE_NAME=cirros +#if an existing image name is provided in the enviroment, use that one +IMAGE_NAME=${IMAGE_NAME:-cirros} IMAGE_FILE="${IMAGE_NAME}.img" IMAGE_FORMAT=qcow2 VM_NAME=doctor_vm1 @@ -252,8 +253,14 @@ get_consumer_ip() { } download_image() { - [ -e "$IMAGE_FILE" ] && return 0 - wget "$IMAGE_URL" -o "$IMAGE_FILE" + #if a different name was provided for the image in the enviroment there's no need to download the image + use_existing_image=false + openstack image list | grep -q " $IMAGE_NAME " && use_existing_image=true + + if [[ "$use_existing_image" == false ]] ; then + [ -e "$IMAGE_FILE" ] && return 0 + wget "$IMAGE_URL" -o "$IMAGE_FILE" + fi } register_image() { @@ -531,7 +538,10 @@ cleanup() { image_id=$(openstack image list | grep " $IMAGE_NAME " | awk '{print $2}') sleep 1 - [ -n "$image_id" ] && openstack image delete "$image_id" + #if an existing image was used, there's no need to remove it here + if [[ "$use_existing_image" == false ]] ; then + [ -n "$image_id" ] && openstack image delete "$image_id" + fi openstack role remove "$DOCTOR_ROLE" --user "$DOCTOR_USER" \ --project "$DOCTOR_PROJECT" openstack project delete "$DOCTOR_PROJECT" |