#!/bin/bash . ./osrc.sh image_f20="db-f20_x86_64-cloud-0.0-2" flavor="m1.small" info() { echo " * $@" ; } option_distro="" function show_help() { cat <&2 Usage: $0 OPTION Script is aimed to help sysadmin. Options: --distro Distro version, like fedora-20 EOHELP test -n "$1" && exit $1 } ARGS=`getopt -o "" -l "help,distro:" -n "$0" -- "$@"` \ || exit 1 eval set -- "$ARGS" while true; do case "$1" in --distro) case "$2" in fedora-*) option_distro=$2 ;; *) echo "bad distro option $2, use fedora-20, etc." exit 1 ;; esac shift 2 ;; --help) show_help 0 ;; --) shift break; esac done image_var=image_f${option_distro##fedora-} eval "image=\$$image_var" test -z "$image" && echo "no such image $image_var" && exit 1 boot() { x=$( nova boot "$1" --poll --image "$2" --flavor "$3" \ --security-groups praiskup-dbt \ --key-name praiskup-test \ | grep "| id " | cut -d\| -f 3 ) echo $x } get_ip() { local id="$1" ip=$( nova show "$id" | grep ' network ' \ | cut -d\| -f 3 | cut -d, -f2 ) echo $ip } info "booting machine $option_distro from $image" machine=`boot "testing-$image_var" "$image" "$flavor"` info "machine id: $machine" ip=`get_ip $machine` info "ip: $ip"