commit
662e1b0333
5 changed files with 100 additions and 15 deletions
46
exercise.sh
Executable file
46
exercise.sh
Executable file
|
@ -0,0 +1,46 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Run everything in the exercises/ directory that isn't explicitly disabled
|
||||
|
||||
# comma separated list of script basenames to skip
|
||||
# to refrain from exercising euca.sh use SKIP_EXERCISES=euca
|
||||
SKIP_EXERCISES=${SKIP_EXERCISES:-""}
|
||||
|
||||
# Locate the scripts we should run
|
||||
EXERCISE_DIR=$(dirname "$0")/exercises
|
||||
basenames=$(for b in `ls $EXERCISE_DIR/*.sh`; do basename $b .sh; done)
|
||||
|
||||
# Track the state of each script
|
||||
passes=""
|
||||
failures=""
|
||||
skips=""
|
||||
|
||||
# Loop over each possible script (by basename)
|
||||
for script in $basenames; do
|
||||
if [[ "$SKIP_EXERCISES" =~ $script ]] ; then
|
||||
skips="$skips $script"
|
||||
else
|
||||
echo =========================
|
||||
echo Running $script
|
||||
echo =========================
|
||||
$EXERCISE_DIR/$script.sh
|
||||
if [[ $? -ne 0 ]] ; then
|
||||
failures="$failures $script"
|
||||
else
|
||||
passes="$passes $script"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
# output status of exercise run
|
||||
echo =========================
|
||||
echo =========================
|
||||
for script in $skips; do
|
||||
echo SKIP $script
|
||||
done
|
||||
for script in $passes; do
|
||||
echo PASS $script
|
||||
done
|
||||
for script in $failures; do
|
||||
echo FAILED $script
|
||||
done
|
|
@ -21,18 +21,15 @@ pushd $(cd $(dirname "$0")/.. && pwd)
|
|||
source ./openrc
|
||||
popd
|
||||
|
||||
# Max time till the vm is bootable
|
||||
BOOT_TIMEOUT=${BOOT_TIMEOUT:-15}
|
||||
|
||||
# find a machine image to boot
|
||||
IMAGE=`euca-describe-images | grep machine | cut -f2`
|
||||
|
||||
# launch it
|
||||
INSTANCE=`euca-run-instance $IMAGE | grep INSTANCE | cut -f2`
|
||||
INSTANCE=`euca-run-instances $IMAGE | grep INSTANCE | cut -f2`
|
||||
|
||||
# assure it has booted within a reasonable time
|
||||
if ! timeout $BOOT_TIMEOUT sh -c "while euca-describe-instances $INSTANCE | grep -q running; do sleep 1; done"; then
|
||||
echo "server didn't become active within $BOOT_TIMEOUT seconds"
|
||||
if ! timeout $RUNNING_TIMEOUT sh -c "while euca-describe-instances $INSTANCE | grep -q running; do sleep 1; done"; then
|
||||
echo "server didn't become active within $RUNNING_TIMEOUT seconds"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
|
|
@ -84,15 +84,6 @@ nova boot --flavor $FLAVOR --image $IMAGE $NAME --security_groups=$SECGROUP
|
|||
# Waiting for boot
|
||||
# ----------------
|
||||
|
||||
# Max time to wait while vm goes from build to active state
|
||||
ACTIVE_TIMEOUT=${ACTIVE_TIMEOUT:-10}
|
||||
|
||||
# Max time till the vm is bootable
|
||||
BOOT_TIMEOUT=${BOOT_TIMEOUT:-15}
|
||||
|
||||
# Max time to wait for proper association and dis-association.
|
||||
ASSOCIATE_TIMEOUT=${ASSOCIATE_TIMEOUT:-10}
|
||||
|
||||
# check that the status is active within ACTIVE_TIMEOUT seconds
|
||||
if ! timeout $ACTIVE_TIMEOUT sh -c "while ! nova show $NAME | grep status | grep -q ACTIVE; do sleep 1; done"; then
|
||||
echo "server didn't become active!"
|
||||
|
|
40
exercises/swift.sh
Normal file
40
exercises/swift.sh
Normal file
|
@ -0,0 +1,40 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Test swift via the command line tools that ship with it.
|
||||
|
||||
# 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
|
||||
popd
|
||||
|
||||
|
||||
# Testing Swift
|
||||
# =============
|
||||
|
||||
# Check if we have to swift via keystone
|
||||
swift --auth-version 2 -A http://${HOST_IP}:5000/v2.0 -U admin -K $ADMIN_PASSWORD stat
|
||||
|
||||
# We start by creating a test container
|
||||
swift --auth-version 2 -A http://${HOST_IP}:5000/v2.0 -U admin -K $ADMIN_PASSWORD post testcontainer
|
||||
|
||||
# add some files into it.
|
||||
swift --auth-version 2 -A http://${HOST_IP}:5000/v2.0 -U admin -K $ADMIN_PASSWORD upload testcontainer /etc/issue
|
||||
|
||||
# list them
|
||||
swift --auth-version 2 -A http://${HOST_IP}:5000/v2.0 -U admin -K $ADMIN_PASSWORD list testcontainer
|
||||
|
||||
# And we may want to delete them now that we have tested that
|
||||
# everything works.
|
||||
swift --auth-version 2 -A http://${HOST_IP}:5000/v2.0 -U admin -K $ADMIN_PASSWORD delete testcontainer
|
11
openrc
11
openrc
|
@ -49,3 +49,14 @@ export EC2_SECRET_KEY=${ADMIN_PASSWORD:-secrete}
|
|||
# set log level to DEBUG (helps debug issues)
|
||||
# export NOVACLIENT_DEBUG=1
|
||||
|
||||
# Max time till the vm is bootable
|
||||
export BOOT_TIMEOUT=${BOOT_TIMEOUT:-15}
|
||||
|
||||
# Max time to wait while vm goes from build to active state
|
||||
export ACTIVE_TIMEOUT=${ACTIVE_TIMEOUT:-10}
|
||||
|
||||
# Max time from run instance command until it is running
|
||||
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:-10}
|
||||
|
|
Loading…
Reference in a new issue