#!/usr/bin/env bash # upload_image.sh - Retrieve and upload an image into Glance # # upload_image.sh # # Assumes credentials are set via OS_* environment variables function usage { echo "$0 - Retrieve and upload an image into Glance" echo "" echo "Usage: $0 [...]" echo "" echo "Assumes credentials are set via OS_* environment variables" exit 1 } # Keep track of the current directory TOOLS_DIR=$(cd $(dirname "$0") && pwd) TOP_DIR=$(cd $TOOLS_DIR/..; pwd) # Import common functions source $TOP_DIR/functions # Import configuration source $TOP_DIR/openrc "" "" "" "" # Find the cache dir FILES=$TOP_DIR/files if [[ -z "$1" ]]; then usage fi # Get a token to authenticate to glance TOKEN=$(keystone token-get | grep ' id ' | get_field 2) # Glance connection info. Note the port must be specified. GLANCE_HOSTPORT=${GLANCE_HOSTPORT:-$GLANCE_HOST:9292} for IMAGE in "$*"; do upload_image $IMAGE $TOKEN done