Skip to content

Commit b627e6f

Browse files
author
Dejaeger, Darren (dd118r)
committed
shaker-spot uptime add
This PS looks to add an 'uptime' against the shaker-spot VM after execution finishes, so that further validation can be had on the VM lasting through reboot tests. Change-Id: I8e87c8d8daf12399bca7f0f363c1f6da6b4cd175
1 parent 1dcd5f4 commit b627e6f

File tree

4 files changed

+29
-7
lines changed

4 files changed

+29
-7
lines changed

simple-shaker/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ FROM bitnami/minideb:jessie
33
LABEL maintainer "Oded Le'Sage <ol7435@att.com>"
44

55
RUN apt update && install_packages python-dev wget gcc nano less \
6-
iproute2 iperf3 iputils-ping bc jq
6+
openssh-client iproute2 iperf3 iputils-ping bc jq
77

88
RUN wget --no-check-certificate https://bootstrap.pypa.io/get-pip.py && \
99
python get-pip.py

simple-shaker/shaker_spot.sh

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,17 +54,20 @@ eval "$traceset"
5454
# delete the stack first in case it exists
5555
delete_stack
5656

57+
# create the keypair to be used for testing
58+
ssh-keygen -t rsa -N '' -f shaker_spot_key
59+
5760
# create the stack to be used for testing
58-
openstack stack create --parameter "external_network=$2" --parameter "external_subnet=$3" -t spot_vm.hot $stack_name
61+
openstack stack create --parameter "public_key=$(cat shaker_spot_key.pub)" --parameter "external_network=$2" --parameter "external_subnet=$3" -t spot_vm.hot $stack_name
5962

6063
# enable retrying delete/create
6164
while ! ./validate_spot_stack.sh $stack_name true; do
6265
delete_stack
63-
openstack stack create --parameter "external_network=$2" --parameter "external_subnet=$3" -t spot_vm.hot $stack_name
66+
openstack stack create --parameter "public_key=$(cat shaker_spot_key.pub)" --parameter "external_network=$2" --parameter "external_subnet=$3" -t spot_vm.hot $stack_name
6467
done
6568

6669
# figure out the ip of the target vm
67-
vm_ip=$(openstack stack show "$stack_name" -f table -c outputs | awk '/output_value/ { print $4 }')
70+
vm_ip=$(openstack stack output show -f value -c output_value "$stack_name" shaker_spot_ip)
6871
local_ip="$(ip route get 1 | awk '{print $NF;exit}')"
6972

7073
# clear server_endpoint if set, since this is spot it's not useful
@@ -77,3 +80,6 @@ sed -i 's|SPOT_IP|'"$vm_ip"'|g' "$input_file"
7780
export SHAKER_SERVER_ENDPOINT="$local_ip:8080"
7881

7982
shaker --config-file "$input_file"
83+
84+
ssh -i shaker_spot_key -o "StrictHostKeyChecking=no" ubuntu@$vm_ip uptime > vm-uptime.txt
85+
cat vm-uptime.txt || true

simple-shaker/shaker_spot_continuous.sh

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -113,17 +113,20 @@ eval "$traceset"
113113
# delete the stack first in case it exists
114114
delete_stack
115115

116+
# create the keypair to be used for testing
117+
ssh-keygen -t rsa -N '' -f shaker_spot_key
118+
116119
# create the stack to be used for testing
117-
openstack stack create --parameter "external_network=$2" --parameter "external_subnet=$3" -t spot_vm.hot $stack_name
120+
openstack stack create --parameter "public_key=$(cat shaker_spot_key.pub)" --parameter "external_network=$2" --parameter "external_subnet=$3" -t spot_vm.hot $stack_name
118121

119122
# enable retrying delete/create
120123
while ! ./validate_spot_stack.sh $stack_name true; do
121124
delete_stack
122-
openstack stack create --parameter "external_network=$2" --parameter "external_subnet=$3" -t spot_vm.hot $stack_name
125+
openstack stack create --parameter "public_key=$(cat shaker_spot_key.pub)" --parameter "external_network=$2" --parameter "external_subnet=$3" -t spot_vm.hot $stack_name
123126
done
124127

125128
# figure out the ip of the target vm
126-
vm_ip=$(openstack stack show "$stack_name" -f table -c outputs | awk '/output_value/ { print $4 }')
129+
vm_ip=$(openstack stack output show -f value -c output_value "$stack_name" shaker_spot_ip)
127130
local_ip="$(ip route get 1 | awk '{print $NF;exit}')"
128131

129132
# clear server_endpoint if set, since this is spot it's not useful
@@ -149,3 +152,6 @@ until [[ -f ./flag.done ]]; do
149152
shaker --config-file "$input_file" --output data/output-"$block".json --scenario data/ping"$block".yaml
150153
(( counter++ ))
151154
done
155+
156+
ssh -i shaker_spot_key -o "StrictHostKeyChecking=no" ubuntu@$vm_ip uptime > vm-uptime.txt
157+
cat vm-uptime.txt || true

simple-shaker/spot_vm.hot

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@ parameters:
1212
type: string
1313
description: Name of name of the public externally routable subnet
1414
default: routable-subnet
15+
public_key:
16+
type: string
17+
description: Public key (e.g. ssh-rsa foo..bar)
1518

1619
resources:
1720
shaker_spot:
@@ -24,6 +27,7 @@ resources:
2427
flavor: m1.small
2528
networks:
2629
- port: { get_resource: routable_port_int }
30+
key_name: { get_resource: resiliency_key_pair }
2731
user_data:
2832
str_replace:
2933
template: |
@@ -64,6 +68,12 @@ resources:
6468
size: 20
6569
image: shaker-image
6670

71+
resiliency_key_pair:
72+
type: OS::Nova::KeyPair
73+
properties:
74+
name: resil_key
75+
public_key: { get_param: public_key }
76+
6777
outputs:
6878
shaker_spot_ip:
6979
value: { get_attr: [ shaker_spot, first_address ] }

0 commit comments

Comments
 (0)