blob: 8436b763ff879687b31278292a2fe6343201bcd4 [file] [log] [blame]
Dean Troyer65cf6082011-09-16 12:22:21 -05001#!/bin/bash
2# upload_image.sh - Upload Ubuntu images (create if necessary) in various formats
3#
4# upload_image.sh release format
5#
6# format target
7# qcow2 kvm,qemu
8# vmdk vmw6
9# vbox vdi
10# vhd vpc
11
12HOST=${HOST:-demo.rcb.me}
13PORT=${PORT:-9292}
14
15usage() {
16 echo "$0 - Upload Ubuntu images"
17 echo ""
18 echo "$0 [-h host] [-p port] release format"
19 exit 1
20}
21
22while getopts h:p: c; do
23 case $c in
24 h) HOST=$OPTARG
25 ;;
26 p) PORT=$OPTARG
27 ;;
28 esac
29done
30shift `expr $OPTIND - 1`
31
32RELEASE=$1
33FORMAT=$2
34
35case $RELEASE in
36 natty) ;;
37 maverick) ;;
38 lucid) ;;
39 karmic) ;;
40 jaunty) ;;
41 *) echo "Unknown release: $RELEASE"
42 usage
43esac
44
45case $FORMAT in
46 kvm|qcow2) FORMAT=qcow2
47 TARGET=kvm
48 ;;
49 vmserver|vmdk) FORMAT=vmdk
50 TARGET=vmserver
51 ;;
52 vbox|vdi) TARGET=kvm
53 FORMAT=vdi
54 ;;
55 vhd|vpc) TARGET=kvm
56 FORMAT=vpc
57 ;;
58 *) echo "Unknown format: $FORMAT"
59 usage
60esac
61
62GLANCE=`which glance`
63if [ -z "$GLANCE" ]; then
64 echo "Glance not found, must install client"
65 sudo apt-get install python-pip python-eventlet python-routes python-greenlet python-argparse python-sqlalchemy python-wsgiref python-pastedeploy python-xattr
66 sudo pip install kombu
67 git clone https://github.com/cloudbuilders/glance.git
68 cd glance
69 sudo python setup.py develop
70 cd ..
71 GLANCE=`which glance`
72fi
73
74# Create image if it doesn't exist
75if [ ! -r $RELEASE.$FORMAT ]; then
76 DIR=`dirname $0`
77 echo "$RELEASE.$FORMAT not found, creating...must be root to do this:"
78 $DIR/make_image.sh $RELEASE $FORMAT
79fi
80
81# Upload the image
82$GLANCE add name=$RELEASE.$FORMAT is_public=true disk_format=$FORMAT --host $HOST --port $PORT <$RELEASE.$FORMAT