Jump to: navigation, search

OpenStackDashboard

Revision as of 23:40, 18 July 2011 by Michael (talk) (Updated document to reflect Keystone integration.)

OpenStack Dashboard

The OpenStack Dashboard is a reference implementation for the django-nova project. It is housed on Github.

To view a quick video tour of the dashboard in action, please see this blog post.

You can also view a more recent demo at http://vimeo.com/20787736.

Prerequisites for Running The OpenStack Dashboard

  • python 2.6 (not tested with python 3.0).
  • Running a Keystone instance.
  • URL of your keystone instance (this is usually something like http://localhost:5000/v2.0).
  • Admin token for your keystone instance.

These instructions have only been tested on Ubuntu 10.10 server.

Installation Overview

The overall steps for building the dashboard are:

  1. Get the source for openstack-dashboard from Github.
  2. Build and configure openstack-dashboard.
  3. Run the server.

These instructions are for a test openstack-dashboard deployment. They configure your dashboard to use the default django server. To create a more robust installation, you should configure this with an Apache webserver.

Get The Source

To prevent any interruption to our hacking, let's grab all the code that we need.

Create Your Source Directory

$ mkdir src
$ cd src

Get openstack-dashboard

openstack-dashboard provides all the look and feel for the dashboard.


$ git clone https://github.com/4P/openstack-dashboard

You should now have a directory called openstack-dashboard, which contains the OpenStack Dashboard application.

Build and Configure openstack-dashboard

With the reference implementation built, it is now time to configure our OpenStack Dashboard application. The first step in configuring the application is to create your local_settings.py file:


$ cd openstack-dashboard/local
$ cp local_settings.py.example local_settings.py
$ vi local_settings.py

In the local_settings.py file, we need to change several important options:

  • OPENSTACK_ADMIN_TOKEN : Token for Keystone endpoint.
  • OPENSTACK_KEYSTONE_URL : URL for the Keystone endpoint.
  • SWIFT_ENABLED : Flag to enable/disable swift support from the dashboard.

Now it's time to install the openstack-dashboard environment. This installs all the dependencies for openstack-dashboard.


$ apt-get install -y python-setuptools
$ cd ..
$ sudo easy_install virtualenv
$ python tools/install_venv.py

This will take a bit as it needs to download a number of dependencies from the internet.

Run the Server

Now run the built-in server at an unprivileged port so that you can view your results:


$ tools/with_venv.sh dashboard/manage.py runserver 0.0.0.0:8000

Make sure that your firewall isn't blocking TCP/8000 and just point your browser at this server on port 8000. If you are running the server on the same machine as your browser, this would be "http://localhost:8000".

Configuring the VNC Console

Note: Tested only with KVM but should work with other hypervisors.

In the same /src directory as your Dashboard is housed, get a copy of noVNC.


cd ~/src
git clone https://github.com/openstack/noVNC.git

Next, run the vncproxy by creating a new screen window with <ctrl>-a <ctrl>-c.

You should run vncproxy with a pointer to the flag file as well:


bin/nova-vncproxy --vncproxy_wwwroot ~/src/noVNC --flagfile=/path/to/flagfile

To your nova.conf, you also need to add the flag: --vncproxy_url=http://<ip of vnc proxy>:6080

Now your VNC button should launch a VNC window so that you can access the instance.