Jump to: navigation, search

Difference between revisions of "OpenStackDashboard"

Line 1: Line 1:
 
__NOTOC__
 
__NOTOC__
= [[OpenStack]] Dashboard =
+
= [[OpenStack]] Dashboard (Horizon) =
  
The OpenStack Dashboard (Dashboard) provides a baseline user interface for managing OpenStack services. It is a reference implementation built using the django-openstack project which contains all of the core functionality needed to develop a site-specific implementation. This page provides step-by-step instructions for installing and running Dashboard.
+
The OpenStack Dashboard (Horizon) provides a baseline user interface for managing OpenStack services. It is a reference implementation built using the django-openstack project which contains all of the core functionality needed to develop a site-specific implementation. This page provides step-by-step instructions for installing and running Dashboard.
  
 
== Requirements ==
 
== Requirements ==
Line 16: Line 16:
 
* a [[Quantum|Quantum]] (networking) endpoint  
 
* a [[Quantum|Quantum]] (networking) endpoint  
  
Dashboard is tested on Ubuntu 10.10 server, however, it should run on any system with Python 2.6 or 2.7 that is capable of running Django including Mac OS X (installing prerequisites may differ depending on platform).
+
Horizon is tested on Ubuntu 10.10 server, however, it should run on any system with Python 2.6 or 2.7 that is capable of running Django including Mac OS X (installing prerequisites may differ depending on platform).
  
 
== Installation Overview ==
 
== Installation Overview ==
  
Installing Dashboard involves four basic steps:
+
Installing Horizon involves four basic steps:
  
 
# get the source from Github
 
# get the source from Github
Line 31: Line 31:
 
== Get The Source ==
 
== Get The Source ==
  
Execute the following in a terminal on the host you would like to install Dashboard on:
+
Execute the following in a terminal on the host you would like to install Horizon on:
  
  
 
<pre><nowiki>
 
<pre><nowiki>
$ git clone  https://github.com/4P/horizon
+
$ git clone  https://github.com/openstack/horizon
 
</nowiki></pre>
 
</nowiki></pre>
  
  
You should now have a directory called openstack-dashboard, which contains the Dashboard application.
+
You should now have a directory called openstack-dashboard, which contains the Horizon application.
  
== Configure Dashboard ==
+
== Configure Horizon ==
  
With the reference implementation built, it is now time to configure our Dashboard application. The first step in configuring the application is to create your local_settings.py file:
+
With the reference implementation built, it is now time to configure our Horizon application. The first step in configuring the application is to create your local_settings.py file:
  
  
Line 52: Line 52:
  
  
The local_settings.py file contains a default starting point for running Dashboard. There are three key sections of the local_settings.py file that need to be edited for most deployments.
+
The local_settings.py file contains a default starting point for running Horizon. There are three key sections of the local_settings.py file that need to be edited for most deployments.
  
 
=== Keystone Configuration ===
 
=== Keystone Configuration ===
  
Dashboard requires a Keystone endpoint for identity and authentication. The settings in local_settings.py pertaining to Keystone are:
+
Horizon requires a Keystone endpoint for identity and authentication. The settings in local_settings.py pertaining to Keystone are:
  
 
# OPENSTACK_ADMIN_TOKEN (a pre-configured Keystone admin token)
 
# OPENSTACK_ADMIN_TOKEN (a pre-configured Keystone admin token)
Line 111: Line 111:
  
  
== Install Dashboard ==
+
== Install Horizon ==
  
After Dashboard has been configured install the Dashboard virtual environment using the terminal commands below:
+
After Horizon has been configured install the Horizon virtual environment using the terminal commands below:
  
 
Note: the instructions below are for Ubuntu, however, setuptools can be installed on a wide variety of platforms: http://pypi.python.org/pypi/setuptools
 
Note: the instructions below are for Ubuntu, however, setuptools can be installed on a wide variety of platforms: http://pypi.python.org/pypi/setuptools
Line 127: Line 127:
 
Installing the virtual environment will take some time depending on download speeds.
 
Installing the virtual environment will take some time depending on download speeds.
  
== Run Dashboard ==
+
== Run Horizon ==
  
Dashboard is run using the standard Django manage.py script from the context of the virtual environment:
+
Horizon is run using the standard Django manage.py script from the context of the virtual environment:
  
  
Line 137: Line 137:
  
  
At this point the Dashboard should be available at http://dashboardhost:8000/.
+
At this point the Horizon should be available at http://dashboardhost:8000/.
  
 
== Optional Step: Configure VNC ==
 
