Merge "Clean out old volumes from an existing VOLUME_GROUP if present"
diff --git a/files/apts/n-cpu b/files/apts/n-cpu
new file mode 100644
index 0000000..06c21a2
--- /dev/null
+++ b/files/apts/n-cpu
@@ -0,0 +1,4 @@
+# Stuff for diablo volumes
+lvm2
+open-iscsi
+open-iscsi-utils
diff --git a/files/apts/n-vol b/files/apts/n-vol
new file mode 100644
index 0000000..edaee2c
--- /dev/null
+++ b/files/apts/n-vol
@@ -0,0 +1,3 @@
+iscsitarget # NOPRIME
+iscsitarget-dkms # NOPRIME
+lvm2
diff --git a/files/apts/nova b/files/apts/nova
index f4fe459..2d88151 100644
--- a/files/apts/nova
+++ b/files/apts/nova
@@ -39,8 +39,3 @@
python-m2crypto
python-boto
python-kombu
-
-# Stuff for diablo volumes
-iscsitarget # NOPRIME
-iscsitarget-dkms # NOPRIME
-lvm2
diff --git a/files/screenrc b/files/screenrc
deleted file mode 100644
index e18db39..0000000
--- a/files/screenrc
+++ /dev/null
@@ -1,9 +0,0 @@
-hardstatus on
-hardstatus alwayslastline
-hardstatus string "%{.bW}%-w%{.rW}%n %t%{-}%+w %=%{..G}%H %{..Y}%d/%m %c"
-
-defscrollback 10240
-
-vbell off
-startup_message off
-
diff --git a/stack.sh b/stack.sh
index c1eb411..817dd92 100755
--- a/stack.sh
+++ b/stack.sh
@@ -570,10 +570,6 @@
cd $QUANTUM_DIR; sudo python setup.py develop
fi
-# Add a useful screenrc. This isn't required to run openstack but is we do
-# it since we are going to run the services in screen for simple
-cp $FILES/screenrc ~/.screenrc
-
# Syslog
# ---------
@@ -1141,6 +1137,8 @@
# create a new named screen to run processes in
screen -d -m -S stack -t stack
sleep 1
+# set a reasonable statusbar
+screen -r stack -X hardstatus alwayslastline "%-Lw%{= BW}%50>%n%f* %t%{-}%+Lw%< %= %H"
# launch the glance registry service
if [[ "$ENABLED_SERVICES" =~ "g-reg" ]]; then
@@ -1280,20 +1278,55 @@
for image_url in ${IMAGE_URLS//,/ }; do
# Downloads the image (uec ami+aki style), then extracts it.
IMAGE_FNAME=`basename "$image_url"`
- IMAGE_NAME=`basename "$IMAGE_FNAME" .tar.gz`
if [ ! -f $FILES/$IMAGE_FNAME ]; then
wget -c $image_url -O $FILES/$IMAGE_FNAME
fi
- # Extract ami and aki files
- tar -zxf $FILES/$IMAGE_FNAME -C $FILES/images
+ KERNEL=""
+ RAMDISK=""
+ case "$IMAGE_FNAME" in
+ *.tar.gz|*.tgz)
+ # Extract ami and aki files
+ [ "${IMAGE_FNAME%.tar.gz}" != "$IMAGE_FNAME" ] &&
+ IMAGE_NAME="${IMAGE_FNAME%.tar.gz}" ||
+ IMAGE_NAME="${IMAGE_FNAME%.tgz}"
+ xdir="$FILES/images/$IMAGE_NAME"
+ rm -Rf "$xdir";
+ mkdir "$xdir"
+ tar -zxf $FILES/$IMAGE_FNAME -C "$xdir"
+ KERNEL=$(for f in "$xdir/"*-vmlinuz*; do
+ [ -f "$f" ] && echo "$f" && break; done; true)
+ RAMDISK=$(for f in "$xdir/"*-initrd*; do
+ [ -f "$f" ] && echo "$f" && break; done; true)
+ IMAGE=$(for f in "$xdir/"*.img; do
+ [ -f "$f" ] && echo "$f" && break; done; true)
+ [ -n "$IMAGE_NAME" ]
+ IMAGE_NAME=$(basename "$IMAGE" ".img")
+ ;;
+ *.img)
+ IMAGE="$FILES/$IMAGE_FNAME";
+ IMAGE_NAME=$(basename "$IMAGE" ".img")
+ ;;
+ *.img.gz)
+ IMAGE="$FILES/${IMAGE_FNAME}"
+ IMAGE_NAME=$(basename "$IMAGE" ".img.gz")
+ ;;
+ *) echo "Do not know what to do with $IMAGE_FNAME"; false;;
+ esac
# Use glance client to add the kernel the root filesystem.
# We parse the results of the first upload to get the glance ID of the
# kernel for use when uploading the root filesystem.
- RVAL=`glance add -A $SERVICE_TOKEN name="$IMAGE_NAME-kernel" is_public=true container_format=aki disk_format=aki < $FILES/images/$IMAGE_NAME-vmlinuz*`
- KERNEL_ID=`echo $RVAL | cut -d":" -f2 | tr -d " "`
- glance add -A $SERVICE_TOKEN name="$IMAGE_NAME" is_public=true container_format=ami disk_format=ami kernel_id=$KERNEL_ID < $FILES/images/$IMAGE_NAME.img
+ KERNEL_ID=""; RAMDISK_ID="";
+ if [ -n "$KERNEL" ]; then
+ RVAL=`glance add -A $SERVICE_TOKEN name="$IMAGE_NAME-kernel" is_public=true container_format=aki disk_format=aki < "$KERNEL"`
+ KERNEL_ID=`echo $RVAL | cut -d":" -f2 | tr -d " "`
+ fi
+ if [ -n "$RAMDISK" ]; then
+ RVAL=`glance add -A $SERVICE_TOKEN name="$IMAGE_NAME-ramdisk" is_public=true container_format=ari disk_format=ari < "$RAMDISK"`
+ RAMDISK_ID=`echo $RVAL | cut -d":" -f2 | tr -d " "`
+ fi
+ glance add -A $SERVICE_TOKEN name="${IMAGE_NAME%.img}" is_public=true container_format=ami disk_format=ami ${KERNEL_ID:+kernel_id=$KERNEL_ID} ${RAMDISK_ID:+ramdisk_id=$RAMDISK_ID} < <(zcat --force "${IMAGE}")
done
fi
diff --git a/stackrc b/stackrc
index 524cc99..c420fc8 100644
--- a/stackrc
+++ b/stackrc
@@ -44,6 +44,18 @@
CITEST_BRANCH=master
# Specify a comma-separated list of uec images to download and install into glance.
+# supported urls here are:
+# * "uec-style" images:
+# If the file ends in .tar.gz, uncompress the tarball and and select the first
+# .img file inside it as the image. If present, use "*-vmlinuz*" as the kernel
+# and "*-initrd*" as the ramdisk
+# example: http://cloud-images.ubuntu.com/releases/oneiric/release/ubuntu-11.10-server-cloudimg-amd64.tar.gz
+# * disk image (*.img,*.img.gz)
+# if file ends in .img, then it will be uploaded and registered as a to
+# glance as a disk image. If it ends in .gz, it is uncompressed first.
+# example:
+# http://cloud-images.ubuntu.com/releases/oneiric/release/ubuntu-11.10-server-cloudimg-armel-disk1.img
+# http://launchpad.net/cirros/trunk/0.3.0/+download/cirros-0.3.0-x86_64-rootfs.img.gz
IMAGE_URLS=http://smoser.brickies.net/ubuntu/ttylinux-uec/ttylinux-uec-amd64-11.2_2.6.35-15_1.tar.gz
# allow local overrides of env variables