[openstack-announce] [release][horizon] horizon 9.0.0 release (mitaka)

no-reply at openstack.org no-reply at openstack.org
Thu Apr 7 07:44:21 UTC 2016


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(-)






More information about the OpenStack-announce mailing list