Browse code

add script that demonstrates separation of head abd compute roles when using xen

Anthony Young authored on 2011/11/05 14:22:47
Showing 2 changed files
... ...
@@ -226,16 +226,21 @@ mkdir -p /boot/guest
226 226
 SR_UUID=`xe sr-list --minimal name-label="Local storage"`
227 227
 xe sr-param-set uuid=$SR_UUID other-config:i18n-key=local-storage
228 228
 
229
-# Uninstall previous runs
230
-xe vm-list --minimal name-label="$LABEL" | xargs ./scripts/uninstall-os-vpx.sh
231
-
232
-# Destroy any instances that were launched
233
-for uuid in `xe vm-list | grep -1 instance | grep uuid | sed "s/.*\: //g"`; do
234
-    echo "Shutting down nova instance $uuid"
235
-    xe vm-unpause uuid=$uuid || true
236
-    xe vm-shutdown uuid=$uuid
237
-    xe vm-destroy uuid=$uuid
238
-done
229
+
230
+# Shutdown previous runs
231
+DO_SHUTDOWN=${DO_SHUTDOWN:-1}
232
+if [ "$DO_SHUTDOWN" = "1" ]; then
233
+    # Uninstall previous runs
234
+    xe vm-list --minimal name-label="$LABEL" | xargs ./scripts/uninstall-os-vpx.sh
235
+
236
+    # Destroy any instances that were launched
237
+    for uuid in `xe vm-list | grep -1 instance | grep uuid | sed "s/.*\: //g"`; do
238
+        echo "Shutting down nova instance $uuid"
239
+        xe vm-unpause uuid=$uuid || true
240
+        xe vm-shutdown uuid=$uuid
241
+        xe vm-destroy uuid=$uuid
242
+    done
243
+fi
239 244
 
240 245
 # Path to head xva.  By default keep overwriting the same one to save space
241 246
 USE_SEPARATE_XVAS=${USE_SEPARATE_XVAS:-0}
242 247
new file mode 100755
... ...
@@ -0,0 +1,35 @@
0
+#!/usr/bin/env bash
1
+
2
+# Echo commands
3
+set -o xtrace
4
+
5
+# Head node host, which runs glance, api, keystone
6
+HEAD_PUB_IP=${HEAD_PUB_IP:-192.168.1.57}
7
+HEAD_MGT_IP=${HEAD_MGT_IP:-172.16.100.57}
8
+
9
+COMPUTE_PUB_IP=${COMPUTE_PUB_IP:-192.168.1.58}
10
+COMPUTE_MGT_IP=${COMPUTE_MGT_IP:-172.16.100.58}
11
+
12
+# Networking params
13
+FLOATING_RANGE=${FLOATING_RANGE:-192.168.1.196/30}
14
+
15
+# Variables common amongst all hosts in the cluster
16
+COMMON_VARS="$STACKSH_PARAMS MYSQL_HOST=$HEAD_MGT_IP RABBIT_HOST=$HEAD_MGT_IP GLANCE_HOSTPORT=$HEAD_MGT_IP:9292 FLOATING_RANGE=$FLOATING_RANGE"
17
+
18
+# Helper to launch containers
19
+function build_domU {
20
+    GUEST_NAME=$1 PUB_IP=$2 MGT_IP=$3 DO_SHUTDOWN=$4 TERMINATE=$TERMINATE STACKSH_PARAMS="$COMMON_VARS $5" ./build_domU.sh
21
+}
22
+
23
+# Launch the head node - headnode uses a non-ip domain name,
24
+# because rabbit won't launch with an ip addr hostname :(
25
+build_domU HEADNODE $HEAD_PUB_IP $HEAD_MGT_IP 1 "ENABLED_SERVICES=g-api,g-reg,key,n-api,n-sch,n-vnc,horizon,mysql,rabbit"
26
+
27
+# Wait till the head node is up
28
+while ! curl -L http://$HEAD_PUB_IP | grep -q username; do
29
+    echo "Waiting for head node ($HEAD_PUB_IP) to start..."
30
+    sleep 5
31
+done
32
+
33
+# Build the HA compute host
34
+build_domU $COMPUTE_PUB_IP $COMPUTE_PUB_IP $COMPUTE_MGT_IP 0 "ENABLED_SERVICES=n-cpu,n-net,n-api"