Browse code

progress on getting a working test configuration

Anthony Young authored on 2011/11/11 05:57:59
Showing 5 changed files
... ...
@@ -187,6 +187,29 @@ cat > localrc <<LOCAL_EOF
187 187
 ROOTSLEEP=0
188 188
 `cat $TOP_DIR/localrc`
189 189
 LOCAL_EOF
190
+EOF
191
+
192
+# Setup stack user with our key
193
+if [ -e ~/.ssh/id_rsa.pub ]; then
194
+    cat > $vm_dir/uec/user-data<<EOF
195
+mkdir -p /opt/stack
196
+useradd stack -s /bin/bash -d /opt/stack -G libvirtd || true
197
+echo stack:pass | chpasswd
198
+mkdir -p /opt/stack/.ssh
199
+echo `cat ~/.ssh/id_rsa.pub` > /opt/stack/.ssh/authorized_keys
200
+chown -R stack /opt/stack
201
+chmod 700 /opt/stack/.ssh
202
+chmod 600 /opt/stack/.ssh/authorized_keys
203
+
204
+grep -q "^#includedir.*/etc/sudoers.d" /etc/sudoers ||
205
+    echo "#includedir /etc/sudoers.d" >> /etc/sudoers
206
+( umask 226 && echo "stack ALL=(ALL) NOPASSWD:ALL" \
207
+    > /etc/sudoers.d/50_stack_sh )
208
+EOF
209
+fi
210
+
211
+# Run stack.sh
212
+cat > $vm_dir/uec/user-data<<EOF
190 213
 ./stack.sh
191 214
 EOF
192 215
 
... ...
@@ -1,3 +1,8 @@
1 1
 #!/bin/bash
2
+# Echo commands, exit on error
3
+set -o xtrace
4
+set -o errexit
2 5
 
3
-echo "$0 SUCCESS!"
6
+TOP_DIR=$(cd ../../.. && pwd)
7
+HEAD_IP=`cat $TOP_DIR/addresses | grep HEAD | cut -d "=" -f2`
8
+ssh stack@$HEAD_IP 'cd devstack && source openrc && cd exercises &&  ./euca.sh'
... ...
@@ -49,3 +49,6 @@ $RC
49 49
 EOF
50 50
 cd tools
51 51
 sudo ./build_uec.sh
52
+
53
+# Make the address of the instances available to test runners
54
+echo HEAD=`cat /var/lib/libvirt/dnsmasq/$BASE_NAME.leases | cut -d " " -f3` > $TOP_DIR/addresses
... ...
@@ -10,6 +10,13 @@ if [[ $EUID -ne 0 ]]; then
10 10
    exit 1
11 11
 fi
12 12
 
13
+# Make sure user has configured an ssh pubkey
14
+if [ ! -e /root/.ssh/id_rsa.pub ]; then
15
+   echo "Public key is missing.  This is used to ssh into your instances."
16
+   echo "Please run ssh-keygen before proceeding"
17
+   exit 1
18
+fi
19
+
13 20
 # This directory
14 21
 CUR_DIR=$(cd $(dirname "$0") && pwd)
15 22
 
... ...
@@ -49,10 +49,6 @@ grep -q "^#includedir.*/etc/sudoers.d" $STAGING_DIR/etc/sudoers ||
49 49
 cp $TOP_DIR/files/sudo/* $STAGING_DIR/etc/sudoers.d/
50 50
 sed -e "s,%USER%,$USER,g" -i $STAGING_DIR/etc/sudoers.d/*
51 51
 
52
-# and has sudo ability (in the future this should be limited to only what
53
-# stack requires)
54
-echo "stack ALL=(ALL) NOPASSWD: ALL" >> $STAGING_DIR/etc/sudoers
55
-
56 52
 # Gracefully cp only if source file/dir exists
57 53
 function cp_it {
58 54
     if [ -e $1 ] || [ -d $1 ]; then