
The root cause of 1479018 was the mixed method for loading content in horizon. This patch moves horizon to load purely from enabled files. There are a couple of things that were required to allow this change. 1) Adding a mechanism, can_register() to horizon/base.py to handle the configuration based loading checks that had been accumulating in the panel.py files. This is an optional static method in Panel to encapsulate such configuration (read settings) based panel loading logic. And added testing for and documentation for this addition. 2) Create a numbering scheme for plugins. Moved the base dashboards to _1000_project.py _2000_admin.py _3000_identity.py _5000_settings.py. then populated the required panel_group and panel enabled files sparsely in those ranges. The sparseness is to allow for future additions. Additionally, I moved the already added Angular based panels next to their Django counterparts. Once the configuration loading was normalized, the bug reported in 1479018 was resolved and tests work with plugins panels in all dashboards. Close-Bug: #1479018 Partially implements: blueprint plugin-sanity Change-Id: I657e7ce37b2593a901a859cebf3d6ff8ada91941
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.
- Release management: https://launchpad.net/horizon
- Blueprints and feature specifications: https://blueprints.launchpad.net/horizon
- Issue tracking: https://bugs.launchpad.net/horizon
Using Horizon
See doc/source/topics/install.rst
about how to install
Horizon in your OpenStack setup. It describes the example steps and has
pointers for more detailed settings and configurations.
It is also available at http://docs.openstack.org/developer/horizon/topics/install.html.
Getting Started for Developers
doc/source/quickstart.rst
or http://docs.openstack.org/developer/horizon/quickstart.html
describes how to setup Horizon development environment and start
development.
Building Contributor Documentation
This documentation is written by contributors, for contributors.
The source is maintained in the doc/source
directory
using reStructuredText and
built by Sphinx
Building Automatically:
$ ./run_tests.sh --docs
Building Manually:
$ tools/with_venv.sh sphinx-build doc/source doc/build/html
Results are in the doc/build/html
directory