#!/usr/bin/env bash DIR=`pwd` CMD=$1 SOURCE_BRANCH=lp:nova if [ -n "$2" ]; then SOURCE_BRANCH=$2 fi DIRNAME=nova NOVA_DIR=$DIR/$DIRNAME if [ -n "$3" ]; then NOVA_DIR=$DIR/$3 fi if [ ! -n "$HOST_IP" ]; then # NOTE(vish): This will just get the first ip in the list, so if you # have more than one eth device set up, this will fail, and # you should explicitly set HOST_IP in your environment HOST_IP=`ifconfig | grep -m 1 'inet addr:'| cut -d: -f2 | awk '{print $1}'` fi TEST=0 USE_MYSQL=0 MYSQL_PASS=nova USE_LDAP=0 LIBVIRT_TYPE=qemu if [ "$USE_MYSQL" == 1 ]; then SQL_CONN=mysql://root:$MYSQL_PASS@localhost/nova else SQL_CONN=sqlite:///$NOVA_DIR/nova.sqlite fi if [ "$USE_LDAP" == 1 ]; then AUTH=ldapdriver.LdapDriver else AUTH=dbdriver.DbDriver fi mkdir -p /etc/nova cat >/etc/nova/nova-manage.conf << NOVA_CONF_EOF --verbose --nodaemon --dhcpbridge_flagfile=/etc/nova/nova-manage.conf --FAKE_subdomain=ec2 --cc_host=$HOST_IP --routing_source_ip=$HOST_IP --sql_connection=$SQL_CONN --auth_driver=nova.auth.$AUTH --libvirt_type=$LIBVIRT_TYPE NOVA_CONF_EOF if [ "$CMD" == "branch" ]; then sudo apt-get install -y bzr rm -rf $NOVA_DIR bzr branch $SOURCE_BRANCH $NOVA_DIR cd $NOVA_DIR mkdir -p $NOVA_DIR/instances mkdir -p $NOVA_DIR/networks fi # You should only have to run this once if [ "$CMD" == "install" ]; then sudo apt-get install -y python-software-properties sudo add-apt-repository ppa:nova-core/ppa sudo apt-get update sudo apt-get install -y dnsmasq open-iscsi kpartx kvm gawk iptables ebtables sudo apt-get install -y user-mode-linux kvm libvirt-bin sudo apt-get install -y screen iscsitarget euca2ools vlan curl rabbitmq-server sudo modprobe kvm sudo /etc/init.d/libvirt-bin restart sudo apt-get install -y python-twisted python-sqlalchemy python-mox python-greenlet python-carrot sudo apt-get install -y python-daemon python-eventlet python-gflags python-tornado python-ipy sudo apt-get install -y python-libvirt python-libxml2 python-routes if [ "$USE_MYSQL" == 1 ]; then cat <