OpenStack Dashboard (Horizon)
Go to file
Gabriel Hurley 052aa55d34 Unifies the project packaging into one set of modules.
There are no longer two separate projects living inside the horizon
repository. There is a single project now with a single setup.py,
single README, etc.

The openstack-dashboard/dashboard django project is now named
"openstack_dashboard" and lives as an example project in the
topmost horizon directory.

The "horizon/horizon" directory has been bumped up a level and now
is directly on the path when the root horizon directory is on
your python path.

Javascript media which the horizon module directly relies upon
now ships in the horizon/static dir rather than
openstack-dashboard/dashboard/static.

All the corresponding setup, installation, build, and env scripts
have been updated accordingly.

Implements blueprint unified-packaging.

Change-Id: Ieed8e3c777432cd046c3e0298869a9428756ab62
2012-02-29 00:20:13 -08:00
docs Unifies the project packaging into one set of modules. 2012-02-29 00:20:13 -08:00
horizon Unifies the project packaging into one set of modules. 2012-02-29 00:20:13 -08:00
openstack_dashboard Unifies the project packaging into one set of modules. 2012-02-29 00:20:13 -08:00
tools Unifies the project packaging into one set of modules. 2012-02-29 00:20:13 -08:00
.bzrignore Re-architects the OpenStack Dashboard for modularity and extensibility. 2011-11-07 12:59:21 -08:00
.gitignore Unifies the project packaging into one set of modules. 2012-02-29 00:20:13 -08:00
.gitreview Add .gitreview and rfc.sh. 2011-10-28 09:50:35 -04:00
.pylintrc updating run_tests.sh to mimic other openstack projects, pep8, pylint, coverage 2011-08-31 14:41:36 -07:00
AUTHORS Adds test (copied from Glance/Keystone) to verify authors file is up-to-date. 2012-02-23 17:13:10 -08:00
LICENSE Initial commit 2011-01-12 13:43:31 -08:00
Makefile Unifies the project packaging into one set of modules. 2012-02-29 00:20:13 -08:00
README.rst Unifies the project packaging into one set of modules. 2012-02-29 00:20:13 -08:00
manage.py Unifies the project packaging into one set of modules. 2012-02-29 00:20:13 -08:00
run_tests.sh Unifies the project packaging into one set of modules. 2012-02-29 00:20:13 -08:00
setup.py Unifies the project packaging into one set of modules. 2012-02-29 00:20:13 -08:00

README.rst

Horizon (OpenStack Dashboard)

Horizon is a Django-based project aimed at providing a complete OpenStack Dashboard along with an extensible framework for building new dashboards from reusable components. The openstack_dashboard module is a reference implementation of a Django site that uses the horizon app to provide web-based interactions with the various OpenStack projects.

For release management:

For blueprints and feature specifications:

For issue tracking:

Getting Started

For local development, first create a virtualenv for the project. In the tools directory there is a script to create one for you:

$ python tools/install_venv.py

Alternatively, the run_tests.sh script will also install the environment for you and then run the full test suite to verify everything is installed and functioning correctly.

Now that the virtualenv is created, you need to configure your local environment. To do this, create a local_settings.py file in the local/ directory. There is a local_settings.py.example file there that may be used as a template.

If all is well you should able to run the development server locally:

$ tools/with_venv.sh manage.py runserver

or, as a shortcut:

$ ./run_tests.sh --runserver

Settings Up OpenStack

The recommended tool for installing and configuring the core OpenStack components is Devstack. Refer to their documentation for getting Nova, Keystone, Glance, etc. up and running.

Development

For development, start with the getting started instructions above. Once you have a working virtualenv and all the necessary packages, read on.

If dependencies are added to either horizon or openstack-dashboard, they should be added to tools/pip-requires.

The run_tests.sh script invokes tests and analyses on both of these components in its process, and it is what Jenkins uses to verify the stability of the project. If run before an environment is set up, it will ask if you wish to install one.

To run the unit tests:

$ ./run_tests.sh

Building Contributor Documentation

This documentation is written by contributors, for contributors.

The source is maintained in the docs/source folder using reStructuredText and built by Sphinx

  • Building Automatically:

    $ ./run_tests.sh --docs
  • Building Manually:

    $ export DJANGO_SETTINGS_MODULE=local.local_settings
    $ python doc/generate_autodoc_index.py
    $ sphinx-build -b html doc/source build/sphinx/html

Results are in the build/sphinx/html directory