diff --git a/devstack.sh b/devstack.sh new file mode 100755 index 00000000..66a21af3 --- /dev/null +++ b/devstack.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +cd /root + +apt-get update +apt-get -y install git python-pip + +git clone git://github.com/mendeni/devstack.git +pip install netaddr + +cd devstack +cat< localrc +ADMIN_PASSWORD=nomoresecrete +MYSQL_PASSWORD=stackdb +RABBIT_PASSWORD=stackqueue +SERVICE_PASSWORD=\$ADMIN_PASSWORD +SERVICE_TOKEN=letmein +EOF + +./stack.sh + +/usr/lib/rabbitmq/lib/rabbitmq_server-2.7.1/sbin/rabbitmq-plugins enable rabbitmq_management +/etc/init.d/rabbitmq-server restart diff --git a/lib/nova b/lib/nova index 849ec573..f466cdca 100644 --- a/lib/nova +++ b/lib/nova @@ -362,6 +362,10 @@ function create_nova_conf() { # (Re)create ``nova.conf`` rm -f $NOVA_CONF add_nova_opt "[DEFAULT]" + + iniset $NOVA_CONF DEFAULT notification_topics "notifications,monitor" + iniset $NOVA_CONF DEFAULT notification_driver "nova.openstack.common.notifier.rpc_notifier" + iniset $NOVA_CONF DEFAULT verbose "True" iniset $NOVA_CONF DEFAULT debug "True" iniset $NOVA_CONF DEFAULT auth_strategy "keystone" @@ -440,7 +444,7 @@ function create_nova_conf() { # Define extra nova conf flags by defining the array ``EXTRA_OPTS``. # For Example: ``EXTRA_OPTS=(foo=true bar=2)`` - for I in "${EXTRA_OPTS[@]}"; do + for I in ${EXTRA_OPTS[@]}; do # Replace the first '=' with ' ' for iniset syntax iniset $NOVA_CONF DEFAULT ${I/=/ } done diff --git a/stack.sh b/stack.sh index 0f009fc6..c36706e2 100755 --- a/stack.sh +++ b/stack.sh @@ -1080,7 +1080,7 @@ if is_service_enabled nova; then iniset $NOVA_CONF baremetal tftp_root /tftpboot # Define extra baremetal nova conf flags by defining the array ``EXTRA_BAREMETAL_OPTS``. - for I in "${EXTRA_BAREMETAL_OPTS[@]}"; do + for I in ${EXTRA_BAREMETAL_OPTS[@]}; do # Attempt to convert flags to options iniset $NOVA_CONF baremetal ${I//=/ } done diff --git a/stacktach.sh b/stacktach.sh new file mode 100755 index 00000000..d5e23691 --- /dev/null +++ b/stacktach.sh @@ -0,0 +1,122 @@ +#!/bin/bash + +apt-get -y install make libapache2-mod-wsgi + +cd /root + +. devstack/localrc + +mysql -p$MYSQL_PASSWORD< etc/stacktach_config.sh +export STACKTACH_DB_NAME="stacktach" +export STACKTACH_DB_HOST="" +export STACKTACH_DB_USERNAME="root" +export STACKTACH_DB_PASSWORD="$MYSQL_PASSWORD" +export STACKTACH_INSTALL_DIR="/srv/www/stacktach/django/stproject/" +export STACKTACH_DEPLOYMENTS_FILE="/srv/www/stacktach/django/stproject/etc/stacktach_worker_config.json" +export DJANGO_SETTINGS_MODULE="settings" +export STACKTACH_DB_ENGINE="django.db.backends.mysql" +EOF + +cat< local_settings.py +STACKTACH_DB_ENGINE="django.db.backends.mysql" +STACKTACH_DB_NAME="stacktach" +STACKTACH_DB_HOST="" +STACKTACH_DB_USERNAME="root" +STACKTACH_DB_PASSWORD="$MYSQL_PASSWORD" +STACKTACH_INSTALL_DIR="/srv/www/stacktach/django/stproject/" +STACKTACH_DEPLOYMENTS_FILE="/srv/www/stacktach/django/stproject/etc/stacktach_worker_config.json" +DJANGO_SETTINGS_MODULE="settings" +EOF + + +cat< /srv/www/stacktach/django/stproject/etc/stacktach_worker_config.json +{"deployments": [ + { + "name": "dev", + "durable_queue": false, + "rabbit_host": "127.0.0.1", + "rabbit_port": 5672, + "rabbit_userid": "guest", + "rabbit_password": "$RABBIT_PASSWORD", + "rabbit_virtual_host": "/" + }] +} +EOF + +. etc/stacktach_config.sh + +python manage.py syncdb + +cat< /srv/www/stacktach/wsgi/django.wsgi +import os +import sys + +path = '/srv/www/stacktach/app/' +if path not in sys.path: + sys.path.append(path) + +os.environ['DJANGO_SETTINGS_MODULE'] = 'settings' + +import django.core.handlers.wsgi +application = django.core.handlers.wsgi.WSGIHandler() +EOF + +cat< /etc/apache2/sites-available/stacktach +NameVirtualHost *:81 +Listen 81 + + + ServerName localhost + DocumentRoot /srv/www/stacktach/htdocs + + + Order allow,deny + Allow from all + + + + Order allow,deny + Allow from all + + + Alias /static/ /srv/www/stacktach/app/static/ + + WSGIScriptAlias / /srv/www/stacktach/wsgi/django.wsgi + +EOF + +ln -s /etc/apache2/sites-available/stacktach \ + /etc/apache2/sites-enabled/stacktach + +service apache2 restart + +/stacktack/worker/stacktach.sh start diff --git a/supernova.sh b/supernova.sh new file mode 100755 index 00000000..d82e9d0a --- /dev/null +++ b/supernova.sh @@ -0,0 +1,34 @@ +#!/bin/bash + +cd /root + +. devstack/localrc + +sudo apt-get install python-pip python-dev git gcc + +sudo pip install eventlet + +git clone git://github.com/openstack/python-novaclient.git +# git pull # (if you need to update) +cd python-novaclient +sudo python setup.py install + +git clone git://github.com/rackerhacker/supernova.git +# git pull # (if you need to update) +cd supernova +sudo python setup.py install + +cat< ~/.supernova +[dev] +OS_AUTH_URL=http://127.0.0.1:5000/v2.0/ +NOVACLIENT_INSECURE=1 +NOVA_VERSION="1.1" +OS_TENANT_NAME=demo +OS_USERNAME=demo +OS_PASSWORD=$ADMIN_PASSWORD +OS_REGION_NAME=RegionOne +EOF + +supernova dev flavor-list +supernova dev image-list +# supernova dev boot --image beb9cb53-4826-484a-a433-58e7e0cf81f9 --flavor 42 test$$