
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
99 lines
2.9 KiB
ReStructuredText
99 lines
2.9 KiB
ReStructuredText
=============================
|
|
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:
|
|
|
|
* https://launchpad.net/horizon
|
|
|
|
For blueprints and feature specifications:
|
|
|
|
* https://blueprints.launchpad.net/horizon
|
|
|
|
For issue tracking:
|
|
|
|
* https://bugs.launchpad.net/horizon
|
|
|
|
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.
|
|
|
|
.. _Devstack: http://devstack.org/
|
|
|
|
|
|
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`_
|
|
|
|
.. _reStructuredText: http://docutils.sourceforge.net/rst.html
|
|
.. _Sphinx: http://sphinx.pocoo.org/
|
|
|
|
* 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
|