Merge "Add/Overwrite default images in IMAGE_URLS and detect duplicates"
This commit is contained in:
commit
1d0b0d363e
@ -383,6 +383,24 @@ DevStack's default configuration in ``sql`` mode is set in
|
|||||||
``files/keystone_data.sh``
|
``files/keystone_data.sh``
|
||||||
|
|
||||||
|
|
||||||
|
Guest Images
|
||||||
|
------------
|
||||||
|
|
||||||
|
Images provided in URLS via the comma-separated ``IMAGE_URLS``
|
||||||
|
variable will be downloaded and uploaded to glance by DevStack.
|
||||||
|
|
||||||
|
Default guest-images are predefined for each type of hypervisor and
|
||||||
|
their testing-requirements in ``stack.sh``. Setting
|
||||||
|
``DOWNLOAD_DEFAULT_IMAGES=False`` will prevent DevStack downloading
|
||||||
|
these default images; in that case, you will want to populate
|
||||||
|
``IMAGE_URLS`` with sufficient images to satisfy testing-requirements.
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
DOWNLOAD_DEFAULT_IMAGES=False
|
||||||
|
IMAGE_URLS="http://foo.bar.com/image.qcow,"
|
||||||
|
IMAGE_URLS+="http://foo.bar.com/image2.qcow"
|
||||||
|
|
||||||
IP Version
|
IP Version
|
||||||
----------
|
----------
|
||||||
|
|
||||||
|
33
stackrc
33
stackrc
@ -2,6 +2,11 @@
|
|||||||
#
|
#
|
||||||
# stackrc
|
# stackrc
|
||||||
#
|
#
|
||||||
|
|
||||||
|
# ensure we don't re-source this in the same environment
|
||||||
|
[[ -z "$_DEVSTACK_STACKRC" ]] || return 0
|
||||||
|
declare -r _DEVSTACK_STACKRC=1
|
||||||
|
|
||||||
# Find the other rc files
|
# Find the other rc files
|
||||||
RC_DIR=$(cd $(dirname "${BASH_SOURCE:-$0}") && pwd)
|
RC_DIR=$(cd $(dirname "${BASH_SOURCE:-$0}") && pwd)
|
||||||
|
|
||||||
@ -558,26 +563,31 @@ CIRROS_ARCH=${CIRROS_ARCH:-"x86_64"}
|
|||||||
# Set default image based on ``VIRT_DRIVER`` and ``LIBVIRT_TYPE``, either of
|
# Set default image based on ``VIRT_DRIVER`` and ``LIBVIRT_TYPE``, either of
|
||||||
# which may be set in ``local.conf``. Also allow ``DEFAULT_IMAGE_NAME`` and
|
# which may be set in ``local.conf``. Also allow ``DEFAULT_IMAGE_NAME`` and
|
||||||
# ``IMAGE_URLS`` to be set in the `localrc` section of ``local.conf``.
|
# ``IMAGE_URLS`` to be set in the `localrc` section of ``local.conf``.
|
||||||
|
DOWNLOAD_DEFAULT_IMAGES=$(trueorfalse True DOWNLOAD_DEFAULT_IMAGES)
|
||||||
|
if [[ "$DOWNLOAD_DEFAULT_IMAGES" == "True" ]]; then
|
||||||
|
if [ -n $IMAGE_URLS ]; then
|
||||||
|
IMAGE_URLS+=","
|
||||||
|
fi
|
||||||
case "$VIRT_DRIVER" in
|
case "$VIRT_DRIVER" in
|
||||||
openvz)
|
openvz)
|
||||||
DEFAULT_IMAGE_NAME=${DEFAULT_IMAGE_NAME:-ubuntu-12.04-x86_64}
|
DEFAULT_IMAGE_NAME=${DEFAULT_IMAGE_NAME:-ubuntu-12.04-x86_64}
|
||||||
IMAGE_URLS=${IMAGE_URLS:-"http://download.openvz.org/template/precreated/ubuntu-12.04-x86_64.tar.gz"};;
|
IMAGE_URLS+="http://download.openvz.org/template/precreated/ubuntu-12.04-x86_64.tar.gz";;
|
||||||
libvirt)
|
libvirt)
|
||||||
case "$LIBVIRT_TYPE" in
|
case "$LIBVIRT_TYPE" in
|
||||||
lxc) # the cirros root disk in the uec tarball is empty, so it will not work for lxc
|
lxc) # the cirros root disk in the uec tarball is empty, so it will not work for lxc
|
||||||
DEFAULT_IMAGE_NAME=${DEFAULT_IMAGE_NAME:-cirros-${CIRROS_VERSION}-${CIRROS_ARCH}-rootfs}
|
DEFAULT_IMAGE_NAME=${DEFAULT_IMAGE_NAME:-cirros-${CIRROS_VERSION}-${CIRROS_ARCH}-rootfs}
|
||||||
IMAGE_URLS=${IMAGE_URLS:-"http://download.cirros-cloud.net/${CIRROS_VERSION}/cirros-${CIRROS_VERSION}-${CIRROS_ARCH}-rootfs.img.gz"};;
|
IMAGE_URLS+="http://download.cirros-cloud.net/${CIRROS_VERSION}/cirros-${CIRROS_VERSION}-${CIRROS_ARCH}-rootfs.img.gz";;
|
||||||
*) # otherwise, use the uec style image (with kernel, ramdisk, disk)
|
*) # otherwise, use the uec style image (with kernel, ramdisk, disk)
|
||||||
DEFAULT_IMAGE_NAME=${DEFAULT_IMAGE_NAME:-cirros-${CIRROS_VERSION}-${CIRROS_ARCH}-uec}
|
DEFAULT_IMAGE_NAME=${DEFAULT_IMAGE_NAME:-cirros-${CIRROS_VERSION}-${CIRROS_ARCH}-uec}
|
||||||
IMAGE_URLS=${IMAGE_URLS:-"http://download.cirros-cloud.net/${CIRROS_VERSION}/cirros-${CIRROS_VERSION}-${CIRROS_ARCH}-uec.tar.gz"};;
|
IMAGE_URLS+="http://download.cirros-cloud.net/${CIRROS_VERSION}/cirros-${CIRROS_VERSION}-${CIRROS_ARCH}-uec.tar.gz";;
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
vsphere)
|
vsphere)
|
||||||
DEFAULT_IMAGE_NAME=${DEFAULT_IMAGE_NAME:-cirros-0.3.2-i386-disk.vmdk}
|
DEFAULT_IMAGE_NAME=${DEFAULT_IMAGE_NAME:-cirros-0.3.2-i386-disk.vmdk}
|
||||||
IMAGE_URLS=${IMAGE_URLS:-"http://partnerweb.vmware.com/programs/vmdkimage/cirros-0.3.2-i386-disk.vmdk"};;
|
IMAGE_URLS+="http://partnerweb.vmware.com/programs/vmdkimage/cirros-0.3.2-i386-disk.vmdk";;
|
||||||
xenserver)
|
xenserver)
|
||||||
DEFAULT_IMAGE_NAME=${DEFAULT_IMAGE_NAME:-cirros-0.3.4-x86_64-disk}
|
DEFAULT_IMAGE_NAME=${DEFAULT_IMAGE_NAME:-cirros-0.3.4-x86_64-disk}
|
||||||
IMAGE_URLS=${IMAGE_URLS:-"http://ca.downloads.xensource.com/OpenStack/cirros-0.3.4-x86_64-disk.vhd.tgz"}
|
IMAGE_URLS+="http://ca.downloads.xensource.com/OpenStack/cirros-0.3.4-x86_64-disk.vhd.tgz"
|
||||||
IMAGE_URLS+=",http://download.cirros-cloud.net/${CIRROS_VERSION}/cirros-${CIRROS_VERSION}-x86_64-uec.tar.gz";;
|
IMAGE_URLS+=",http://download.cirros-cloud.net/${CIRROS_VERSION}/cirros-${CIRROS_VERSION}-x86_64-uec.tar.gz";;
|
||||||
ironic)
|
ironic)
|
||||||
# Ironic can do both partition and full disk images, depending on the driver
|
# Ironic can do both partition and full disk images, depending on the driver
|
||||||
@ -586,12 +596,14 @@ case "$VIRT_DRIVER" in
|
|||||||
else
|
else
|
||||||
DEFAULT_IMAGE_NAME=${DEFAULT_IMAGE_NAME:-cirros-${CIRROS_VERSION}-x86_64-uec}
|
DEFAULT_IMAGE_NAME=${DEFAULT_IMAGE_NAME:-cirros-${CIRROS_VERSION}-x86_64-uec}
|
||||||
fi
|
fi
|
||||||
IMAGE_URLS=${IMAGE_URLS:-"http://download.cirros-cloud.net/${CIRROS_VERSION}/cirros-${CIRROS_VERSION}-x86_64-uec.tar.gz"}
|
IMAGE_URLS+="http://download.cirros-cloud.net/${CIRROS_VERSION}/cirros-${CIRROS_VERSION}-x86_64-uec.tar.gz"
|
||||||
IMAGE_URLS+=",http://download.cirros-cloud.net/${CIRROS_VERSION}/cirros-${CIRROS_VERSION}-x86_64-disk.img";;
|
IMAGE_URLS+=",http://download.cirros-cloud.net/${CIRROS_VERSION}/cirros-${CIRROS_VERSION}-x86_64-disk.img";;
|
||||||
*) # Default to Cirros with kernel, ramdisk and disk image
|
*) # Default to Cirros with kernel, ramdisk and disk image
|
||||||
DEFAULT_IMAGE_NAME=${DEFAULT_IMAGE_NAME:-cirros-${CIRROS_VERSION}-${CIRROS_ARCH}-uec}
|
DEFAULT_IMAGE_NAME=${DEFAULT_IMAGE_NAME:-cirros-${CIRROS_VERSION}-${CIRROS_ARCH}-uec}
|
||||||
IMAGE_URLS=${IMAGE_URLS:-"http://download.cirros-cloud.net/${CIRROS_VERSION}/cirros-${CIRROS_VERSION}-${CIRROS_ARCH}-uec.tar.gz"};;
|
IMAGE_URLS+="http://download.cirros-cloud.net/${CIRROS_VERSION}/cirros-${CIRROS_VERSION}-${CIRROS_ARCH}-uec.tar.gz";;
|
||||||
esac
|
esac
|
||||||
|
DOWNLOAD_DEFAULT_IMAGES=False
|
||||||
|
fi
|
||||||
|
|
||||||
# Staging Area for New Images, have them here for at least 24hrs for nodepool
|
# Staging Area for New Images, have them here for at least 24hrs for nodepool
|
||||||
# to cache them otherwise the failure rates in the gate are too high
|
# to cache them otherwise the failure rates in the gate are too high
|
||||||
@ -604,6 +616,13 @@ if [[ "$PRECACHE_IMAGES" == "True" ]]; then
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Detect duplicate values in IMAGE_URLS
|
||||||
|
for image_url in ${IMAGE_URLS//,/ }; do
|
||||||
|
if [ $(echo "$IMAGE_URLS" | grep -o -F "$image_url" | wc -l) -gt 1 ]; then
|
||||||
|
die $LINENO "$image_url is duplicate, please remove it from IMAGE_URLS."
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
# 10Gb default volume backing file size
|
# 10Gb default volume backing file size
|
||||||
VOLUME_BACKING_FILE_SIZE=${VOLUME_BACKING_FILE_SIZE:-10250M}
|
VOLUME_BACKING_FILE_SIZE=${VOLUME_BACKING_FILE_SIZE:-10250M}
|
||||||
|
|
||||||
|
@ -94,11 +94,6 @@ Of course, use real passwords if this machine is exposed.
|
|||||||
XENAPI_CONNECTION_URL="http://address_of_your_xenserver"
|
XENAPI_CONNECTION_URL="http://address_of_your_xenserver"
|
||||||
VNCSERVER_PROXYCLIENT_ADDRESS=address_of_your_xenserver
|
VNCSERVER_PROXYCLIENT_ADDRESS=address_of_your_xenserver
|
||||||
|
|
||||||
# Download a vhd and a uec image
|
|
||||||
IMAGE_URLS="\
|
|
||||||
https://github.com/downloads/citrix-openstack/warehouse/cirros-0.3.0-x86_64-disk.vhd.tgz,\
|
|
||||||
http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-uec.tar.gz"
|
|
||||||
|
|
||||||
# Explicitly set virt driver
|
# Explicitly set virt driver
|
||||||
VIRT_DRIVER=xenserver
|
VIRT_DRIVER=xenserver
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user