Difference between revisions of "OpenStackDashboard"
(Updated document to reflect Keystone integration.) |
|||
Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
= [[OpenStack]] Dashboard = | = [[OpenStack]] Dashboard = | ||
− | The OpenStack Dashboard is a reference implementation for the django-nova project. | + | 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 [http://blog.rabbityard.com/post/2937203639/openstack-dashboard-video blog post]. | To view a quick video tour of the dashboard in action, please see this [http://blog.rabbityard.com/post/2937203639/openstack-dashboard-video blog post]. | ||
Line 8: | Line 8: | ||
== Prerequisites for Running The [[OpenStack]] Dashboard == | == Prerequisites for Running The [[OpenStack]] Dashboard == | ||
− | * python 2.6 (not tested with python 3.0) | + | * python 2.6 (not tested with python 3.0). |
− | * Running | + | * Running a [https://github.com/rackspace/keystone Keystone] instance. |
− | * URL of your | + | * 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. | These instructions have only been tested on Ubuntu 10.10 server. | ||
Line 18: | Line 18: | ||
The overall steps for building the dashboard are: | The overall steps for building the dashboard are: | ||
− | # Get the source for openstack-dashboard from | + | # Get the source for openstack-dashboard from Github. |
− | # Build and configure openstack-dashboard | + | # Build and configure openstack-dashboard. |
− | + | # Run the server. | |
− | # Run the server | ||
− | These instructions are for a '''test''' openstack-dashboard deployment. They configure your dashboard to use | + | 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 == | == Get The Source == | ||
Line 43: | Line 42: | ||
</nowiki></pre> | </nowiki></pre> | ||
− | You should now have a directory called | + | You should now have a directory called openstack-dashboard, which contains the OpenStack Dashboard application. |
== Build and Configure openstack-dashboard == | == Build and Configure openstack-dashboard == | ||
Line 57: | Line 56: | ||
In the local_settings.py file, we need to change several important options: | 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. | Now it's time to install the openstack-dashboard environment. This installs all the dependencies for openstack-dashboard. | ||
Line 75: | Line 71: | ||
This will take a bit as it needs to download a number of dependencies from the internet. | This will take a bit as it needs to download a number of dependencies from the internet. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Run the Server == | == Run the Server == | ||
Line 192: | Line 92: | ||
git clone https://github.com/openstack/noVNC.git | git clone https://github.com/openstack/noVNC.git | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
Next, run the vncproxy by creating a new screen window with <ctrl>-a <ctrl>-c. | Next, run the vncproxy by creating a new screen window with <ctrl>-a <ctrl>-c. | ||
Line 203: | Line 102: | ||
</nowiki></pre> | </nowiki></pre> | ||
− | + | To your nova.conf, you also need to add the flag: --vncproxy_url=http://<ip of vnc proxy>:6080 | |
− | 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. | Now your VNC button should launch a VNC window so that you can access the instance. |
Revision as of 23:40, 18 July 2011
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:
- Get the source for openstack-dashboard from Github.
- Build and configure openstack-dashboard.
- 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.