Jump to: navigation, search

OpenStackDashboard

Revision as of 22:59, 26 January 2011 by KenPepple (talk)

OpenStack Dashboard

The OpenStack Dashboard is a reference implementation for the django-nova project. Both are housed on Launchpad.

This web application (built inDjango) communicates with nova-api to allow the user to interact with the nova installation with a pleasing graphic interface.

The overall steps for building a dashboard are:

  1. Get the source for both django-nova and openstack-dashboard from launchpad
  2. Build django-nova with the boostrap script and buildout commands as shown in the dajngo-nova README
  3. Change over to the openstack-dashboard directory
  4. Create a virtaulenv for openstack-dashboard (this loads all of it's dependent libraries)
  5. Configure openstack-dashboard (included example file below)
  6. Create the openstack-dashboard database (via the sync-db command)
  7. Run the server

The details of these steps are included below from the README files of each project.


#!rst

OpenStack Dashboard
-------------------

The OpenStack Dashboard is a reference implementation of a Django site that
uses the Django-Nova project to provide web based interactions with the
OpenStack Nova cloud controller.

For more information about the Django-Nova project, please visit:

  http://launchpad.net/django-nova


Getting Started
---------------

The first step is to obtain a local copy of the django-nova project:

  $ mkdir django-nova
  $ cd django-nova
  $ bzr init-repo .
  $ bzr branch lp:django-nova/trunk


Next we will create the virtualenv for local development. A tool is included to
create one for you:

  $ python tools/install_venv.py <path to django-nova/trunk>


Now that the virtualenv is created, you need to configure your local
environment.  To do this, create a local_settings.py file in the local/
directory.  There is a local_settings.py.example file there that may be used
as a template.

Finally, issue the django syncdb command:

  $ tools/with_venv.sh dashboard/manage.py syncdb

If after you have specified the admin user the script appears to hang, it
probably means the installation of Nova being referred to in local_settings.py
is unavailable.


If all is well you should now able to run the server locally:

  $ tools/with_venv.sh dashboard/manage.py runserver


OpenStack Django-Nova
---------------------

The Django-Nova project is a Django module that is used to provide web based
interactions with the OpenStack Nova cloud controller.

There is a reference implementation that uses this module located at:

    http://launchpad.net/openstack-dashboard

It is highly recommended that you make use of this reference implementation
so that changes you make can be visualized effectively and are consistent.
Using this reference implementation as a development environment will greatly
simplify development of the django-nova module.

Of course, if you are developing your own Django site using django-nova, then
you can disregard this advice.



Getting Started
---------------

Django-Nova uses Buildout (http://www.buildout.org/) to manage local
development.  To configure your local Buildout environment:

  $ python bootstrap.py
  $ bin/buildout

This will install all the dependencies of django-nova and provide some useful
scripts in the bin/ directory:

  bin/python provides a python shell for the current buildout.
  bin/django provides django functions for the current buildout.


You should now be able to run unit tests as follows:

  $ bin/django test