The Havana release cycle brings support for three new projects, plus significant new features for several existing projects. On top of that, many aspects of user experience have been improved for both end users and administrators. The community continues to grow and expand. The Havana release is solidly the best release of the OpenStack Dashboard project yet!
The OpenStack Orchestration project (Heat) debuted in Havana, and Horizon delivers full support for managing your Heat stacks. Highlights include support for dynamic form generation from supported Heat template formats, stack topology visualizations, and full stack resource inspection.
Also debuting in Havana is the OpenStack Metering project (Ceilometer). Initial support for Ceilometer is included in Horizon so that it is possible for an administrator to query the usage of the cloud through the OpenStack Dashboard and better understand how the system is functioning and being utilized.
Domains, Groups, and More: Keystone v3 API Support¶
With the OpenStack Identity Service (Keystone) v3 API fully fledged in the Havana release, Horizon has added full support for all the new features such as Domains and Groups, Role management and assignment to Domains and Groups, Domain-based authentication, and Domain context switching.
The OpenStack Database as a Service project (Trove) graduated from incubation in the Havana cycle, and thanks to their industriousness they delivered a set of panels for the OpenStack dashboard to allow for provisioning and managing your Trove databases and backups. Disclaimer: Given that Trove’s first official release as an integrated project will not be until Icehouse this feature should still be considered experimental and may be subject to change.
The number of OpenStack Compute (Nova) features that are supported in Horizon continues to grow. New features in the Havana release include:
Editable default quotas.
The ability for an administrator to reset the password of a server/instance.
Availability zone support.
Improved region support.
Improved boot-from-volume support.
Per-project flavor support.
All of these provide a richer set of options for controlling where, when and how instances are launched, and improving how they’re managed once they’re up and running.
A number of important new OpenStack Networking (Neutron) features are showcased in the Havana release, most notably:
Editable and interactive network topology visualizations.
Full security group and quota parity between Neutron and Nova network.
These features allow for tremendous flexibility when constructing software-defined networks for your cloud using Neutron.
User Experience Improvements¶
Self-Service Password Change¶
Empowered by changes to the Keystone API, users can now change their own passwords without the need to involve an administrator. This is more secure and takes the hassle out of things for everyone.
Better Admin Information Architecture¶
Several sections of the Admin dashboard have been rearranged to more logically group information together. Additionally, new sources of information have been added to allow Admins to better understand the state of the hosts in the cloud and their relationship to host aggregates, availability zones, etc.
Improved Messaging To Users On Logout¶
Several new indicators have been added to inform users why they’ve been logged out when they land on the login screen unexpectedly. These indicators make it clear whether the user’s session has expired, they timed out due to inactivity, or they are not authorized for the section of the dashboard they attempted to access.
Since there are many very common security group rules which users tediously
re-add each time (rules for SSH and ping, for example) the Horizon team has
added pre-configured templates for common rules which a user can select and
add to their security group with two clicks. These rules are configurable
The OpenStack Translations team came fully into its own during the Havana cycle and the quality of the translations in Horizon are the best yet by far. Congratulations to that team for their success in building the community that started primarily within the OpenStack Dashboard project.
A fledgling OpenStack User Experience Group formed during the Havana cycle with the mission of improving UX throughout OpenStack. They have quickly made themselves indispensable to the process of designing and improving features in the OpenStack Dashboard. Expect significant future improvement in User Experience now that there are dedicated people actively collaborating in the open to raise the bar.
Under The Hood¶
Less Complicated LESS Compilation: No More NodeJS¶
Due to outcry from various parties, and made possible by improvements in the
Python community’s support for LESS, Horizon has removed all traces of NodeJS
from the project. We now use the
lesscpy module to compile our LESS into
the final stylesheets. This should not affect most users in any way, but it
should make life easier for downstream distributions and the like.
Horizon has begun the transition to using the other OpenStack projects’
policy.json files to enforce access controls in the dashboard if the files
are provided. This means access controls are more configurable and can be kept
in sync between the originating project and Horizon. Currently this is only
supported for Keystone and parts of Nova’s policy files. Full support will
come in the next release. You will need to set the
POLICY_FILES settings in order to enable this feature.
Other Improvements and Fixes¶
Swift container and object metadata are now supported.
New visualizations for utilization and quotas.
The Cisco N1K Router plugin’s additional features are available through a special additional dashboard when enabled and supported in Neutron.
Support for self-signed or other specified SSL certificate checking.
Glance image types are now configurable.
Sorting has been improved in many places through the dashboard.
Required fields in forms are now better indicated.
Session timeout can now be enabled to log out the user after a period of inactivity as a security feature.
Significant PEP8 and code quality compliance improvements.
Hundreds of bugfixes and minor user experience improvements.
For production deployments of Horizon you must add the
setting to your
local_settings.py file. This setting
was added in Django 1.5 and is an important security feature. For more
information on it please consult the
or Django’s documentation.
Enabling Keystone and Neutron Features¶
If you have existing configurations for the
OPENSTACK_NEUTRON_NETWORK settings, you will want to consult the
local_settings.example.py file for information on the new options that
have been added. Existing configurations will continue to work, but may not
have the correct keys to enable some of the new features in Havana.
Known Issues and Limitations¶
If you use a health monitoring service that pings the home page combined with a database-backed session backend you may experience excessive session creation. This issue is slated to be fixed soon, but in the interim the recommended solution is to write a periodic job that deletes expired sessions from your session store on a regular basis.
Deleting large numbers of resources simultaneously¶
Using the “select all” checkbox to delete large numbers of resources at once can cause network timeouts (depending on configuration). This is due to the underlying APIs not supporting bulk-deletion natively, and consequently Horizon has to send requests to delete each resource individually behind the scenes.
Whereas Nova Network uses only the name of a security group when specifying security groups at instance launch time, Neutron can accept either a name or a UUID. In order to support both, Horizon passes in the name of the selected security groups. However, due to some data-isolation issues in Neutron there is an issue that can arise if an admin user tries to specify a security group with the same name as another security group in a different project which they also have access to. Neutron will find multiple matches for the security group name and will fail to launch the instance. The current workaround is to treat security group names as unique for admin users.
The Havana Horizon release should be fully compatible with both Havana and Grizzly versions of the rest of the OpenStack integrated projects (Nova, Swift, etc.). New features in other OpenStack projects which did not exist in Grizzly will obviously only work in Horizon if the rest of the stack supports them as well.
Overall, great effort has been made to maintain compatibility for third-party developers who have built on Horizon so far.