Browse code

Multiple vpx for xen, post splitting of script

Ensure building, installing multiple nova vms works after we
split the build script as build nova vm, install nova vm.

Change-Id: Iadb6e181caec511325a30727bf9e9c79e8afea5a

Renuka Apte authored on 2012/01/27 04:58:56
Showing 4 changed files
... ...
@@ -182,7 +182,7 @@ fi
182 182
 if [ -z $PUB_BR ]; then
183 183
     PUB_BR=$(xe network-list --minimal uuid=$PUB_NET params=bridge)
184 184
 fi
185
-$TOP_DIR/scripts/install-os-vpx.sh -f $XVA -v $VM_BR -m $MGT_BR -p $PUB_BR
185
+$TOP_DIR/scripts/install-os-vpx.sh -f $XVA -v $VM_BR -m $MGT_BR -p $PUB_BR -l $GUEST_NAME -w
186 186
 
187 187
 # If we have copied our ssh credentials, use ssh to monitor while the installation runs
188 188
 WAIT_TILL_LAUNCH=${WAIT_TILL_LAUNCH:-1}
... ...
@@ -17,19 +17,19 @@ FLOATING_RANGE=${FLOATING_RANGE:-192.168.1.196/30}
17 17
 COMMON_VARS="$STACKSH_PARAMS MYSQL_HOST=$HEAD_MGT_IP RABBIT_HOST=$HEAD_MGT_IP GLANCE_HOSTPORT=$HEAD_MGT_IP:9292 FLOATING_RANGE=$FLOATING_RANGE"
18 18
 
19 19
 # Helper to launch containers
20
-function build_domU {
21
-    GUEST_NAME=$1 PUB_IP=$2 MGT_IP=$3 DO_SHUTDOWN=$4 TERMINATE=$TERMINATE STACKSH_PARAMS="$COMMON_VARS $5" ./build_domU.sh
20
+function build_xva {
21
+    GUEST_NAME=$1 PUB_IP=$2 MGT_IP=$3 DO_SHUTDOWN=$4 TERMINATE=$TERMINATE STACKSH_PARAMS="$COMMON_VARS $5" ./build_xva.sh
22 22
 }
23 23
 
24 24
 # Launch the head node - headnode uses a non-ip domain name,
25 25
 # because rabbit won't launch with an ip addr hostname :(
26
-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
+build_xva HEADNODE $HEAD_PUB_IP $HEAD_MGT_IP 1 "ENABLED_SERVICES=g-api,g-reg,key,n-api,n-sch,n-vnc,horizon,mysql,rabbit"
27 27
 
28 28
 # Wait till the head node is up
29
-while ! curl -L http://$HEAD_PUB_IP | grep -q username; do
30
-    echo "Waiting for head node ($HEAD_PUB_IP) to start..."
31
-    sleep 5
32
-done
29
+#while ! curl -L http://$HEAD_PUB_IP | grep -q username; do
30
+#    echo "Waiting for head node ($HEAD_PUB_IP) to start..."
31
+#    sleep 5
32
+#done
33 33
 
34 34
 # Build the HA compute host
35
-build_domU $COMPUTE_PUB_IP $COMPUTE_PUB_IP $COMPUTE_MGT_IP 0 "ENABLED_SERVICES=n-cpu,n-net,n-api"
35
+build_xva COMPUTENODE $COMPUTE_PUB_IP $COMPUTE_MGT_IP 0 "ENABLED_SERVICES=n-cpu,n-net,n-api"
36 36
new file mode 100755
... ...
@@ -0,0 +1,40 @@
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 install_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
+install_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
+if [ $HEAD_PUB_IP == "dhcp" ]
28
+then
29
+    guestnet=$(xe vm-list --minimal name-label=HEADNODE params=networks)
30
+    HEAD_PUB_IP=$(echo $guestnet | grep -w -o --only-matching "3/ip: [0-9,.]*;" | cut -d ':' -f2 | cut -d ';' -f 1)
31
+fi
32
+# Wait till the head node is up
33
+while ! curl -L http://$HEAD_PUB_IP | grep -q username; do
34
+    echo "Waiting for head node ($HEAD_PUB_IP) to start..."
35
+    sleep 5
36
+done
37
+
38
+# Build the HA compute host
39
+install_domU COMPUTENODE $COMPUTE_PUB_IP $COMPUTE_MGT_IP 0 "ENABLED_SERVICES=n-cpu,n-net,n-api"
... ...
@@ -38,7 +38,7 @@ usage()
38 38
 cat << EOF
39 39
 
40 40
   Usage: $0 [-f FILE_PATH] [-d DISK_SIZE] [-v BRIDGE_NAME] [-m BRIDGE_NAME] [-p BRIDGE_NAME]
41
-            [-k PARAMS] [-r RAM] [-i|-c] [-w] [-b]
41
+            [-k PARAMS] [-r RAM] [-i|-c] [-w] [-b] [-l NAME_LABEL]
42 42
 
43 43
   Installs XenServer OpenStack VPX.
44 44
 
... ...
@@ -60,6 +60,7 @@ cat << EOF
60 60
      -k params    Specifies kernel parameters.
61 61
      -r MiB       Specifies RAM used by the VPX, in MiB.
62 62
                   By default it will take the value from the XVA.
63
+     -l name      Specifies the name label for the VM.
63 64
 
64 65
   EXAMPLES:
65 66
 
... ...
@@ -87,7 +88,7 @@ EOF
87 87
 
88 88
 get_params()
89 89
 {
90
-  while getopts "hicwbf:d:v:m:p:k:r:" OPTION; 
90
+  while getopts "hicwbf:d:v:m:p:k:r:l:" OPTION; 
91 91
   do
92 92
     case $OPTION in
93 93
       h) usage
... ...
@@ -126,6 +127,9 @@ get_params()
126 126
       v)
127 127
          BRIDGE_V=$OPTARG
128 128
          ;;
129
+     l)
130
+         NAME_LABEL=$OPTARG
131
+         ;;
129 132
       ?)
130 133
          usage
131 134
          exit
... ...
@@ -443,7 +447,7 @@ else
443 443
 
444 444
   renumber_system_disk "$vm_uuid"
445 445
 
446
-  nl=$(xe_min vm-list params=name-label uuid=$vm_uuid)
446
+  nl=${NAME_LABEL:-$(xe_min vm-list params=name-label uuid=$vm_uuid)}
447 447
   xe vm-param-set \
448 448
     "name-label=${nl/ import/}" \
449 449
     other-config:os-vpx=true \