From 243b26a84e0328eaa5e3051a17416b3323c2c703 Mon Sep 17 00:00:00 2001
From: Russell Bryant <rbryant@redhat.com>
Date: Wed, 22 Feb 2012 11:19:32 -0500
Subject: [PATCH] Wait for instance termination to complete.

This patch waits for instance termination to complete before trying to
delete the security group.  The last change to simply move the security
group deletion to after euca-terminate-instance was not sufficient, as
it has to wait until the termination is complete.

Change-Id: Icba579534f324afb4d44abd42d8c755834dd2a57
---
 exercises/euca.sh | 6 ++++++
 openrc            | 3 +++
 2 files changed, 9 insertions(+)

diff --git a/exercises/euca.sh b/exercises/euca.sh
index 7f4869573f..86cd67321e 100755
--- a/exercises/euca.sh
+++ b/exercises/euca.sh
@@ -95,5 +95,11 @@ fi
 # Terminate instance
 euca-terminate-instances $INSTANCE
 
+# Assure it has terminated within a reasonable time
+if ! timeout $TERMINATE_TIMEOUT sh -c "while euca-describe-instances $INSTANCE | grep -q running; do sleep 1; done"; then
+    echo "server didn't terminate within $TERMINATE_TIMEOUT seconds"
+    exit 1
+fi
+
 # Delete group
 euca-delete-group $SECGROUP
diff --git a/openrc b/openrc
index df011a32ab..d742ced4ab 100644
--- a/openrc
+++ b/openrc
@@ -89,3 +89,6 @@ export RUNNING_TIMEOUT=${RUNNING_TIMEOUT:-$(($BOOT_TIMEOUT + $ACTIVE_TIMEOUT))}
 
 # Max time to wait for proper IP association and dis-association.
 export ASSOCIATE_TIMEOUT=${ASSOCIATE_TIMEOUT:-15}
+
+# Max time to wait for a vm to terminate
+export TERMINATE_TIMEOUT=${TERMINATE_TIMEOUT:-30}