← Back to team overview

openstack team mailing list archive

Re: horizon customization_module example???

 

On 5 March 2013 12:24, Wyllys Ingersoll <Wyllys.Ingersoll@xxxxxxxxxx> wrote:
>
> Thanks!
>
> Any hints on how to remove some of the default Nova panels from the dashboard using the customization_module?

Something like:

import horizon
nova = horizon.get_dashboard('nova')

nova.unregister(nova.get_panel('instances').__class__)

Substitute "projects" for "nova" in Grizzly.


You can also limit a panel to certain keystone roles with an
openstack.roles.<role> permission:

nova.get_panel('instances').permissions = ('openstack.roles.admin',)

or, more robustly:

instances = nova.get_panel('instances')
permissions = list(getattr(instances, 'permissions', []))
permissions.append('openstack.roles.admin')
instances.permissions = tuple(permissions)

Cheers,
Kieran

>
>
>
>
> On Mar 4, 2013, at 6:52 PM, Kieran Spear <kispear@xxxxxxxxx> wrote:
>
>> Hi Wyllys,
>>
>> On 5 March 2013 08:59, Wyllys Ingersoll <Wyllys.Ingersoll@xxxxxxxxxx> wrote:
>>> Questions:
>>> - If I name the customization_module as "my_dashboard.overrides" - where does the "overrides" file need to be created (i.e. what directory - full path) ?
>>
>> my_dashboard.overrides needs to be importable by the process running
>> Horizon. So your my_dashboard module needs to be on your python path
>> somehow. Probably the easiest way is to add a python-path argument to
>> the WSGIDaemonProcess line in Apache's Horizon config. I'm not sure
>> where this lives exactly for the ubuntu package (should be somewhere
>> under /etc/apache2/).
>>
>> Assuming your my_dashboard module lives in /opt/python/my_dashboard,
>> you'd make it look like the following:
>>
>> WSGIDaemonProcess [... existing options ...] python-path=/opt/python
>>
>> Alternatively you can make your module an installable python package
>> and install it system-wide (e.g., create a setup.py).
>>
>>> - Does it require other files to be present in that directory also such as the __init__.py or models.py  like a complete dashboard would?
>>
>> It will need a __init__.py but should be fine without a models.py.
>>
>> I'll see about getting this info added to the docs.
>>
>> Cheers,
>> Kieran
>>
>>>
>>> I think once I can figure out where to put my custom mods without making horizon barf all over itself, I can make my changes, but getting started is proving difficult.
>>>
>>> thanks,
>>>  Wyllys
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Mailing list: https://launchpad.net/~openstack
>>> Post to     : openstack@xxxxxxxxxxxxxxxxxxx
>>> Unsubscribe : https://launchpad.net/~openstack
>>> More help   : https://help.launchpad.net/ListHelp
>>>
>


References