david-lyle's profile - activity

2017-04-12 03:30:21 -0600 received badge  Great Answer (source)
2017-04-12 03:30:21 -0600 received badge  Guru (source)
2015-04-24 13:58:02 -0600 commented answer How horizon dashboard (icehouse )internally fetch the data using AngularJS

There are no examples in Icehouse. You would have to look at the Kilo code to see an example. There is an entirely new Launch Instance workflow that uses angularJS. It is slated as experimental for Kilo, but it's in tree.

2015-04-24 13:55:02 -0600 answered a question Keeping track of tokens

Currently, Horizon only maintains two tokens, an unscoped and the current project scoped token. Although your user may have access to 3 projects, when you select the project scope via the project picker in the header, a scoped token for that project is obtained and the scoped token for the previous project is deleted [1].

When the user logs out the current project scoped token is deleted since that is the only scoped token maintained at that point.

As an additional note, in almost all cases, using a server side session store is recommended. See: https://github.com/openstack/horizon/... for more details.

[1] https://github.com/openstack/django_o...

2015-04-24 13:45:01 -0600 answered a question Is it possible that horizon terminates VMs without user action?

Horizon only does POSTs based on user action. It will perform GETs in the background on some views, but not POSTs.

Looking at the error log it appears possible that someone performed a Batch Terminate action when viewing the instances table. That would be the Terminate button on the top right hand side of the table with multiple rows selected checkbox in the first column of the table. I'm inferring that from the small difference in time stamps. I'm wondering if this was an unintentional batch action.

2015-04-13 10:42:07 -0600 answered a question How horizon dashboard (icehouse )internally fetch the data using AngularJS

OpenStack Dashboard is moving to utilizing AngularJS, but most views (including the instances view) in OpenStack Dashboard are generated server side with Django. Unlike most Django, instead of pulling the data from a local database, all data is pulled from the other OpenStack services via an API wrapper layer.

In the Horizon source tree, the python files where the API calls are handled is openstack_dashboard/api

2015-04-04 15:46:19 -0600 answered a question How to change the logo of Login Page?

The static directory for images in your checked out copy is openstack_dashboard/static/dashboard/img

Just replace the logo-splash.png and logo.png files in that directory.

More context on location: https://github.com/openstack/horizon/...

2015-04-03 19:38:45 -0600 answered a question volumes pagination

Cinder API v2 does support pagination, unfortunately support for that has not been added to horizon yet.

2015-04-01 15:03:55 -0600 received badge  Enthusiast
2015-03-29 22:31:42 -0600 answered a question How to install Horizon for production 'from source' (not using distro packages or devops tools)

http://docs.openstack.org/developer/h... is the current documentation for installing horizon. It includes instructions for installing mod-wsgi and add a horizon.conf file to your apache sites-available.

2015-03-27 14:16:47 -0600 answered a question How to propperly add link to Horizon login page

There is currently not an easy way to inject the content. The current model would require overriding the auth/_login.html template. Adding something like

{% block custom_content %}
    {% include "auth/_custom_content.html" %} 
{% endblock %}

to the auth/_login.html template would be relatively easy in upstream horizon, but the block location and scope would not work for everyone. And you would still have to replace the contents of an empty file, auth/_custom_content.html. But that would be automate-able.

2015-03-25 14:03:19 -0600 answered a question horizon default login page ?

By default the root url for horizon is '/'. So https://controller , should be sufficient (will redirect to https://controller/auth/login ). If you've aliased horizon to another url in your apache conf for the horizon site, that is not currently supported in a released version of Horizon, although it is in progress.

2015-03-25 13:58:12 -0600 commented question Refresh revoked token in horizon/keystone

Automatic rescoping of the unscoped token is not currently supported in horizon. If you wish to do this, you would have to modify https://github.com/openstack/horizon/... the process_exception in particular.

2015-03-25 12:12:53 -0600 answered a question When doing a long running operation in Horizon, how do I notify the user of the result

There is not a push notification mechanism in Horizon, only pull. I'm not sure adding the message on a separate thread will work because it's being added to a request that is not longer the active request.

The only way to accomplish that now is the poll for results from the API. Much like the instances tables does, https://github.com/openstack/horizon/...

It's an area of improvement in Horizon we're trying to address.

2015-03-25 12:00:52 -0600 answered a question Session key in Horizon disappear

The most likely answer is that you've eclipsed the maximum size of the signed cookie. The upper limit is roughly 4K, with the token and service catalog, there is little additional room.

