diff --git a/files/dash_settings.py b/files/dash_settings.py new file mode 100644 index 0000000..d467da8 --- /dev/null +++ b/files/dash_settings.py @@ -0,0 +1,105 @@ +import os + +DEBUG = True +TEMPLATE_DEBUG = DEBUG +PROD = False +USE_SSL = False + +LOCAL_PATH = os.path.dirname(os.path.abspath(__file__)) + +# FIXME: We need to change this to mysql, instead of sqlite. +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.sqlite3', + 'NAME': os.path.join(LOCAL_PATH, 'dashboard_openstack.sqlite3'), + }, +} + +CACHE_BACKEND = 'dummy://' + +# Add nixon + other apps to dash installation. +INSTALLED_APPS = ( + 'dashboard', + 'dashboard.nixon', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.messages', + 'django.contrib.staticfiles', + 'django_openstack', + 'django_openstack.templatetags', + 'mailer', +) + + +# Send email to the console by default +EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend' +# Or send them to /dev/null +#EMAIL_BACKEND = 'django.core.mail.backends.dummy.EmailBackend' + +# django-mailer uses a different settings attribute +MAILER_EMAIL_BACKEND = EMAIL_BACKEND + +# Configure these for your outgoing email host +# EMAIL_HOST = 'smtp.my-company.com' +# EMAIL_PORT = 25 +# EMAIL_HOST_USER = 'djangomail' +# EMAIL_HOST_PASSWORD = 'top-secret!' + +# FIXME: This needs to be changed to allow for multi-node setup. +OPENSTACK_ADMIN_TOKEN = "999888777666" +OPENSTACK_KEYSTONE_URL = "http://localhost:5000/v2.0/" +OPENSTACK_KEYSTONE_DEFAULT_ROLE = "Member" + +# NOTE(tres): Available services should come from the service +# catalog in Keystone. +SWIFT_ENABLED = False + +# Configure quantum connection details for networking +QUANTUM_ENABLED = False +QUANTUM_URL = '127.0.0.1' +QUANTUM_PORT = '9696' +QUANTUM_TENANT = '1234' +QUANTUM_CLIENT_VERSION='0.1' + +# If you have external monitoring links +EXTERNAL_MONITORING = [ + ['Nagios','http://foo.com'], + ['Ganglia','http://bar.com'], +] + +# If you do not have external monitoring links +# EXTERNAL_MONITORING = [] + +# Uncomment the following segment to silence most logging +# django.db and boto DEBUG logging is extremely verbose. +#LOGGING = { +# 'version': 1, +# # set to True will disable all logging except that specified, unless +# # nothing is specified except that django.db.backends will still log, +# # even when set to True, so disable explicitly +# 'disable_existing_loggers': False, +# 'handlers': { +# 'null': { +# 'level': 'DEBUG', +# 'class': 'django.utils.log.NullHandler', +# }, +# 'console': { +# 'level': 'DEBUG', +# 'class': 'logging.StreamHandler', +# }, +# }, +# 'loggers': { +# # Comment or Uncomment these to turn on/off logging output +# 'django.db.backends': { +# 'handlers': ['null'], +# 'propagate': False, +# }, +# 'django_openstack': { +# 'handlers': ['null'], +# 'propagate': False, +# }, +# } +#} + +# How much ram on each compute host? +COMPUTE_HOST_RAM_GB = 16 diff --git a/stack.sh b/stack.sh index 549095f..554cf69 100755 --- a/stack.sh +++ b/stack.sh @@ -60,6 +60,7 @@ DEST=${DEST:-/opt} # Set the destination directories for openstack projects NOVA_DIR=$DEST/nova DASH_DIR=$DEST/dash +NIXON_DIR=$DEST/dash/openstack-dashboard/dashboard/nixon GLANCE_DIR=$DEST/glance KEYSTONE_DIR=$DEST/keystone NOVACLIENT_DIR=$DEST/python-novaclient @@ -139,6 +140,8 @@ git_clone https://github.com/cloudbuilders/keystone.git $KEYSTONE_DIR git_clone https://github.com/cloudbuilders/noVNC.git $NOVNC_DIR # django powered web control panel for openstack git_clone https://github.com/cloudbuilders/openstack-dashboard.git $DASH_DIR +# add nixon, will use this to show munin graphs in dashboard +git_clone https://github.com/cloudbuilders/nixon.git $NIXON_DIR # python client library to nova that dashboard (and others) use git_clone https://github.com/cloudbuilders/python-novaclient.git $NOVACLIENT_DIR # openstackx is a collection of extensions to openstack.compute & nova @@ -195,7 +198,10 @@ if [[ "$ENABLED_SERVICES" =~ "dash" ]]; then sudo touch $DASH_DIR/openstack-dashboard/quantum/client.py cd $DASH_DIR/openstack-dashboard - sudo cp local/local_settings.py.example local/local_settings.py + + # Includes settings for Nixon, to expose munin charts. + sudo cp $DIR/files/dash_settings.py local/local_settings.py + dashboard/manage.py syncdb # create an empty directory that apache uses as docroot