Ask Your Question

wchrisjohnson's profile - activity

2014-07-31 09:00:45 -0500 marked best answer How to cleanly add a PanelGroup to the Project dashboard (Horizon)?

I am attempting to build an app that works within the Horizon openstack_dashboard, similar to this: . This was useful too:

I am using the within my app to dynamically inject my app into the Horizon UI. It shows up, just not quite as cleanly as I'd like. Currently, it shows up within a PanelGroup called "Other", at the bottom of the Project's PanelGroups (Compute, Network, Object Store, Orchestration, Database, Other). I'd like to have the entry for my app/set of panels to occur via a PanelGroup within the existing Project dashboard, like so:

Project --> (Compute, Network, Object Store, Orchestration, Database, <my app="" name="">)

I've traced this to the way that Horizon dynamically builds the user interface when there is an app getting injected into the environment (ie: the tutorial noted above). In horizon -> horizon ->, inside get_panel_groups(), it "gathers known panels", then "Deal with leftovers (such as add-on registrations)". This second section of code ("Deal with left overs... ") puts my panel into a PanelGroup called "Other". So this is with intent.

I know I can modify Horizon directly and get this to work; I'd prefer doing it indirectly if at all possible. More maintainable.

So my questions are:

1) Is there a reason behind this strategy of the "Other" PanelGroup? 2) Is there a way to do what I'm trying to do in my app? 3) If so, how?

Thanks in advance!

2014-07-31 09:00:45 -0500 received badge  Nice Answer (source)
2014-07-31 08:59:44 -0500 received badge  Famous Question (source)
2014-07-30 19:20:36 -0500 received badge  Scholar (source)
2014-07-30 13:58:00 -0500 received badge  Student (source)
2014-07-30 13:56:28 -0500 received badge  Teacher (source)
2014-07-30 13:56:28 -0500 received badge  Self-Learner (source)
2014-07-30 12:06:19 -0500 answered a question How to cleanly add a PanelGroup to the Project dashboard (Horizon)?

It appears that the preferred approach to this sort of integration is to avoid the file in favor of a newer (since Icehouse) plugin based strategy:

I symlinked two files into Horizon here: Horizon -> openstack_dashboard -> local -> enabled

The files were named "" and "", and they followed the instructions/examples above. I removed my overrides file in my app and restarted the web server and it worked on the first try.

2014-07-30 11:56:00 -0500 received badge  Notable Question (source)
2014-07-30 10:22:24 -0500 received badge  Popular Question (source)