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
|
source ./openrc
|
||||||
popd
|
popd
|
||||||
|
|
||||||
# Max time till the vm is bootable
|
|
||||||
BOOT_TIMEOUT=${BOOT_TIMEOUT:-15}
|
|
||||||
|
|
||||||
# find a machine image to boot
|
# find a machine image to boot
|
||||||
IMAGE=`euca-describe-images | grep machine | cut -f2`
|
IMAGE=`euca-describe-images | grep machine | cut -f2`
|
||||||
|
|
||||||
# launch it
|
# 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
|
# 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
|
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 $BOOT_TIMEOUT seconds"
|
echo "server didn't become active within $RUNNING_TIMEOUT seconds"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
|
@ -84,15 +84,6 @@ nova boot --flavor $FLAVOR --image $IMAGE $NAME --security_groups=$SECGROUP
|
||||||
# Waiting for boot
|
# 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
|
# 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
|
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!"
|
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)
|
# set log level to DEBUG (helps debug issues)
|
||||||
# export NOVACLIENT_DEBUG=1
|
# 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