From 02edace9daac1f774014a57f0197e421cca7add0 Mon Sep 17 00:00:00 2001 From: Michael Marineau Date: Tue, 11 Feb 2014 20:52:57 -0800 Subject: [PATCH] fix(test_ami): Drop old autotest based version. This never worked and has been abandoned in favor of coretest. --- oem/ami/run.sh | 2 +- oem/ami/test_ami.sh | 30 ---------- oem/ami/test_ami2.sh | 133 ------------------------------------------- 3 files changed, 1 insertion(+), 164 deletions(-) delete mode 100755 oem/ami/test_ami2.sh diff --git a/oem/ami/run.sh b/oem/ami/run.sh index a294bb056b..761758b60a 100755 --- a/oem/ami/run.sh +++ b/oem/ami/run.sh @@ -10,6 +10,6 @@ fi set -e sudo $DIR/build_ebs_on_ec2.sh -V $VER -K $DIR/aws-pk.pem -C $DIR/aws-cert.pem -$DIR/test_ami2.sh -v -V $VER -K $DIR/aws-pk.pem -C $DIR/aws-cert.pem +$DIR/test_ami.sh -v -V $VER -K $DIR/aws-pk.pem -C $DIR/aws-cert.pem $DIR/copy_ami.sh -V $VER -K $DIR/aws-pk.pem -C $DIR/aws-cert.pem $DIR/upload_ami_txt.sh -V $VER -K $DIR/aws-pk.pem -C $DIR/aws-cert.pem diff --git a/oem/ami/test_ami.sh b/oem/ami/test_ami.sh index 41369f3ac9..f267ab88f4 100755 --- a/oem/ami/test_ami.sh +++ b/oem/ami/test_ami.sh @@ -63,7 +63,6 @@ else exit 1 fi - echo -n "Creating keys and security group... " key_name="autotest-`date +%s`" key_file="/tmp/$key_name" @@ -125,36 +124,7 @@ for host in ${ips[@]}; do done echo "OK" -AUTOTEST_DIR=$(mktemp -d) -trap 'cd /; rm -rf "${AUTOTEST_DIR}"' EXIT -pushd "${AUTOTEST_DIR}" - -wget https://github.com/autotest/autotest/archive/0.15.1.tar.gz -tar -xzf 0.15.1.tar.gz -git clone git://github.com/coreos/coreos-autotest.git -cp -r ./coreos-autotest/client/* ./autotest-0.15.1/client/tests - -cp ~/.ssh/config ~/.ssh/config.back -for host in ${ips[@]}; do -cat >> ~/.ssh/config < /dev/null while ! $ec2_cmd | grep INSTANCE | grep -q terminated do sleep 10; done diff --git a/oem/ami/test_ami2.sh b/oem/ami/test_ami2.sh deleted file mode 100755 index 6b9b6b7c7d..0000000000 --- a/oem/ami/test_ami2.sh +++ /dev/null @@ -1,133 +0,0 @@ -#!/bin/bash -# -# This expects to run on an EC2 instance. -# -# mad props to Eric Hammond for the initial script -# https://github.com/alestic/alestic-hardy-ebs/blob/master/bin/alestic-hardy-ebs-build-ami - -# This script will launch three ec2 nodes with shared user-data, and then -# then test of the cluster is bootstrapped - -# Set pipefail along with -e in hopes that we catch more errors -set -e -o pipefail - -USAGE="Usage: $0 -a ami-id - -a ami-id ID of the AMI to be tests (required) - -K KEY Path to Amazon API private key. - -C CERT Path to Amazon API key certificate. - -h this ;-) - -v Verbose, see all the things! - -This script must be run from an ec2 host with the ec2 tools installed. -" - -AMI= -VER= - -while getopts "a:V:K:C:hv" OPTION -do - case $OPTION in - a) AMI="$OPTARG";; - V) VER="$OPTARG";; - K) export EC2_PRIVATE_KEY="$OPTARG";; - C) export EC2_CERT="$OPTARG";; - h) echo "$USAGE"; exit;; - v) set -x;; - *) exit 1;; - esac -done - -if [[ $(id -u) -eq 0 ]]; then - echo "$0: This command should not be ran run as root!" >&2 - exit 1 -fi - -if [[ -z "$AMI" && -n "$VER" ]]; then - AMI=$(ec2-describe-images -F name="CoreOS-$VER" | grep -m1 ^IMAGE \ - | cut -f2) || true # Don't die silently, error messages are good - if [[ -z "$AMI" ]]; then - echo "$0: Cannot find an AMI for CoreOS $VER" >&2 - exit 1 - fi -elif [[ -n "$AMI" ]]; then - # check to make sure this is a valid image - if ! ec2-describe-images -F image-id="$AMI" | grep -q "$AMI"; then - echo "$0: Unknown image: $AMI" >&2 - exit 1 - fi -else - echo "$0: AMI id or version required (-a or -V options)" >&2 - echo "$USAGE" >&2 - exit 1 -fi - -echo -n "Creating keys and security group... " -key_name="autotest-`date +%s`" -key_file="/tmp/$key_name" -ec2-create-keypair $key_name | grep -v KEYPAIR > $key_file -chmod 600 $key_file - -sg_name=$key_name -sg=$(ec2-create-group $sg_name --description "$sg_name" | cut -f2) -ec2-authorize "$sg_name" -P tcp -p 4001 > /dev/null -ec2-authorize "$sg_name" -P tcp -p 7001 > /dev/null -ec2-authorize "$sg_name" -P tcp -p 22 > /dev/null -echo "OK ($key_name)" - -# might be needed later for multi-zone tests -zoneurl=http://instance-data/latest/meta-data/placement/availability-zone -zone=$(curl --fail -s $zoneurl) -region=$(echo $zone | sed 's/.$//') - -token=$(uuidgen) - -echo -n "Booting instances... " -instances=$(ec2-run-instances \ - --user-data "$token" \ - --instance-type "t1.micro" \ - --instance-count 3 \ - --group "$sg_name" \ - --key "$key_name" $AMI | \ - grep INSTANCE | cut -f2) -# little hack to create a describe instances command that only -# pulls data for these instances -ec2_cmd=$(echo $instances | sed 's/ / --filter instance-id=/g') -ec2_cmd="ec2-describe-instances --filter instance-id=$ec2_cmd" - -while $ec2_cmd | grep INSTANCE | grep -q pending - do sleep 10; done - -declare -a ips=($($ec2_cmd | grep INSTANCE | cut -f4)) - -# sleep until all the sockets we need come up -for host in ${ips[@]}; do - for port in 22 4001 7001; do - timeout 90 perl -MIO::Socket::INET -e " - until(new IO::Socket::INET('$host:$port')){sleep 1}" - done -done -echo "OK ($instances)" - -echo -n "Testing etcd... " -test_key="v1/keys/test" -# XXX: the sleep *should never* be required, this is a bug in etcd -sleep 1 -curl --fail -s -L "${ips[0]}:4001/$test_key" -d value="$token" > /dev/null -sleep 1 -for host in ${ips[@]}; do - if ! curl --fail -s -L "${host}:4001/$test_key" | grep -q $token; then - echo "etcd bootstrap appears to have failed for $host" >&2 - exit 1 - fi -done -echo "OK" - -echo -n "Cleaning up environment... " -ec2-terminate-instances $instances > /dev/null -while ! $ec2_cmd | grep INSTANCE | grep -q terminated - do sleep 10; done - -ec2-delete-group $sg_name > /dev/null -ec2-delete-keypair $key_name > /dev/null -rm $key_file -echo "OK"