Browse code

allow role configuration for multi-host lxc

Anthony Young authored on 2011/09/14 12:21:42
Showing 2 changed files
... ...
@@ -9,6 +9,9 @@ CONTAINER_GATEWAY=${CONTAINER_GATEWAY:-192.168.1.1}
9 9
 NAMESERVER=${NAMESERVER:-192.168.1.1}
10 10
 COPYENV=${COPYENV:-1}
11 11
 
12
+# Param string to pass to stack.sh.  Like "EC2_DMZ_HOST=192.168.1.1 MYSQL_USER=nova"
13
+STACKSH_PARAMS=${STACKSH_PARAMS:-}
14
+
12 15
 # Create lxc configuration
13 16
 LXC_CONF=/tmp/$CONTAINER.conf
14 17
 cat > $LXC_CONF <<EOF
... ...
@@ -82,12 +85,10 @@ iface eth0 inet static
82 82
         gateway $CONTAINER_GATEWAY
83 83
 EOF
84 84
 
85
-# Configure the first run installer
85
+# Configure the runner
86 86
 INSTALL_SH=$ROOTFS/root/install.sh
87 87
 cat > $INSTALL_SH <<EOF
88 88
 #!/bin/bash
89
-# Disable startup script
90
-echo \#\!/bin/sh -e > /etc/rc.local
91 89
 # Make sure dns is set up
92 90
 echo "nameserver $NAMESERVER" | resolvconf -a eth0
93 91
 sleep 1
... ...
@@ -95,8 +96,10 @@ sleep 1
95 95
 # Install and run stack.sh
96 96
 apt-get update
97 97
 apt-get -y --force-yes install git-core vim-nox sudo
98
-su -c "git clone git://github.com/cloudbuilders/nfs-stack.git ~/nfs-stack" stack
99
-su -c "cd ~/nfs-stack && ./stack.sh" stack
98
+if [ ! -d "~/nfs-stack" ]
99
+    su -c "git clone git://github.com/cloudbuilders/nfs-stack.git ~/nfs-stack" stack
100
+fi
101
+su -c "cd ~/nfs-stack && $STACKSH_PARAMS ./stack.sh" stack
100 102
 EOF
101 103
 
102 104
 # Make the install.sh executable
... ...
@@ -60,8 +60,8 @@ EC2_DMZ_HOST=${EC2_DMZ_HOST:-$HOST_IP}
60 60
 LIBVIRT_TYPE=${LIBVIRT_TYPE:-qemu}
61 61
 
62 62
 # Mysql connection info
63
-MYSQL_PASS=${MYSQL_PASS:-nova}
64 63
 MYSQL_USER=${MYSQL_USER:-root}
64
+MYSQL_PASS=${MYSQL_PASS:-nova}
65 65
 MYSQL_HOST=${MYSQL_HOST:-localhost}
66 66
 # don't specify /db in this string, so we can use it for multiple services
67 67
 BASE_SQL_CONN=${BASE_SQL_CONN:-mysql://$MYSQL_USER:$MYSQL_PASS@$MYSQL_HOST}