Add volume tests to exercises/euca.sh
Excercise euca2ools volumes commands when
exercising the other euca2ools as well.
Change-Id: Ia43bd233c63224eac5e851b3b8a3dbdbf3b5e1f0
Signed-off-by: Chuck Short <chuck.short@canonical.com>
diff --git a/exercises/euca.sh b/exercises/euca.sh
index fb052dd..79405c2 100755
--- a/exercises/euca.sh
+++ b/exercises/euca.sh
@@ -72,6 +72,48 @@
exit 1
fi
+# Volumes
+# -------
+if [[ "$ENABLED_SERVICES" =~ "n-vol" || "$ENABLED_SERVICES" =~ "c-vol" ]]; then
+ VOLUME=`euca-create-volume -s 1 -z $VOLUME_ZONE | cut -f2`
+ die_if_not_set VOLUME "Failure to create volume"
+
+ # Test that volume has been created
+ VOLUME=`euca-describe-volumes | cut -f2`
+
+ # Test volume has become available
+ if ! timeout $ASSOCIATE_TIMEOUT sh -c "while ! euca-describe-volumes $VOLUME | grep -q available; do sleep 1; done"; then
+ echo "volume didnt become available within $RUNNING_TIMEOUT seconds"
+ exit 1
+ fi
+
+ # Attach volume to an instance
+ euca-attach-volume -i $INSTANCE -d $ATTACH_DEVICE $VOLUME || \
+ die "Failure attaching volume $VOLUME to $INSTANCE"
+ if ! timeout $ACTIVE_TIMEOUT sh -c "while ! euca-describe-volumes $VOLUME | grep -q in-use; do sleep 1; done"; then
+ echo "Could not attach $VOLUME to $INSTANCE"
+ exit 1
+ fi
+
+ # Detach volume from an instance
+ euca-detach-volume $VOLUME || \
+ die "Failure detaching volume $VOLUME to $INSTANCE"
+ if ! timeout $ACTIVE_TIMEOUT sh -c "while ! euca-describe-volumes $VOLUME | grep -q available; do sleep 1; done"; then
+ echo "Could not detach $VOLUME to $INSTANCE"
+ exit 1
+ fi
+
+ # Remove volume
+ euca-delete-volume $VOLUME || \
+ die "Failure to delete volume"
+ if ! timeout $ACTIVE_TIMEOUT sh -c "while euca-describe-volumes | grep $VOLUME; do sleep 1; done"; then
+ echo "Could not delete $VOLUME"
+ exit 1
+ fi
+else
+ echo "Volume Tests Skipped"
+fi
+
# Allocate floating address
FLOATING_IP=`euca-allocate-address | cut -f2`
die_if_not_set FLOATING_IP "Failure allocating floating IP"