Browse code

update build lxc/kvm variables to GUEST instead of CONTAINER

Jesse Andrews authored on 2011/10/23 12:56:23
Showing 3 changed files
... ...
@@ -46,19 +46,19 @@ DIST_NAME=${DIST_NAME:-natty}
46 46
 IMAGE_FNAME=$DIST_NAME.raw
47 47
 
48 48
 # Name of our instance, used by libvirt
49
-CONTAINER_NAME=${CONTAINER_NAME:-kvmstack}
49
+GUEST_NAME=${GUEST_NAME:-kvmstack}
50 50
 
51 51
 # Original version of built image
52 52
 BASE_IMAGE=$KVMSTACK_DIR/images/$DIST_NAME.raw
53 53
 
54 54
 # Copy of base image, which we pre-install with tasty treats
55
-VM_IMAGE=$IMAGES_DIR/$DIST_NAME.$CONTAINER_NAME.raw
55
+VM_IMAGE=$IMAGES_DIR/$DIST_NAME.$GUEST_NAME.raw
56 56
 
57 57
 # Mop up after previous runs
58
-virsh destroy $CONTAINER_NAME
58
+virsh destroy $GUEST_NAME
59 59
 
60 60
 # Where this vm is stored
61
-VM_DIR=$KVMSTACK_DIR/instances/$CONTAINER_NAME
61
+VM_DIR=$KVMSTACK_DIR/instances/$GUEST_NAME
62 62
 
63 63
 # Create vm dir
64 64
 mkdir -p $VM_DIR
... ...
@@ -156,21 +156,20 @@ cd $TOP_DIR
156 156
 
157 157
 # Network configuration variables
158 158
 BRIDGE=${BRIDGE:-br0}