== Optional Step: Configure VNC ==
Line 143: Line 143:
 
Note: Tested only with KVM but should work with other hypervisors.
 
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.
+
In the same /src directory as your Horizon is housed, get a copy of noVNC.
  
  
Line 168: Line 168:
 
= Video Demos =
 
= Video Demos =
  
'''Note''': These videos are out-of-date and do not reflect the latest Dashboard implementation.
+
'''Note''': These videos are out-of-date and do not reflect the latest Horizon implementation.
  
To view a quick video tour of Dashboard in action, please see this [http://blog.rabbityard.com/post/2937203639/openstack-dashboard-video blog post].
+
To view a quick video tour of Horizon in action, please see this [http://blog.rabbityard.com/post/2937203639/openstack-dashboard-video blog post].
  
 
You can also view a more recent demo at http://vimeo.com/20787736.
 
You can also view a more recent demo at http://vimeo.com/20787736.

Revision as of 20:14, 28 October 2011

OpenStack Dashboard (Horizon)

The OpenStack Dashboard (Horizon) provides a baseline user interface for managing OpenStack services. It is a reference implementation built using the django-openstack project which contains all of the core functionality needed to develop a site-specific implementation. This page provides step-by-step instructions for installing and running Dashboard.

Requirements

  • python 2.6 or 2.7 (not tested with python 3.0)
  • git
  • a Keystone (identity and authentication service) endpoint
  • a Compute (Nova) enpoint

Optional

  • an Image Store (Glance) endpoint
  • an Object Store (Swift) endpoint
  • a Quantum (networking) endpoint

Horizon is tested on Ubuntu 10.10 server, however, it should run on any system with Python 2.6 or 2.7 that is capable of running Django including Mac OS X (installing prerequisites may differ depending on platform).

Installation Overview

Installing Horizon involves four basic steps:

  1. get the source from Github
  2. configure
  3. install
  4. run

These instructions are for a development openstack-dashboard deployment. For production deployments consider using Apache (more instructions on the Django website.

Get The Source

Execute the following in a terminal on the host you would like to install Horizon on:


$ git clone  https://github.com/openstack/horizon


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

Configure Horizon

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


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


The local_settings.py file contains a default starting point for running Horizon. There are three key sections of the local_settings.py file that need to be edited for most deployments.

Keystone Configuration

Horizon requires a Keystone endpoint for identity and authentication. The settings in local_settings.py pertaining to Keystone are:

  1. OPENSTACK_ADMIN_TOKEN (a pre-configured Keystone admin token)
  2. OPENSTACK_KEYSTONE_URL (the Keystone endpoint URL)

General instructions for Installing the latest Keystone can be found on Github. For a good all-in-one Nova/Glance/Keystone installation there is the devstack project.

The admin token can be generated by executing something like the following using the keystone-manage command on the Keystone host:


keystone-manage token add 999888777666 admin admin 2015-02-05T00:00


To use this token you would add the following to local_settings.py:


OPENSTACK_ADMIN_TOKEN = "999888777666"


The Keystone endpoint setting takes the following form:


OPENSTACK_KEYSTONE_URL = "http://mykeystoneurl:5000/v2.0/"


Swift Configuration (optional)

If a Swift endpoint is available and configured in the Keystone service catalog turning on the Swift UI is as simple as adding the following to local_settings.py:


SWIFT_ENABLED = True


Quantum Configuration (optional)

Quantum currently requires the following settings:


QUANTUM_ENABLED = True
QUANTUM_URL = '127.0.0.1'
QUANTUM_PORT = '9696'
QUANTUM_TENANT = '1234'
QUANTUM_CLIENT_VERSION='0.1'


Install Horizon

After Horizon has been configured install the Horizon virtual environment using the terminal commands below:

Note: the instructions below are for Ubuntu, however, setuptools can be installed on a wide variety of platforms: http://pypi.python.org/pypi/setuptools


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


Installing the virtual environment will take some time depending on download speeds.

Run Horizon

Horizon is run using the standard Django manage.py script from the context of the virtual environment:


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


At this point the Horizon should be available at http://dashboardhost:8000/.

Optional Step: Configure VNC

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

In the same /src directory as your Horizon 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.

Video Demos

Note: These videos are out-of-date and do not reflect the latest Horizon implementation.

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

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