| ... | ... |
@@ -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" |