-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Expand file tree
/
Copy pathupload_image.sh
More file actions
executable file
·44 lines (35 loc) · 1.06 KB
/
upload_image.sh
File metadata and controls
executable file
·44 lines (35 loc) · 1.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/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=$(openstack token issue -c id -f value)
die_if_not_set $LINENO TOKEN "Keystone fail to get token"
# Glance connection info. Note the port must be specified.
GLANCE_HOSTPORT=${GLANCE_HOSTPORT:-$GLANCE_HOST:9292}
GLANCE_SERVICE_PROTOCOL=${GLANCE_SERVICE_PROTOCOL:-$SERVICE_PROTOCOL}
for IMAGE in "$*"; do
upload_image $IMAGE $TOKEN
done