Merge pull request #192 from cloudbuilders/jenkins

Jenkins
diff --git a/files/apts/nova b/files/apts/nova
index 9eefed7..77622a8 100644
--- a/files/apts/nova
+++ b/files/apts/nova
@@ -39,4 +39,5 @@
 
 # Stuff for diablo volumes
 iscsitarget
+iscsitarget-dkms
 lvm2
diff --git a/files/swift/proxy-server.conf b/files/swift/proxy-server.conf
index fe7e39b..2db6d32 100644
--- a/files/swift/proxy-server.conf
+++ b/files/swift/proxy-server.conf
@@ -16,6 +16,7 @@
 use = egg:swiftkeystone2#keystone2
 keystone_admin_token = %SERVICE_TOKEN%
 keystone_url = http://localhost:35357/v2.0
+keystone_admin_group = Member
 
 [filter:tempauth]
 use = egg:swift#tempauth
diff --git a/stack.sh b/stack.sh
index 78851b9..4461e40 100755
--- a/stack.sh
+++ b/stack.sh
@@ -159,6 +159,9 @@
 # Specify which services to launch.  These generally correspond to screen tabs
 ENABLED_SERVICES=${ENABLED_SERVICES:-g-api,g-reg,key,n-api,n-cpu,n-net,n-sch,n-vnc,horizon,mysql,rabbit}
 
+# Name of the lvm volume group to use/create for iscsi volumes
+VOLUME_GROUP=${VOLUME_GROUP:-nova-volumes}
+
 # Nova hypervisor configuration.  We default to libvirt whth  **kvm** but will
 # drop back to **qemu** if we are unable to load the kvm module.  Stack.sh can
 # also install an **LXC** based system.
@@ -368,7 +371,7 @@
 apt_get install `cat $FILES/apts/* | cut -d\# -f1 | grep -Ev "mysql-server|rabbitmq-server|memcached"`
 
 # install python requirements
-sudo PIP_DOWNLOAD_CACHE=/var/cache/pip pip install `cat $FILES/pips/*`
+sudo PIP_DOWNLOAD_CACHE=/var/cache/pip pip install --use-mirrors `cat $FILES/pips/*`
 
 # git clone only if directory doesn't exist already.  Since ``DEST`` might not
 # be owned by the installation user, we create the directory and change the
@@ -394,7 +397,7 @@
         # remove the existing ignored files (like pyc) as they cause breakage
         # (due to the py files having older timestamps than our pyc, so python
         # thinks the pyc files are correct using them)
-        sudo git clean -f -d
+        find $GIT_DEST -name '*.pyc' -delete
         git checkout -f origin/$GIT_BRANCH
         # a local branch might not exist
         git branch -D $GIT_BRANCH || true
@@ -691,7 +694,7 @@
 
    # swift-init has a bug using /etc/swift until bug #885595 is fixed
    # we have to create a link
-   sudo ln -s ${SWIFT_CONFIG_LOCATION} /etc/swift
+   sudo ln -sf ${SWIFT_CONFIG_LOCATION} /etc/swift
 
    # Swift use rsync to syncronize between all the different
    # partitions (which make more sense when you have a multi-node
@@ -704,6 +707,11 @@
    # configured keystone it will checkout the directory.
    if [[ "$ENABLED_SERVICES" =~ "key" ]]; then
        swift_auth_server=keystone
+
+       # We install the memcache server as this is will be used by the
+       # middleware to cache the tokens auths for a long this is needed.
+       apt_get install memcached
+
        # We need a special version of bin/swift which understand the
        # OpenStack api 2.0, we download it until this is getting
        # integrated in swift.
@@ -778,12 +786,12 @@
     #
     # By default, the backing file is 2G in size, and is stored in /opt/stack.
     #
