Update for variable dist name
diff --git a/tools/build_ramdisk.sh b/tools/build_ramdisk.sh
index 43f8999..e57aa03 100755
--- a/tools/build_ramdisk.sh
+++ b/tools/build_ramdisk.sh
@@ -1,25 +1,42 @@
#!/bin/bash
# build_ramdisk.sh - Build RAM disk images
+# exit on error to stop unexpected errors
+set -o errexit
+
if [ ! "$#" -eq "1" ]; then
- echo "$0 builds a gziped natty openstack install"
+ echo "$0 builds a gziped Ubuntu OpenStack install"
echo "usage: $0 dest"
exit 1
fi
+# Echo commands
+set -o xtrace
+
IMG_FILE=$1
-PROGDIR=`dirname $0`
-CHROOTCACHE=${CHROOTCACHE:-/var/cache/devstack}
-
-# Source params
-source ./stackrc
+# Keep track of the current directory
+TOOLS_DIR=$(cd $(dirname "$0") && pwd)
+TOP_DIR=`cd $TOOLS_DIR/..; pwd`
# Store cwd
CWD=`pwd`
+cd $TOP_DIR
+
+# Source params
+source ./stackrc
+
+CACHEDIR=${CACHEDIR:-/var/cache/devstack}
+
DEST=${DEST:-/opt/stack}
+# Configure the root password of the vm to be the same as ``ADMIN_PASSWORD``
+ROOT_PASSWORD=${ADMIN_PASSWORD:-password}
+
+# Base image (natty by default)
+DIST_NAME=${DIST_NAME:-natty}
+
# Param string to pass to stack.sh. Like "EC2_DMZ_HOST=192.168.1.1 MYSQL_USER=nova"
STACKSH_PARAMS=${STACKSH_PARAMS:-}
@@ -31,21 +48,21 @@
NBD=${NBD:-/dev/nbd9}
NBD_DEV=`basename $NBD`
-# clean install of natty
-if [ ! -r $CHROOTCACHE/natty-base.img ]; then
- $PROGDIR/get_uec_image.sh natty $CHROOTCACHE/natty-base.img
+# clean install
+if [ ! -r $CACHEDIR/$DIST_NAME-base.img ]; then
+ $TOOLS_DIR/get_uec_image.sh $DIST_NAME $CACHEDIR/$DIST_NAME-base.img
# # copy kernel modules...
# # NOTE(ja): is there a better way to do this?
-# cp -pr /lib/modules/`uname -r` $CHROOTCACHE/natty-base/lib/modules
+# cp -pr /lib/modules/`uname -r` $CACHEDIR/$DIST_NAME-base/lib/modules
# # a simple password - pass
-# echo root:pass | chroot $CHROOTCACHE/natty-base chpasswd
+# echo root:pass | chroot $CACHEDIR/$DIST_NAME-base chpasswd
fi
-# prime natty with as many apt/pips as we can
-if [ ! -r $CHROOTCACHE/natty-dev.img ]; then
- cp -p $CHROOTCACHE/natty-base.img $CHROOTCACHE/natty-dev.img
+# prime image with as many apt/pips as we can
+if [ ! -r $CACHEDIR/$DIST_NAME-dev.img ]; then
+ cp -p $CACHEDIR/$DIST_NAME-base.img $CACHEDIR/$DIST_NAME-dev.img
- qemu-nbd -c $NBD $CHROOTCACHE/natty-dev.img
+ qemu-nbd -c $NBD $CACHEDIR/$DIST_NAME-dev.img
if ! timeout 60 sh -c "while ! [ -e /sys/block/$NBD_DEV/pid ]; do sleep 1; done"; then
echo "Couldn't connect $NBD"
exit 1
@@ -65,7 +82,7 @@
chroot $MNTDIR chown stack $DEST
# a simple password - pass
- echo stack:pass | chroot $MNTDIR chpasswd
+ echo stack:$ROOT_PASSWORD | chroot $MNTDIR chpasswd
# and has sudo ability (in the future this should be limited to only what
# stack requires)
@@ -80,7 +97,7 @@
# ======================================
if [ ! -r $IMG_FILE ]; then
- qemu-nbd -c $NBD $CHROOTCACHE/natty-dev.img
+ qemu-nbd -c $NBD $CACHEDIR/$DIST_NAME-dev.img
if ! timeout 60 sh -c "while ! [ -e ${NBD}p1 ]; do sleep 1; done"; then
echo "Couldn't connect $NBD"
exit 1