|  | #!/usr/bin/env bash | 
|  | # upload_image.sh - Retrieve and upload an image into Glance | 
|  | # | 
|  | # upload_image.sh <image-url> | 
|  | # | 
|  | # Assumes credentials are set via OS_* environment variables | 
|  |  | 
|  | function usage { | 
|  | echo "$0 - Retrieve and upload an image into Glance" | 
|  | echo "" | 
|  | echo "Usage: $0 <image-url> [...]" | 
|  | 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 |