-    if ! sudo vgdisplay | grep -q nova-volumes; then
+    if ! sudo vgdisplay | grep -q $VOLUME_GROUP; then
         VOLUME_BACKING_FILE=${VOLUME_BACKING_FILE:-$DEST/nova-volumes-backing-file}
         VOLUME_BACKING_FILE_SIZE=${VOLUME_BACKING_FILE_SIZE:-2052M}
         truncate -s $VOLUME_BACKING_FILE_SIZE $VOLUME_BACKING_FILE
         DEV=`sudo losetup -f --show $VOLUME_BACKING_FILE`
-        sudo vgcreate nova-volumes $DEV
+        sudo vgcreate $VOLUME_GROUP $DEV
     fi
 
     # Configure iscsitarget
@@ -812,6 +820,9 @@
 else
     add_nova_flag "--network_manager=nova.network.manager.$NET_MAN"
 fi
+if [[ "$ENABLED_SERVICES" =~ "n-vol" ]]; then
+    add_nova_flag "--volume_group=$VOLUME_GROUP"
+fi
 add_nova_flag "--my_ip=$HOST_IP"
 add_nova_flag "--public_interface=$PUBLIC_INTERFACE"
 add_nova_flag "--vlan_interface=$VLAN_INTERFACE"
diff --git a/stackrc b/stackrc
index b541711..a50835a 100644
--- a/stackrc
+++ b/stackrc
@@ -1,6 +1,6 @@
 # compute service
-NOVA_REPO=https://github.com/cloudbuilders/nova.git
-NOVA_BRANCH=diablo
+NOVA_REPO=https://github.com/openstack/nova.git
+NOVA_BRANCH=stable/diablo
 
 # storage service
 SWIFT_REPO=https://github.com/openstack/swift.git
@@ -11,12 +11,12 @@
 SWIFT_KEYSTONE_BRANCH=master
 
 # image catalog service
-GLANCE_REPO=https://github.com/cloudbuilders/glance.git
-GLANCE_BRANCH=diablo
+GLANCE_REPO=https://github.com/openstack/glance.git
+GLANCE_BRANCH=stable/diablo
 
 # unified auth system (manages accounts/tokens)
-KEYSTONE_REPO=https://github.com/cloudbuilders/keystone.git
-KEYSTONE_BRANCH=diablo
+KEYSTONE_REPO=https://github.com/openstack/keystone.git
+KEYSTONE_BRANCH=stable/diablo
 
 # a websockets/html5 or flash powered VNC console for vm instances
 NOVNC_REPO=https://github.com/cloudbuilders/noVNC.git
diff --git a/tools/build_pxe_boot.sh b/tools/build_pxe_env.sh
similarity index 93%
rename from tools/build_pxe_boot.sh
rename to tools/build_pxe_env.sh
index ab64098..1ab51f8 100755
--- a/tools/build_pxe_boot.sh
+++ b/tools/build_pxe_env.sh
@@ -1,11 +1,14 @@
 #!/bin/bash -e
-# build_pxe_boot.sh - Create a PXE boot environment
+# build_pxe_env.sh - Create a PXE boot environment
 #
-# build_pxe_boot.sh destdir
+# build_pxe_env.sh destdir
 #
-# Assumes syslinux is installed
+# Requires Ubuntu Oneiric
+#
 # Only needs to run as root if the destdir permissions require it
 
+dpkg -l syslinux || apt-get install -y syslinux
+
 DEST_DIR=${1:-/tmp}/tftpboot
 PXEDIR=${PXEDIR:-/var/cache/devstack/pxe}
 OPWD=`pwd`
diff --git a/tools/build_uec.sh b/tools/build_uec.sh
index 3eafe5e..39c0d17 100755
--- a/tools/build_uec.sh
+++ b/tools/build_uec.sh
@@ -33,8 +33,8 @@
 fi
 
 # Install deps if needed
-DEPS="kvm libvirt-bin kpartx cloud-utils"
-dpkg -l $DEPS || apt-get install -y --force-yes $DEPS
+DEPS="kvm libvirt-bin kpartx cloud-utils curl"
+apt-get install -y --force-yes $DEPS
 
 # Where to store files and instances
 WORK_DIR=${WORK_DIR:-/opt/kvmstack}