I suggest choosing another SESSION_ENGINE. Either backed by memcache or a DB.

For more information see https://docs.djangoproject.com/en/1.7...

2015-03-25 11:57:03 -0600 answered a question What could be the possible cause for this? This is not happening for any of the forms..

All the forms delivered with Horizon should already be translated.

In order to make the translated messages appear, you will need to run: python manage.py --compilemessages in your horizon directory

And additionally you can choose the desired language from the settings link in the user drop down on the top right.

2015-03-03 11:19:48 -0600 received badge  Good Answer (source)
2015-03-03 11:19:48 -0600 received badge  Enlightened (source)
2014-08-12 11:32:32 -0600 received badge  Nice Answer (source)
2014-06-19 07:05:16 -0600 received badge  Nice Answer (source)
2014-06-17 05:39:12 -0600 received badge  Teacher (source)
2014-06-13 23:07:36 -0600 answered a question Facing problem in adding horizon dashboard

I can some problems with the dashboard.py file you posted. First BasePanelGroup should inherit from horizon.PanelGroup and not horizon.Dashboard Second, you are using two different slugs to refer to the hypervisors panel, "hypervisors" is correct (assuming you are wanting to use the existing panel). Third, you need to register the class, not the slug on the final line, so use horizon.register(Chargeback)

Fixing those may not get you all the way, but give you a clearer error to work forward from.

2014-06-13 22:43:40 -0600 received badge  Editor (source)
2014-06-13 22:42:46 -0600 answered a question horizon session timeout

There is no way to disable the timeout, which defaults to 30 minutes. However, you can increase the timeout to a much longer interval by adding

SESSION_TIMEOUT = desired number of seconds

to your local_settings.py and restarting apache.

Keystone will still have a default token expiration duration that may be encountered.

2014-02-09 23:53:35 -0600 answered a question Does Horizon support domain admin?

Not currently. Right now the Identity information is in the Admin dashboard. This is guarded by a role check of 'admin'.

The first step to allowing this to work, is update the openstack_dashboard/conf/keystone_policy.py file contents to match that of you keystone server. The second is to make the Identity panels navigable by someone other than admin. Third is add policy checks to the data loading in those panels.

Along those very lines, the is a Blueprint, to do #2 and #3 with code up for review, you may want to check out. https://blueprints.launchpad.net/horizon/+spec/separate-identity-dash (https://blueprints.launchpad.net/hori...)

Hope that helps.

2013-11-20 20:53:55 -0600 answered a question horizon project execution problem ( import settings )

I believe you are missing openstack_dashboard/local/local_settings.py. To start, you can copy the local_settings.py.example, but the Keystone endpoints will have to change. The setting is AVAILABLE_REGIONS.

2013-11-07 08:56:43 -0600 answered a question How to enable Heat-ui on Havana

I have not seen a patch for this added functionality. I will be happy to review it if/when it is submitted.

2013-11-06 01:17:04 -0600 answered a question How to enable Heat-ui on Havana

Heat is not a dashboard, it's panels in the existing Project dashboard in the Panel Group "Orchestration" the panel is "Stacks". The only thing needed to enable the panel is the openstack.services.orchestration returned in the users service catalog by keystone. If you are not seeing the Stacks panel, most likely the endpoint for heat is not registered with Keystone. In Horizon you can look at the Access and Security panel and look at the API Access tab. I suspect you won't see orchestration. You will need to register the heat endpoint in keystone.

If you are using devstack, instructions can be found at: https://wiki.openstack.org/wiki/Heat/GettingStartedUsingDevstack (https://wiki.openstack.org/wiki/Heat/...)

Remove the changes you listed above. That will break horizon.

2013-10-15 12:27:01 -0600 answered a question Horizon requirements

If you are up for making some minor modifications to horizon, you can make it work without nova. First update your default panel to the swift panel in local_settings.py. Then modify all the panels in the dashboards that pertain to anything other than identity or swift panel.py not to register.. Then you have an identity and swift only horizon.

2013-09-03 06:09:42 -0600 answered a question Need help for displaying Popup(workflow) after Popup(workflow) in Horizon than static page

An example of something similar to what you are trying to do can be found in the heat panels https://github.com/openstack/horizon/blob/master/openstack_dashboard/dashboards/project/stacks/forms.py#L150 (https://github.com/openstack/horizon/...) .

