
Implements blueprint extensible-architecture. Implements blueprint improve-dev-documentation. Implements blueprint gettext-everywhere. Implements blueprint sphinx-docs. Complete re-architecture of the dashboard to transform it from a standalone django-openstack app to a Horizon framework for building dashboards. See the docs for more information. Incidentally fixes the following bugs: Fixes bug 845868 -- no PEP8 violations. Fixes bug 766096 -- the dashboard can now be installed at any arbitrary URL. Fixes bug 879111 -- tenant id is now controlled solely by the tenant switcher, not the url (which was disregarded anyway) Fixes bug 794754 -- output of venv installation is considerably reduced. Due to the scale and scope of this patch I recommend reviewing it on github: https://github.com/gabrielhurley/horizon/tree/extensible_architecture Change-Id: I8e63f7ea235f904247df40c33cb66338d973df9e
60 lines
1.6 KiB
Plaintext
60 lines
1.6 KiB
Plaintext
========================================
|
|
Horizon: The OpenStack Dashboard Project
|
|
========================================
|
|
|
|
The Horizon project is a Django module that is used to provide web based
|
|
interactions with an OpenStack cloud.
|
|
|
|
There is a reference implementation that uses this module located at:
|
|
|
|
http://launchpad.net/horizon
|
|
|
|
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 ``horizon`` module.
|
|
|
|
Of course, if you are developing your own Django site using Horizon, then
|
|
you can disregard this advice.
|
|
|
|
|
|
Getting Started
|
|
===============
|
|
|
|
Horizon uses Buildout (http://www.buildout.org/) to manage local development.
|
|
To configure your local Buildout environment first install the following
|
|
system-level dependencies:
|
|
|
|
* python-dev
|
|
* git
|
|
* bzr
|
|
|
|
Then instantiate buildout with::
|
|
|
|
$ python bootstrap.py
|
|
$ bin/buildout
|
|
|
|
This will install all the dependencies of Horizon 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
|
|
|
|
or::
|
|
|
|
$ bin/test
|
|
|
|
You can run unit tests with code coverage on Horizon by setting
|
|
``NOSE_WITH_COVERAGE``::
|
|
|
|
$ NOSE_WITH_COVERAGE=true bin/test
|
|
|
|
Get even better coverage info by running coverage directly::
|
|
|
|
$ coverage run --branch --source horizon bin/django test horizon && coverage html
|