From 79799796f7489605ba9935091a116d150abf1709 Mon Sep 17 00:00:00 2001 From: Anthony Young Date: Mon, 19 Sep 2011 13:51:00 -0700 Subject: [PATCH 1/4] better check for kvm support --- stack.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stack.sh b/stack.sh index 0ddf4db..5e1a3cc 100755 --- a/stack.sh +++ b/stack.sh @@ -291,7 +291,7 @@ if [[ "$ENABLED_SERVICES" =~ "n-cpu" ]]; then # qcow images) and kvm (hardware based virtualization). If unable to # load kvm, set the libvirt type to qemu. sudo modprobe nbd || true - if ! sudo modprobe kvm; then + if ! -e /dev/kvm; then LIBVIRT_TYPE=qemu fi # User needs to be member of libvirtd group for nova-compute to use libvirt. From 18ebd8695e6bef8259ae943284365f133b49ae63 Mon Sep 17 00:00:00 2001 From: Jesse Andrews Date: Mon, 19 Sep 2011 14:23:42 -0700 Subject: [PATCH 2/4] destroy the container before creating to force re-bootstrap --- build_lxc.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/build_lxc.sh b/build_lxc.sh index 787c4bd..c1ddd95 100755 --- a/build_lxc.sh +++ b/build_lxc.sh @@ -1,4 +1,5 @@ #!/usr/bin/env bash + # Configurable params BRIDGE=${BRIDGE:-br0} CONTAINER=${CONTAINER:-STACK} @@ -49,9 +50,13 @@ if [ -d /cgroup/$CONTAINER ]; then cgdelete -r cpu,net_cls:$CONTAINER fi + # Warm the base image on first install CACHEDIR=/var/cache/lxc/natty/rootfs-amd64 if [ ! -d $CACHEDIR ]; then + # by deleting the container, we force lxc-create to re-bootstrap (lxc is + # lazy and doesn't do anything if a container already exists) + lxc-destroy -n $CONTAINER # trigger the initial debootstrap lxc-create -n $CONTAINER -t natty -f $LXC_CONF chroot $CACHEDIR apt-get update From 85f7b4d85456727caf8896e7e78a8f0cebbd488c Mon Sep 17 00:00:00 2001 From: Jesse Andrews Date: Mon, 19 Sep 2011 14:25:08 -0700 Subject: [PATCH 3/4] we don't use these monitoring services --- files/dash_settings.py | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/files/dash_settings.py b/files/dash_settings.py index d467da8..6472f82 100644 --- a/files/dash_settings.py +++ b/files/dash_settings.py @@ -61,14 +61,8 @@ QUANTUM_PORT = '9696' QUANTUM_TENANT = '1234' QUANTUM_CLIENT_VERSION='0.1' -# If you have external monitoring links -EXTERNAL_MONITORING = [ - ['Nagios','http://foo.com'], - ['Ganglia','http://bar.com'], -] - -# If you do not have external monitoring links -# EXTERNAL_MONITORING = [] +# We use nixon to embed instead of external monitoring links +EXTERNAL_MONITORING = [] # Uncomment the following segment to silence most logging # django.db and boto DEBUG logging is extremely verbose. From d000b22d16b6b56cbcce510c229fe61b051e9ec3 Mon Sep 17 00:00:00 2001 From: Anthony Young Date: Mon, 19 Sep 2011 14:46:53 -0700 Subject: [PATCH 4/4] add checks to make sure that services are started --- stack.sh | 31 +++++++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/stack.sh b/stack.sh index 44665c4..28aa4b7 100755 --- a/stack.sh +++ b/stack.sh @@ -408,10 +408,33 @@ function screen_it { screen -d -m -S nova -t nova sleep 1 -screen_it g-api "cd $GLANCE_DIR; bin/glance-api --config-file=etc/glance-api.conf" -screen_it g-reg "cd $GLANCE_DIR; bin/glance-registry --config-file=etc/glance-registry.conf" -screen_it key "$KEYSTONE_DIR/bin/keystone --config-file $KEYSTONE_CONF" -screen_it n-api "$NOVA_DIR/bin/nova-api" +if [[ "$ENABLED_SERVICES" =~ "g-reg" ]]; then + screen_it g-reg "cd $GLANCE_DIR; bin/glance-registry --config-file=etc/glance-registry.conf" +fi + +if [[ "$ENABLED_SERVICES" =~ "g-api" ]]; then + screen_it g-api "cd $GLANCE_DIR; bin/glance-api --config-file=etc/glance-api.conf" + while ! wget -q -O- http://$GLANCE_HOSTPORT; do + echo "Waiting for g-api ($GLANCE_HOSTPORT) to start..." + sleep 1 + done +fi + +if [[ "$ENABLED_SERVICES" =~ "key" ]]; then + screen_it key "$KEYSTONE_DIR/bin/keystone --config-file $KEYSTONE_CONF" + while ! wget -q -O- http://127.0.0.1:5000; do + echo "Waiting for keystone to start..." + sleep 1 + done +fi + +if [[ "$ENABLED_SERVICES" =~ "n-api" ]]; then + screen_it n-api "$NOVA_DIR/bin/nova-api" + while ! wget -q -O- http://127.0.0.1:8774; do + echo "Waiting for nova-api to start..." + sleep 1 + done +fi # Launching nova-compute should be as simple as running ``nova-compute`` but # have to do a little more than that in our script. Since we add the group # ``libvirtd`` to our user in this script, when nova-compute is run it is