Hope that helps.

2013-08-23 02:07:10 -0600 answered a question about IE8 bug for confirm dialog

This bug was fixed in the Grizzly release. I don't believe the fix was backported to Essex. I suggest you either backport the fix or upgrade to Grizzly.

2013-08-06 23:33:48 -0600 answered a question How to add new dashboard on Horizon?

At this point, it is difficult to diagnose from the information given. There are several possible problems, but without access to your directory structure and source. The circular registration between the panel and the dashboard, a urls.py issue, whether __init__.py has two underscores or one. I would suggest hopping in the #openstack-horizon IRC room https://wiki.openstack.org/wiki/IRC and seek more interactive help there.

2013-08-06 15:34:07 -0600 answered a question How to add new dashboard on Horizon?

There are two places where it needs to be added in the settings file... This first place is in HORIZON_CONFIG, the second is in INSTALLED_APPS. This is also detailed in the above link.

2013-08-06 06:25:56 -0600 answered a question How to add new dashboard on Horizon?

Your new dashboard needs to also be referenced in the settings file. See: http://docs.openstack.org/developer/horizon/topics/tutorial.html#the-settings-file (http://docs.openstack.org/developer/h...)

2013-07-22 14:55:47 -0600 answered a question Behaviour of all_tenants with Keystone V3 Domains?

Keystone doesn't currently have a role for Domain admin. You are either admin (super admin) or member. I agree that this is highly problematic. The behavior of all_tenants does not honor domain boundaries as there is no built in role there.

2013-06-13 04:26:34 -0600 answered a question Dashboard dropdown buttons don't work

The version required for django-compressor was increased with a recent commit. The fast fix is to install django-compressor version >=1.3

For more information see the attached bug.

The requirement is updated on master as of June 10th.

2013-05-16 15:26:22 -0600 answered a question A description/notes for images?

The glance API supports a metadata being attached in to images in a field called properties. The description of the properties field is a from form key/value pair mapping. Right now, Horizon looks for specific properties in that properties field, like Kernel ID, Ramdisk ID and architecture. So theoretically Horizon could look for all fields in properties and show all, potentially messy and untranslatable. So another field could be added to the image properties by Horizon and then consumed by horizon. This would allow for translating the field label. The content however would remain untranslated.

2013-05-08 16:10:46 -0600 answered a question Openstack Horizon with register function

Are you asking how to implement a self-registration feature, or if one exists. If the latter, shausy is correct and a method integrated into Horizon does not exist. If you are asking how to implement this feature you will have a difficult time doing this without getting changes made in Keystone, as it does not currently have a method to self-register users. User creation currently requires an authenticated user.

2013-03-28 03:46:52 -0600 answered a question Horizon hangs while communicating with Keystone over https

The login is happening in the django-openstack-auth module which initializes its own python-keystoneclient connection. You will need to pass in your ca information in that instantiation as well, the file is backend.py. Our solution was to monkey-patch locally the HTTPClient __init__ method in python-keystoneclient client.py to pass in the ca info on every instantiation.

To better debug, add a logger in your local_settings.py for both requests and openstack_auth.

2013-02-28 06:34:56 -0600 answered a question G3-'module' object has no attribute 'urls'

The likely cause of your problem is that the pip-requires is pulling in Django 1.5. The django project posted version 1.5 after g3 was tagged that is not compatible with g3 of Horizon.

There are two ways to fix this. The is a post g3 commit merge that pins the django version to >=1.4 and <1.5 -or- you can edit the tools/pip-requires line that reads "Django>=1.4" to "Django>=1.4,<1.5"

You will then need to rebuild your .venv by either removing the .venv directory and running run_test.sh -V again or just run run_test.sh -V -f.

2013-02-25 23:05:14 -0600 answered a question define color palette in less files

Thanks John Postlethwait, that solved my question.

2013-02-12 16:49:32 -0600 asked a question define color palette in less files

I would like to propose extracting all the color references in the less files that are hard-coded and pull them out into a color-palette.less file that is loaded by the other less files and use the colors by @background-color type references. Is there any concerns or objections to this approach? I believe this would make customizing the color palette for branding purposesmuch simpler. Also adding new widgets would be simpler and more consistent without having to track down hard-coded color references.

2013-02-11 22:03:34 -0600 answered a question data table template extensions

A fix has been commited and merged onto master commit 83ac573a9e1d3614a45787e0de43abd8c7f231b7.