diff --git a/files/pips/openstack-integration-tests b/files/pips/openstack-integration-tests new file mode 100644 index 0000000..df7f423 --- /dev/null +++ b/files/pips/openstack-integration-tests @@ -0,0 +1 @@ +pika diff --git a/stackrc b/stackrc index a50835a..854a44c 100644 --- a/stackrc +++ b/stackrc @@ -39,6 +39,10 @@ OPENSTACKX_BRANCH=diablo QUANTUM_REPO=https://github.com/openstack/quantum QUANTUM_BRANCH=stable/diablo +# CI test suite +CITEST_REPO=https://github.com/openstack/openstack-integration-tests.git +CITEST_BRANCH=master + # Specify a comma-separated list of uec images to download and install into glance. IMAGE_URLS=http://smoser.brickies.net/ubuntu/ttylinux-uec/ttylinux-uec-amd64-11.2_2.6.35-15_1.tar.gz diff --git a/tools/build_ci_config.sh b/tools/build_ci_config.sh new file mode 100755 index 0000000..9112471 --- /dev/null +++ b/tools/build_ci_config.sh @@ -0,0 +1,144 @@ +#!/usr/bin/env bash +# +# build_ci_config.sh - Build a config.ini for openstack-integration-tests +# (https://github.com/openstack/openstack-integration-tests) + +function usage { + echo "$0 - Build config.ini for openstack-integration-tests" + echo "" + echo "Usage: $0 configfile" + exit 1 +} + +if [ ! "$#" -eq "1" ]; then + usage +fi + +CONFIG_FILE=$1 + +# Clean up any resources that may be in use +cleanup() { + set +o errexit + + # Mop up temporary files + if [ -n "$CONFIG_FILE_TMP" -a -e "$CONFIG_FILE_TMP" ]; then + rm -f $CONFIG_FILE_TMP + fi + + # Kill ourselves to signal any calling process + trap 2; kill -2 $$ +} + +trap cleanup SIGHUP SIGINT SIGTERM + +# Keep track of the current directory +TOOLS_DIR=$(cd $(dirname "$0") && pwd) +TOP_DIR=`cd $TOOLS_DIR/..; pwd` + +# Abort if localrc is not set +if [ ! -e $TOP_DIR/localrc ]; then + echo "You must have a localrc with ALL necessary passwords and configuration defined before proceeding." + echo "See stack.sh for required passwords." + exit 1 +fi + +# Source params +source ./stackrc + +# Where Openstack code lives +DEST=${DEST:-/opt/stack} + +DIST_NAME=${DIST_NAME:-oneiric} + +# Process network configuration vars +GUEST_NETWORK=${GUEST_NETWORK:-1} +GUEST_RECREATE_NET=${GUEST_RECREATE_NET:-yes} + +GUEST_IP=${GUEST_IP:-192.168.$GUEST_NETWORK.50} +GUEST_CIDR=${GUEST_CIDR:-$GUEST_IP/24} +GUEST_NETMASK=${GUEST_NETMASK:-255.255.255.0} +GUEST_GATEWAY=${GUEST_GATEWAY:-192.168.$GUEST_NETWORK.1} +GUEST_MAC=${GUEST_MAC:-"02:16:3e:07:69:`printf '%02X' $GUEST_NETWORK`"} +GUEST_RAM=${GUEST_RAM:-1524288} +GUEST_CORES=${GUEST_CORES:-1} + +# Use the GUEST_IP unless an explicit IP is set by ``HOST_IP`` +HOST_IP=${HOST_IP:-$GUEST_IP} +# Use the first IP if HOST_IP still is not set +if [ ! -n "$HOST_IP" ]; then + HOST_IP=`LC_ALL=C /sbin/ifconfig | grep -m 1 'inet addr:'| cut -d: -f2 | awk '{print $1}'` +fi + +RABBIT_HOST=${RABBIT_HOST:-localhost} + +# Glance connection info. Note the port must be specified. +GLANCE_HOSTPORT=${GLANCE_HOSTPORT:-$HOST_IP:9292} +set `echo $GLANCE_HOSTPORT | tr ':' ' '` +GLANCE_HOST=$1 +GLANCE_PORT=$2 + +CONFIG_FILE_TMP=$(mktemp $CONFIG_FILE.XXXXXX) +if [ "$UPLOAD_LEGACY_TTY" ]; then + cat >$CONFIG_FILE_TMP <$CONFIG_FILE_TMP <>$CONFIG_FILE_TMP <>$ROOTFS/etc/default/grub echo "GRUB_DEVICE_UUID=$G_DEV_UUID" >>$ROOTFS/etc/default/grub chroot $ROOTFS update-grub -umount $ROOTFS/dev # Pre-generate ssh host keys and allow password login chroot $ROOTFS dpkg-reconfigure openssh-server sed -e 's/^PasswordAuthentication.*$/PasswordAuthentication yes/' -i $ROOTFS/etc/ssh/sshd_config # Unmount +umount $ROOTFS/dev umount $ROOTFS || echo 'ok' ROOTFS="" qemu-nbd -d $NBD NBD="" +trap - SIGHUP SIGINT SIGTERM SIGQUIT EXIT + # Create the instance cd $VM_DIR && virsh create libvirt.xml