159
-CONTAINER=${CONTAINER:-STACK}
160
-CONTAINER_IP=${CONTAINER_IP:-192.168.1.50}
161
-CONTAINER_CIDR=${CONTAINER_CIDR:-$CONTAINER_IP/24}
162
-CONTAINER_NETMASK=${CONTAINER_NETMASK:-255.255.255.0}
163
-CONTAINER_GATEWAY=${CONTAINER_GATEWAY:-192.168.1.1}
164
-CONTAINER_MAC=${CONTAINER_MAC:-"02:16:3e:07:69:`printf '%02X' $(echo $CONTAINER_IP | sed "s/.*\.//")`"}
165
-CONTAINER_RAM=${CONTAINER_RAM:-1524288}
166
-CONTAINER_CORES=${CONTAINER_CORES:-1}
159
+GUEST_IP=${GUEST_IP:-192.168.1.50}
160
+GUEST_CIDR=${GUEST_CIDR:-$GUEST_IP/24}
161
+GUEST_NETMASK=${GUEST_NETMASK:-255.255.255.0}
162
+GUEST_GATEWAY=${GUEST_GATEWAY:-192.168.1.1}
163
+GUEST_MAC=${GUEST_MAC:-"02:16:3e:07:69:`printf '%02X' $(echo $GUEST_IP | sed "s/.*\.//")`"}
164
+GUEST_RAM=${GUEST_RAM:-1524288}
165
+GUEST_CORES=${GUEST_CORES:-1}
167 166
 
168 167
 # libvirt.xml configuration
169 168
 LIBVIRT_XML=$VM_DIR/libvirt.xml
170 169
 cat > $LIBVIRT_XML <<EOF
171 170
 <domain type='kvm'>
172
-    <name>$CONTAINER_NAME</name>
173
-    <memory>$CONTAINER_RAM</memory>
171
+    <name>$GUEST_NAME</name>
172
+    <memory>$GUEST_RAM</memory>
174 173
     <os>
175 174
         <type>hvm</type>
176 175
         <bootmenu enable='yes'/>
... ...
@@ -178,7 +177,7 @@ cat > $LIBVIRT_XML <<EOF
178 178
     <features>
179 179
         <acpi/>
180 180
     </features>
181
-    <vcpu>$CONTAINER_CORES</vcpu>
181
+    <vcpu>$GUEST_CORES</vcpu>
182 182
     <devices>
183 183
         <disk type='file'>
184 184
             <driver type='qcow2'/>
... ...
@@ -188,7 +187,7 @@ cat > $LIBVIRT_XML <<EOF
188 188
 
189 189
         <interface type='bridge'>
190 190
             <source bridge='$BRIDGE'/>
191
-            <mac address='$CONTAINER_MAC'/>
191
+            <mac address='$GUEST_MAC'/>
192 192
         </interface>
193 193
 
194 194
         <!-- The order is significant here.  File must be defined first -->
... ...
@@ -250,9 +249,9 @@ iface lo inet loopback
250 250
 
251 251
 auto eth0
252 252
 iface eth0 inet static
253
-        address $CONTAINER_IP
254
-        netmask $CONTAINER_NETMASK
255
-        gateway $CONTAINER_GATEWAY
253
+        address $GUEST_IP
254
+        netmask $GUEST_NETMASK
255
+        gateway $GUEST_GATEWAY
256 256
 EOF
257 257
 
258 258
 # User configuration for the instance
... ...
@@ -27,11 +27,11 @@ CWD=`pwd`
27 27
 
28 28
 # Configurable params
29 29
 BRIDGE=${BRIDGE:-br0}
30
-CONTAINER_NAME=${CONTAINER_NAME:-STACK}
31
-CONTAINER_IP=${CONTAINER_IP:-192.168.1.50}
32
-CONTAINER_CIDR=${CONTAINER_CIDR:-$CONTAINER_IP/24}
33
-CONTAINER_NETMASK=${CONTAINER_NETMASK:-255.255.255.0}
34
-CONTAINER_GATEWAY=${CONTAINER_GATEWAY:-192.168.1.1}
30
+GUEST_NAME=${GUEST_NAME:-STACK}
31
+GUEST_IP=${GUEST_IP:-192.168.1.50}
32
+GUEST_CIDR=${GUEST_CIDR:-$GUEST_IP/24}
33
+GUEST_NETMASK=${GUEST_NETMASK:-255.255.255.0}
34
+GUEST_GATEWAY=${GUEST_GATEWAY:-192.168.1.1}
35 35
 NAMESERVER=${NAMESERVER:-`cat /etc/resolv.conf | grep nameserver | head -1 | cut -d " " -f2`}
36 36
 COPYENV=${COPYENV:-1}
37 37
 DEST=${DEST:-/opt/stack}
... ...
@@ -60,22 +60,22 @@ if ! which cgdelete | grep -q cgdelete; then
60 60
 fi
61 61
 
62 62
 # Create lxc configuration
63
-LXC_CONF=/tmp/$CONTAINER_NAME.conf
63
+LXC_CONF=/tmp/$GUEST_NAME.conf
64 64
 cat > $LXC_CONF <<EOF
65 65
 lxc.network.type = veth
66 66
 lxc.network.link = $BRIDGE
67 67
 lxc.network.flags = up
68
-lxc.network.ipv4 = $CONTAINER_CIDR
68
+lxc.network.ipv4 = $GUEST_CIDR
69 69
 # allow tap/tun devices
70 70
 lxc.cgroup.devices.allow = c 10:200 rwm
71 71
 EOF
72 72
 
73 73
 # Shutdown any existing container
74
-lxc-stop -n $CONTAINER_NAME
74
+lxc-stop -n $GUEST_NAME
75 75
 
76 76
 # This kills zombie containers
77
-if [ -d /cgroup/$CONTAINER_NAME ]; then
78
-    cgdelete -r cpu,net_cls:$CONTAINER_NAME
77
+if [ -d /cgroup/$GUEST_NAME ]; then
78
+    cgdelete -r cpu,net_cls:$GUEST_NAME
79 79
 fi
80 80
 
81 81
 # git clone only if directory doesn't exist already.  Since ``DEST`` might not
... ...
@@ -95,9 +95,9 @@ function git_clone {
95 95
 # Helper to create the container
96 96
 function create_lxc {
97 97
     if [ "natty" = "$UBUNTU_VERSION" ]; then
98
-        lxc-create -n $CONTAINER_NAME -t natty -f $LXC_CONF
98
+        lxc-create -n $GUEST_NAME -t natty -f $LXC_CONF
99 99
     else
100
-        lxc-create -n $CONTAINER_NAME -t ubuntu -f $LXC_CONF
100
+        lxc-create -n $GUEST_NAME -t ubuntu -f $LXC_CONF
101 101
     fi
102 102
 }
103 103
 
... ...
@@ -117,7 +117,7 @@ fi
117 117
 if [ ! -f $CACHEDIR/bootstrapped ]; then
118 118
     # by deleting the container, we force lxc-create to re-bootstrap (lxc is
119 119
     # lazy and doesn't do anything if a container already exists)
120
-    lxc-destroy -n $CONTAINER_NAME
120
+    lxc-destroy -n $GUEST_NAME
121 121
     # trigger the initial debootstrap
122 122
     create_lxc
123 123
     touch $CACHEDIR/bootstrapped
... ...
@@ -153,7 +153,7 @@ if [ "$USE_CURRENT_DEVSTACK" = "1" ]; then
153 153
 fi
154 154
 
155 155
 # Destroy the old container
156
-lxc-destroy -n $CONTAINER_NAME
156
+lxc-destroy -n $GUEST_NAME
157 157
 
158 158
 # If this call is to TERMINATE the container then exit
159 159
 if [ "$TERMINATE" = "1" ]; then
... ...
@@ -164,7 +164,7 @@ fi
164 164
 create_lxc
165 165
 
166 166
 # Specify where our container rootfs lives
167
-ROOTFS=/var/lib/lxc/$CONTAINER_NAME/rootfs/
167
+ROOTFS=/var/lib/lxc/$GUEST_NAME/rootfs/
168 168
 
169 169
 # Create a stack user that is a member of the libvirtd group so that stack
170 170
 # is able to interact with libvirt.
... ...
@@ -214,9 +214,9 @@ iface lo inet loopback
214 214
 
215 215
 auto eth0
216 216
 iface eth0 inet static
217
-        address $CONTAINER_IP
218
-        netmask $CONTAINER_NETMASK
219
-        gateway $CONTAINER_GATEWAY
217
+        address $GUEST_IP
218
+        netmask $GUEST_NETMASK
219
+        gateway $GUEST_GATEWAY
220 220
 EOF
221 221
 
222 222
 # Configure the runner
... ...
@@ -227,7 +227,7 @@ cat > $RUN_SH <<EOF
227 227
 echo "nameserver $NAMESERVER" | sudo resolvconf -a eth0
228 228
 # Make there is a default route - needed for natty
229 229
 if ! route | grep -q default; then
230
-    sudo ip route add default via $CONTAINER_GATEWAY
230
+    sudo ip route add default via $GUEST_GATEWAY
231 231
 fi
232 232
 sleep 1
233 233
 
... ...
@@ -265,7 +265,7 @@ if ! mount | grep -q cgroup; then
265 265
 fi
266 266
 
267 267
 # Start our container
268
-lxc-start -d -n $CONTAINER_NAME
268
+lxc-start -d -n $GUEST_NAME
269 269
 
270 270
 if [ "$WAIT_TILL_LAUNCH" = "1" ]; then
271 271
     # Done creating the container, let's tail the log
... ...
@@ -18,7 +18,7 @@ COMMON_VARS="MYSQL_HOST=$HEAD_HOST RABBIT_HOST=$HEAD_HOST GLANCE_HOSTPORT=$HEAD_
18 18
 # Helper to launch containers
19 19
 function run_lxc {
20 20
     # For some reason container names with periods can cause issues :/
21
-    CONTAINER_NAME=$1 CONTAINER_IP=$2 CONTAINER_NETMASK=$NETMASK CONTAINER_GATEWAY=$GATEWAY NAMESERVER=$NAMESERVER TERMINATE=$TERMINATE STACKSH_PARAMS="$COMMON_VARS $3" ./build_lxc.sh
21
+    GUEST_NAME=$1 GUEST_IP=$2 GUEST_NETMASK=$NETMASK GUEST_GATEWAY=$GATEWAY NAMESERVER=$NAMESERVER TERMINATE=$TERMINATE STACKSH_PARAMS="$COMMON_VARS $3" ./build_lxc.sh
22 22
 }
23 23
 
24 24
 # Launch the head node - headnode uses a non-ip domain name,