Jump to: navigation, search

Difference between revisions of "OpenStackDashboard"

(Added a link to the Horizon documentation (Just so there is something here))
 
(5 intermediate revisions by 4 users not shown)
Line 1: Line 1:
__NOTOC__
 
= [[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.
+
<!-- #REDIRECT Horizon -->
 +
== OpenStack Dashboard documentation ==
  
== Requirements ==
+
[http://docs.openstack.org/developer/horizon/ Horizon: The OpenStack Dashboard Project]
 
 
* python 2.6 or 2.7 (not tested with python 3.0)
 
* [http://git-scm.com/ git]
 
* a [https://launchpad.net/keystone Keystone] (identity and authentication service) endpoint
 
* a Compute ([[Nova|Nova]]) endpoint
 
 
 
=== Optional ===
 
* an Image Store ([[InstallInstructions/Glance|Glance]]) endpoint
 
* an Object Store ([[Swift|Swift]]) endpoint
 
* a [[Quantum|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:
 
 
 
# get the source from Github
 
# configure
 
# install
 
# run
 
 
 
These instructions are for a '''development''' openstack-dashboard deployment. For production deployments consider using Apache (more instructions on the [https://docs.djangoproject.com/en/dev/howto/deployment/modpython/ Django website].
 
 
 
Note: When starting completely from scratch (i.e. no configured and running OpenStack installation with Nova, Glance, Keystone, etc.) the [[#devstack|DevStack]] project is a good way to get started.
 
 
 
== Get The Source ==
 
 
 
Execute the following in a terminal on the host you would like to install Horizon on:
 
 
 
 
 
<pre><nowiki>
 
$ git clone  https://github.com/openstack/horizon
 
</nowiki></pre>
 
 
 
 
 
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:
 
 
 
 
 
<pre><nowiki>
 
$ cd horizon/openstack-dashboard
 
$ cp local/local_settings.py.example local/local_settings.py
 
</nowiki></pre>
 
 
 
 
 
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:
 
 
 
# OPENSTACK_ADMIN_TOKEN (a pre-configured Keystone admin token)
 
# OPENSTACK_KEYSTONE_URL (the Keystone endpoint URL)
 
 
 
General instructions for Installing the latest Keystone can be found on [https://github.com/openstack/keystone Github]. For a good all-in-one Nova/Glance/Keystone installation there is the [https://github.com/cloudbuilders/devstack devstack] project.
 
 
 
The admin token can be generated by executing something like the following using the keystone-manage command on the Keystone host:
 
 
 
 
 
<pre><nowiki>
 
keystone-manage token add 999888777666 admin admin 2015-02-05T00:00
 
</nowiki></pre>
 
 
 
 
 
To use this token you would add the following to local_settings.py:
 
 
 
 
 
<pre><nowiki>
 
OPENSTACK_ADMIN_TOKEN = "999888777666"
 
</nowiki></pre>
 
 
 
 
 
The Keystone endpoint setting takes the following form:
 
 
 
 
 
<pre><nowiki>
 
OPENSTACK_KEYSTONE_URL = "http://mykeystoneurl:5000/v2.0/"
 
</nowiki></pre>
 
 
 
 
 
=== 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:
 
 
 
 
 
<pre><nowiki>
 
SWIFT_ENABLED = True
 
</nowiki></pre>
 
 
 
 
 
=== Quantum Configuration (optional) ===
 
 
 
Quantum currently requires the following settings:
 
 
 
 
 
<pre><nowiki>
 
QUANTUM_ENABLED = True
 
QUANTUM_URL = '127.0.0.1'
 
QUANTUM_PORT = '9696'
 
QUANTUM_TENANT = '1234'
 
QUANTUM_CLIENT_VERSION='0.1'
 
</nowiki></pre>
 
 
 
 
 
== Install Horizon ==
 
 
 
=== Install Virtual Environment ===
 
 
 
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
 
 
 
 
 
<pre><nowiki>
 
$ apt-get install -y python-setuptools
 
$ sudo easy_install virtualenv
 
$ python tools/install_venv.py
 
</nowiki></pre>
 
 
 
 
 
Installing the virtual environment will take some time depending on download speeds.
 
 
 
=== Initialize Database Schema ===
 
 
 
Horizon session data is stored in the database specified in local_settings.py (SQLite by default). After the virtual environment has been installed run the following command to update the database schema to store session information:
 
 
 
 
 
<pre><nowiki>
 
$ tools/with_venv.sh dashboard/manager.py syncdb
 
</nowiki></pre>
 
 
 
 
 
== Run Horizon ==
 
 
 
Horizon is launched using the standard Django manage.py script from the context of the virtual environment:
 
 
 
 
 
<pre><nowiki>
 
$ tools/with_venv.sh dashboard/manage.py runserver 0.0.0.0:8000
 
</nowiki></pre>
 
 
 
 
 
At this point the Horizon should be available at http://dashboardhost:8000/.
 
 
 
<span id="devstack"></span>
 
== [[DevStack]] Optional All-In-One Developer Install ==
 
 
 
The [http://devstack.org/ DevStack] project is an all-in-one shell script that creates a functional development environment for OpenStack. The DevStack script will install all of the services necessary to provide a functioning development environment, including Horizon, which drastically simplifies the installation and configuration of core components like Nova, Glance, Keystone, etc. This is the best option when starting from a blank slate (i.e. no currently configured and running end-points for Nova, Glance, Keystone, etc.).
 
 
 
== 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.
 
 
 
 
 
<pre><nowiki>
 
cd ~/src
 
git clone https://github.com/openstack/noVNC.git
 
</nowiki></pre>
 
 
 
 
 
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:
 
 
 
 
 
<pre><nowiki>
 
bin/nova-vncproxy --vncproxy_wwwroot ~/src/noVNC --flagfile=/path/to/flagfile
 
</nowiki></pre>
 
 
 
 
 
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 [http://blog.rabbityard.com/post/2937203639/openstack-dashboard-video blog post].
 
 
 
You can also view a more recent demo at http://vimeo.com/20787736.
 

Latest revision as of 16:44, 22 April 2013

OpenStack Dashboard documentation

Horizon: The OpenStack Dashboard Project