| #!/bin/bash |
| |
| # Print out a list of image and other files to download for caching. |
| # This is mostly used by the OpenStack infrasturucture during daily |
| # image builds to save the large images to /opt/cache/files (see [1]) |
| # |
| # The two lists of URL's downloaded are the IMAGE_URLS and |
| # EXTRA_CACHE_URLS, which are setup in stackrc |
| # |
| # [1] project-config:nodepool/elements/cache-devstack/extra-data.d/55-cache-devstack-repos |
| |
| # Keep track of the DevStack directory |
| TOP_DIR=$(cd $(dirname "$0")/.. && pwd) |
| |
| # The following "source" implicitly calls get_default_host_ip() in |
| # stackrc and will die if the selected default IP happens to lie |
| # in the default ranges for FIXED_RANGE or FLOATING_RANGE. Since we |
| # do not really need HOST_IP to be properly set in the remainder of |
| # this script, just set it to some dummy value and make stackrc happy. |
| HOST_IP=SKIP |
| source $TOP_DIR/functions |
| |
| # Possible virt drivers, if we have more, add them here. Always keep |
| # dummy in the end position to trigger the fall through case. |
| DRIVERS="openvz ironic libvirt vsphere dummy" |
| |
| # Extra variables to trigger getting additional images. |
| export ENABLED_SERVICES="h-api,tr-api" |
| HEAT_FETCHED_TEST_IMAGE="Fedora-i386-20-20131211.1-sda" |
| PRECACHE_IMAGES=True |
| |
| # Loop over all the virt drivers and collect all the possible images |
| ALL_IMAGES="" |
| for driver in $DRIVERS; do |
| VIRT_DRIVER=$driver |
| URLS=$(source $TOP_DIR/stackrc && echo $IMAGE_URLS) |
| if [[ ! -z "$ALL_IMAGES" ]]; then |
| ALL_IMAGES+=, |
| fi |
| ALL_IMAGES+=$URLS |
| done |
| |
| # Sanity check - ensure we have a minimum number of images |
| num=$(echo $ALL_IMAGES | tr ',' '\n' | sort | uniq | wc -l) |
| if [[ "$num" -lt 4 ]]; then |
| echo "ERROR: We only found $num images in $ALL_IMAGES, which can't be right." |
| exit 1 |
| fi |
| |
| # This is extra non-image files that we want pre-cached. This is kept |
| # in a separate list because devstack loops over the IMAGE_LIST to |
| # upload files glance and these aren't images. (This was a bit of an |
| # after-thought which is why the naming around this is very |
| # image-centric) |
| URLS=$(source $TOP_DIR/stackrc && echo $EXTRA_CACHE_URLS) |
| ALL_IMAGES+=$URLS |
| |
| # Make a nice combined list |
| echo $ALL_IMAGES | tr ',' '\n' | sort | uniq |