When ran in functest on arm, the doctor suite fails because the x86
image is hardocded in the source files. This change adds the option to
run the doctor suite with an existing image as opposed to downloading
and creating it.
The image name is taken from an enviroment variables (if it is set).
When ran with functest, the env variable is set in doctor.py file.
Change-Id: Ib6ce56e650ebe8b29618a9a31ec990f9f0895f54
Signed-off-by: cristinapauna <cristina.pauna@enea.com>
(cherry picked from commit
34e593954e048a86c90dd851de6a84c7329a937b)
[[ "${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
[[ "${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
+#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
IMAGE_FILE="${IMAGE_NAME}.img"
IMAGE_FORMAT=qcow2
VM_NAME=doctor_vm1
- [ -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
image_id=$(openstack image list | grep " $IMAGE_NAME " | awk '{print $2}')
sleep 1
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"
openstack role remove "$DOCTOR_ROLE" --user "$DOCTOR_USER" \
--project "$DOCTOR_PROJECT"
openstack project delete "$DOCTOR_PROJECT"