Allow euca-upload-bundle to work with devstack

 * modifies stack.sh to run nova-cert and nova-objectstore
 * adds exercises/bundle.sh to test for bundling
 * requires https://review.openstack.org/#change,3200

Change-Id: I850891948fbdfdf5890225f94df755e5dbc733d0
diff --git a/exercises/bundle.sh b/exercises/bundle.sh
new file mode 100755
index 0000000..ca35c9a
--- /dev/null
+++ b/exercises/bundle.sh
@@ -0,0 +1,48 @@
+#!/usr/bin/env bash
+
+# we will use the ``euca2ools`` cli tool that wraps the python boto
+# library to test ec2 compatibility
+#
+
+# This script exits on an error so that errors don't compound and you see
+# only the first error that occured.
+set -o errexit
+
+# Print the commands being run so that we can see the command that triggers
+# an error.  It is also useful for following allowing as the install occurs.
+set -o xtrace
+
+# Settings
+# ========
+
+# Use openrc + stackrc + localrc for settings
+pushd $(cd $(dirname "$0")/.. && pwd)
+source ./openrc
+
+# Remove old certificates
+rm -f cacert.pem
+rm -f cert.pem
+rm -f pk.pem
+
+# Get Certificates
+nova x509-get-root-cert
+nova x509-create-cert
+popd
+
+# Max time to wait for image to be registered
+REGISTER_TIMEOUT=${REGISTER_TIMEOUT:-15}
+
+BUCKET=testbucket
+IMAGE=bundle.img
+truncate -s 5M /tmp/$IMAGE
+euca-bundle-image -i /tmp/$IMAGE
+
+
+euca-upload-bundle -b $BUCKET -m /tmp/$IMAGE.manifest.xml
+AMI=`euca-register $BUCKET/$IMAGE.manifest.xml | cut -f2`
+
+# Wait for the image to become available
+if ! timeout $REGISTER_TIMEOUT sh -c "while euca-describe-images | grep '$AMI' | grep 'available'; do sleep 1; done"; then
+    echo "Image $AMI not available within $REGISTER_TIMEOUT seconds"
+    exit 1
+fi