Horizon Program Technical Lead, David Lyle, provided in a recent Webcast and a blog post a pretty good summery on what’s coming up in Kilo release for Horizon.
Support for Ironic
Horizon will support Ironic in the Kilo release cycle for both end users and operators. End users will be able to set up a bare metal instance and operators can specify new nodes and bring them in and allocate them.
One of the main areas of focus for Horizon has been around better user experience. Horizon has been moving towards AngularJS as a client-side architecture in order to provide better, faster feedback to users, decrease the amount of data loading on each request, and push more of the UI onto the client side.
For the Kilo release, the team is working on a reference implementation to dictate how AngularJS will be implemented in Horizon.
Improved Table Experience
Currently, filtering and pagination within Horizon are inconsistent. For Kilo, the table experience will be improved by much of it to the client side, caching more data on the client and providing pagination and filtering in the Horizon code instead of relying on the APIs to do it.
David hopes this results in a more consistent user experience, and takes the guesswork out of understanding the paradigm on each page.
There is a wizard in Horizon currently, but it’s primitive and it has remained largely stagnant through Havana and Icehouse. David said he plans to refocus on that in this release because it’s one of the biggest usability issues Horizon faces — the launch instance workflow is confusing and requires a lot of upfront knowledge.
The Horizon team has been working with the OpenStack UX team to design a better workflow that will be implemented on the client side. The team will use the network wizard as well to make sure they have an extensible format and an extensible widget.
Refine plugin support
It’s important that Horizon has a clean plug-in mechanism that doesn’t involve editing horizon source code.
Right now it requires a user to add files into the directory where Horizon gets deployed; this isn’t optimal because it causes problems when a user wants to update a package. The Kilo version of Horizon will have refined plug-in support that allows users to point to where the plug-in mechanism is and provide better Angular support.
One concern that operators have is that they don’t want to ship Horizon with the same UI as everyone else, especially if they’re putting it in front of customers. David said there’s a need to be able to theme it better without having to hack the code.
The team plans to continue development and provide an improved theming mechanism that’s easy to work with.
Federation and SSO (Single Sign On)
Many corporations that use Openstack already have an authentication backend where users are set up. They don’t want to have to duplicate their work by pulling all of that into Keystone. For Kilo, the team is working on providing a mechanism for a federated login and single sign on. Therefore, if you’re authenticated into your corporate auth system, when you come to Horizon, you won’t have to do it again.
The Horizon team is working with the Keystone team to provide federated authentication.
Multi-domain identity operations
Horizon currently supports multiple domains to a degree, but David said that the project needs a richer set of roles other than admin and member to do operations, and they need domain admin.
Horizon can’t support that currently because it doesn’t interact with Keystone the right way. The goal is to add in the support for the Kilo release.