[release][horizon] horizon 9.0.0 release (mitaka)
We are amped to announce the release of: horizon 9.0.0: OpenStack Dashboard This release is part of the mitaka release series. For more details, please see below. 9.0.0 ^^^^^ Cinder defines storage size in gibibytes (GiB), which is inconsistent with Horizon panels that show/request storage size in gigabytes (GB). New Features ************ * Added the Metadata tab to the new Launch Instance workflow to allow adding key-value metadata to an instance at launch. This includes any properties from the OS::Nova::Server namespace of the glance metadata definitions. * Allows to attach ports during instance launch <https://blueprints.launchpad.net/horizon/+spec/allow-launching- ports> * [blueprint angular-performance-strict-di (https://blueprints.launchpad.net/horizon/+spec/angular-performance- strict-di)] This blueprint enforces strict dependency injection in AngularJS code, for improvements to minification and thus performance. * Move OpenStack Dashboard Swift panel rendering logic to client- side using AngularJS for significant usability improvements. * Added the Developer dashboard plugin to contrib. This runs when "DEBUG=True", and adds tooling to the UI to aid in development. * Added the Bootstrap Theme Preview panel to the Developer dashboard. This panel contains a list of Bootstrap components with source code, so that developers can see examples of how to structure this code and the effects their theme will have upon it. * Added the Django template cached loader, so templates are stored in memory. See https://docs.djangoproject.com/en/1.8/ref/templates/api /#django.template.loaders.cached.Loader * [blueprint cinder-consistency-groups (https://blueprints.launchpad.net/horizon/+spec/cinder-consistency- groups)] This feature adds a new Consistency Groups tab to the Project Volumes panel. Consistency Groups (GG) contain existing volumes, and allow the user to perform actions on the volumes in one step. Actions include: create a CG, manage volumes associated with the CG, update a CG, and delete a CGs. Note that a CG can not be deleted if it contains any volumes. * Instance metadata can be updated (https://blueprints.launchpad.net/horizon/+spec/edit-server- metadata) * Made the Angular Launch Instance workflow the default in Horizon. * [blueprint integrate-magic-search (https://blueprints.launchpad.net/horizon/+spec/integrate-magic- search)] Magic Search was an external dependency that was being heavily modified or overwritten in sections, so the used parts of code base have been moved into Horizon. * [blueprint integration-tests-hardening (https://blueprints.launchpad.net/horizon/+spec/integration-tests- hardening)] This blueprint reduced failures in the integration tests caused by structure or styling changes, by making them less dependent on aspects of page structure, such as ordering or CSS classes. * Added the Update Encryption action for encrypted volume types. * [blueprint keystone-federation-protocol-mapping (https://blueprints.launchpad.net/horizon/+spec/keystone-federation- protocol-mapping)] This blueprint provides CRUD interaction for identity provider protocols. * Allow to override settings from local_settings.py with file snippets dropped into local_settings.d/ directory. * [blueprint pagination-for-flavor (https://blueprints.launchpad.net/horizon/+spec/pagination-for- flavor)] Added forward and backward pagination to the Flavors panel * Added support for managing domains and projects when using Keystone v3. Horizon now maintains a domain scoped token for users who have a role on a domain, a project scoped token for users who have a role on a project, or both a domain scoped token and project scoped token for users who have roles on both. * Domain management supports the following use cases: * Cloud Admin - View and manage identity resources across domains * Domain Admin - View and manage identity resources in the domain logged in * User - View identity project in the domain logged in * Horizon can be configured to run with multiple themes available at run time. A new selection widget is available through the user menu. It uses a browser cookie to allow users to toggle between the configured themes. By default, Horizon is configured with the two themes available, 'default' and 'material'. * Allow external plugins to contribute translations to the Javascript message catalog. * Selenium tests may now be exercised using the headless PhantomJS driver. * Added the angular extensible service which allows angular horizon elements such as workflows, tables, actions, and forms to be extended dynamically by adding, removing, or replacing items. The extensible service is applied to every workflow created using the horizon workflow service. This includes the angular Launch Instance workflow. * All Volume related panels in Horizon that previously used the term "GB" and "gigabyte" have been replaced with 'GiB' and 'gibibyte'. * [blueprint keystone-federation-idp (https://blueprints.launchpad.net/horizon/+spec/keystone-federation- idp)] Add support for managing keystone identity provider. To enable the panel, set "OPENSTACK_KEYSTONE_FEDERATION_MANAGEMENT" in the local_settting.py to True. * [blueprint keystone-federation-mapping (https://blueprints.launchpad.net/horizon/+spec/keystone-federation- mapping)] Add basic support for managing keystone federation mapping. * Added the LAUNCH_INSTANCE_DEFAULTS setting which allows specifying default values for the Launch Instance workflow. Initially only the Configuration Drive property is supported. * [blueprint message-of-the-day (https://blueprints.launchpad.net/horizon/+spec/message-of-the-day)] Message of the day can now be configured in horizon, this will be displayed to the user whenever they login. To enable the feature set "MESSAGES_PATH" in the local_settting.py to the directory where message files are located. The message file must have a .json file extension. * Added policy support to the angular workflow service so each step in a workflow can specify a policy check that must pass in order for the step to be displayed. Known Issues ************ * There are also some Nova related panels (e.g. "Instances") that reference storage size in "GB". These panels will be addressed in subsequent patches. Upgrade Notes ************* * All AngularJS code must use explicit dependency injection. See https://docs.angularjs.org/guide/di#using-strict-dependency- injection * Custom template tags must have a thread-safe Node implementation to work with the the cached loader. See https://docs.djangoproject.com/en/1.8/howto/custom-template-tags /#template-tag-thread-safety * Horizon no longer requires Magic Search as an external dependency. * The Sahara based content has been removed from the Horizon source tree and is now a separate plugin. To continue managing Sahara in Horizon, installing the sahara-dashboard plugin on the Horizon server is required. * The Trove based content has been removed from the Horizon source tree and is now a separate plugin. To continue managing Trove in Horizon, installing the trove-dashboard plugin on the Horizon server is required. * The main engine managing integration with oslo.policy has been moved to django_openstack_auth. The configuration is still managed in Horizon, but the setting for "POLICY_CHECK_FUNCTION" now uses "openstack_auth.policy.check" rather than "openstack_dashboard.policy.check". Current behavior will remain consistent. Deprecation Notes ***************** * The Python Swift panel has been deprecated and no longer displays by default. To use the old interface edit "enabled/_1920_project_containers_panel.py" to change "swift_panel" to "'legacy'". * The Python Launch Instance workflow has been deprecated and no longer displays by default. * The 'default_ipv4_subnet_pool_label' and 'default_ipv6_subnet_pool_label' options has been deprecated and will be removed in the Newton release. Starting with Mitaka you can create one default subnet pool per address family through the Neutron API. These subnet pools will automatically show up in the subnet pool list using the name of the pool as label. * The setting CUSTOM_THEME_PATH is now deprecated. * The setting DEFAULT_THEME_PATH is now deprecated. * The 'webroot' theme has been removed. Security Issues *************** * Policies associated with Consistency Groups exist in the Cinder policy file, and by default, all actions are disabled. Bug Fixes ********* * Provided the ability for plugins to contribute translations to the JavaScript message catalog. Previously the horizon and openstack_dahboard applications were hardcoded. * blueprint gb-to-gib-conversion <https://blueprints.launchpad.net/horizon/+spec/gb-to-gib- conversion/> * Several fixes have been made to the hzTable controller. The list below outline these changes. See inline documentation for usage details. * Properties are now bound to the controller instead of the scope. * Emit the *hzTable:clearSelected* event to clear table row selections. * The property *selections* tracks the checkbox selection state of each row. * The property *selected* is now a list of selected rows. * The property *numSelected* has been removed, use *selected.length* instead. * The *select* method has been renamed to to *toggleSelect*. * The 'webroot' theme was providing an example of how to set the webroot value through SCSS for accessing needed static URL prefixes for assets like font paths. This value is now retrieved directly from the Django settings and is available directly in the SCSS namespace via $static_url. Other Notes *********** * Current limitations on managing identity resources with Keystone v3: * Does not support role assignments across domains, such as giving a user in domain1 access to domain2. * Does not support project admins managing Keystone projects. * Does not support hierarchical project management. Changes in horizon 9.0.0.0rc1..9.0.0 ------------------------------------ 3f4eeaa Imported Translations from Zanata 10e6bf5 Fixing updating user with no default project dd4d1fb Imported Translations from Zanata 19b6a65 Fix opening multiple Launch Instance during jQuery table polling 8ad7d1f Imported Translations from Zanata 2694d45 Imported Translations from Zanata 2143bb6 Imported Translations from Zanata 7f1a831 Imported Translations from Zanata 184b67d Imported Translations from Zanata f1036b4 Imported Translations from Zanata 7c71e21 Imported Translations from Zanata 5d0391f Update .gitreview for stable/mitaka Diffstat (except docs and test files) ------------------------------------- .gitreview | 1 + horizon/locale/en_AU/LC_MESSAGES/django.po | 108 +- horizon/locale/en_AU/LC_MESSAGES/djangojs.po | 84 +- horizon/locale/fr/LC_MESSAGES/django.po | 28 +- horizon/locale/it/LC_MESSAGES/django.po | 110 +- horizon/locale/it/LC_MESSAGES/djangojs.po | 85 +- horizon/locale/ja/LC_MESSAGES/djangojs.po | 8 +- horizon/locale/ko_KR/LC_MESSAGES/django.po | 29 +- horizon/locale/ko_KR/LC_MESSAGES/djangojs.po | 17 +- horizon/locale/pt_BR/LC_MESSAGES/django.po | 10 +- horizon/locale/ru/LC_MESSAGES/django.po | 37 +- horizon/locale/tr_TR/LC_MESSAGES/django.po | 20 +- horizon/locale/tr_TR/LC_MESSAGES/djangojs.po | 15 +- horizon/locale/zh_CN/LC_MESSAGES/django.po | 55 +- horizon/locale/zh_CN/LC_MESSAGES/djangojs.po | 19 +- horizon/locale/zh_TW/LC_MESSAGES/django.po | 66 +- horizon/locale/zh_TW/LC_MESSAGES/djangojs.po | 46 +- horizon/static/framework/framework.module.js | 12 +- horizon/static/horizon/js/horizon.tables.js | 4 +- horizon/static/horizon/js/horizon.tabs.js | 2 +- .../dashboards/identity/users/forms.py | 8 +- .../locale/de/LC_MESSAGES/django.po | 219 ++- .../locale/de/LC_MESSAGES/djangojs.po | 134 +- openstack_dashboard/locale/django.pot | 397 +++- openstack_dashboard/locale/djangojs.pot | 224 ++- .../locale/en_AU/LC_MESSAGES/django.po | 1198 +++++++++++- .../locale/en_AU/LC_MESSAGES/djangojs.po | 1491 ++++++++++++++- .../locale/fr/LC_MESSAGES/django.po | 28 +- .../locale/fr/LC_MESSAGES/djangojs.po | 81 +- .../locale/it/LC_MESSAGES/django.po | 1245 ++++++++++++- .../locale/it/LC_MESSAGES/djangojs.po | 1519 ++++++++++++++- .../locale/ja/LC_MESSAGES/django.po | 268 ++- .../locale/ja/LC_MESSAGES/djangojs.po | 168 +- .../locale/ko_KR/LC_MESSAGES/django.po | 504 +++-- .../locale/ko_KR/LC_MESSAGES/djangojs.po | 296 ++- .../locale/pt_BR/LC_MESSAGES/django.po | 278 ++- .../locale/pt_BR/LC_MESSAGES/djangojs.po | 289 ++- .../locale/ru/LC_MESSAGES/django.po | 838 ++++++++- .../locale/ru/LC_MESSAGES/djangojs.po | 1053 ++++++++++- .../locale/zh_CN/LC_MESSAGES/django.po | 1959 +++++++++++--------- .../locale/zh_CN/LC_MESSAGES/djangojs.po | 248 ++- .../locale/zh_TW/LC_MESSAGES/django.po | 1038 ++++++++++- .../locale/zh_TW/LC_MESSAGES/djangojs.po | 1422 +++++++++++++- 44 files changed, 14134 insertions(+), 1577 deletions(-)
participants (1)
-
no-reply@openstack.org