There are couple of places in the docs where it isn't explicitly mentioned whether to modify settings.py or local_settings.py to customize settings (this might not be obvious to people who are new to Horizon and Django). The changes include: - In the `Customizing Horizon` guide, under the section 'Modifying Existing Dashboards and Panels', explicitly mention local_settings.py file to be modified to update ``HORIZON_CONFIG`` setting - In the QuickStart guide, under the `Setup` section, add a note which mentions that to customize any settings use the local_settings.py file - In the 2013 Havana release notes, under section `Upgrade Information' for 'Allowed Hosts', specify only local_settings.py file to add the new 'ALLOWED_HOSTS' setting (instead of settings.py or local_settings.py) Change-Id: I38314cadd8a5a61d1edea26c6cd0d34e713fd66c Closes-Bug: 1301484
10 KiB
Horizon 2013.2 "Havana"
Release Overview
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!
Highlights
New Features
Heat
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.
Ceilometer
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.
Trove Databases
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.
Nova Features
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.
- Instance resizing.
- 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.
Neutron Features
A number of important new OpenStack Networking (Neutron) features are showcased in the Havana release, most notably:
- VPN as a Service.
- Firewall as a Service.
- 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.
Security Group Rule Templates
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 via the SECURITY_GROUP_RULES
setting.
Community
Translation Team
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.
User Experience Group
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.
Role-Based Access Controls
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_PATH
and
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.
- API call efficiency optimizations.
- 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.
Upgrade Information
Allowed Hosts
For production deployments of Horizon you must add the
ALLOWED_HOSTS
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 local_settings.py.example
file or
Django's documentation.
Enabling Keystone and Neutron Features
If you have existing configurations for the
OPENSTACK_KEYSTONE_BACKEND
or
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
Session Creation and Health Checks
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.
Conflicting Security Group Names With Neutron
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.
Backwards Compatibility
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.