[bug 1746706] When reloading or opening Angular-based detail page directly, the navigation menu and breadcrumb list are not recovered properly and the first panel is focused. [bug 1746709] when we try to open non-existing Angular-based detail page, “Not Found” (404) page is not shown. A blank page only with the navigation menu will be shown.
publicize_imagepolicy now has the same name both for image create and edit features and corresponds to the same one in Glance. If you changed the policy name manually to get feature working you have to rollback your changes before Horizon update.
[bug 1681627] A problem that Angular-based detail page (ngdetail page) cannot be reloaded or opened via direct URL has been fixed. Note that there are some known issues described in the Known Issues section.
image:publicize_imagepolicy is renamed to
publicize_imageto be the same as Glance has.
Added a new
create_volumesetting under the
LAUNCH_INSTANCE_DEFAULTSdict. This allows you to set the default value of “Create Volume”, when Cinder is available.
Previously horizon assumes only
volumeas an endpoint for the Cinder regardless of the API version. As a result, if deployers configure Cinder v2/v3 API endpoint as
volumev3, Volume related menus – “Create Volume from instance snapshot” and “Create instance from Volume” – were not displayed. Horizon now checks the availability of the Block Storage service by looking for all posible endpoints
The Flavor panel now may be configured to use either the legacy or Angular code.
In an effort to establish Angular conventions, use the framework’s toastService rather than the legacy horizon.alert(…) in client-side code. horizon.alert is still used by the django messaging framework, so horizon.messages.js still exists.
Added Keystone to Keystone (K2K) federation support in Horizon. If Keystone is configured with K2K and has service providers, the list of Keystone providers will appear in a dropdown. In local_settings.py you can optionally set the identity provider display name with
KEYSTONE_PROVIDER_IDP_NAMEor set the provider id that is used to compare with the other service providers
KEYSTONE_PROVIDER_IDP_ID. [blueprint k2k-horizon].
The hard-coded run_tests commands for extracting translatable strings and updating message catalogs have been ported to django management commands as extract_messages and update_catalog. These accept several parameters to make them easier to use with downstream customisations and string modifications, but the default behaviour is the same as before.
The Access & Security panel’s tabs have been moved to their own panels for clearer navigation and better performance. API Access and Key Pairs now reside in the Compute panel group. Floating IPs and Security Groups are now in the Network panel group.
Download buttons for OpenStack RC files have been added to the user dropdown menu in the top right of Horizon.
Implements the “filter first” functionality for identity panels such as projects, users, groups and roles. The filter first functionality is described in <https://blueprints.launchpad.net/horizon/+spec/admin-views-filter-first>`
ANGULAR_FEATURES now allows for a key ‘flavors_panel’ to be specified as True or False indicating whether the Angular version of the panel is enabled.
Integration tests for Flavor features may also be toggled in openstack_dashboard/test/integration_tests/horizon.conf using the ‘panel_type’ feature in the ‘flavors’ setting, either set to ‘legacy’ or ‘angular’ to match the enabled panel type.
A new Profiler panel in the Developer dashboard is introduced. It integrates osprofiler library into horizon, thus implementing blueprint openstack-profiler-at-developer-dashboard. Initially profiler is disabled. To enable it the value
OPENSTACK_PROFILER['enabled']has to be
True. This in turn can be achieved by copying files _9030_profiler_settings.py.example and _9030_profiler.py to openstack_dashboard/local/local_settings.d/_9030_profiler_settings.py and openstack_dashboard/local/enabled/_9030_profiler.py respectively. Also, by default it expects MongoDB cluster to be present on the same host where Keystone is located (say, in a Devstack VM). But it also can be configured with params with
OPENSTACK_PROFILER['receiver_connection_string']values. MongoDB should be installed manually and allowed to receive requests on 0.0.0.0 interface.
TEMPLATE_*settings have been replaced with a
TEMPLATEdict. This will likely cause issues when porting settings to this version of Horizon. The TEMPLATE_DEBUG setting has been removed and is tied to the DEBUG setting now. A detailed explanation of this dict can be found at https://docs.djangoproject.com/en/1.10/ref/settings/#templates
is_anonymous()functions in Django OpenStack Auth’s
Userclass are properties when running under Django 1.10, and no longer take a margin parameter.
The logos in Horizon (previously logo-splash.png and logo.png) now load SVG files instead of PNG. The default logos have been updated to reflect the new OpenStack branding.
LBaaS v1 dashboard has been removed. LBaaS v1 feature was removed from neutron-lbaas in Newton, but LBaaS v1 dashboard in Horizon has been kept only for backward compatibility in Newton release so that operators can upgrade Horizon first. Note that the Dashboard support for LBaaS v2 is provided as a Horizon plugin via neutron-lbaas-dashboard project.
The developer enabled files have been moved from
openstack_dashboard/contrib/developer/enabled. To enable them, copy into
DEBUG = True.
Any past use of the Django based Swift UI is no longer supported and the code is being removed. The new angularJS based version should be used instead.
The Angular Bootstrap upgrade contains a breaking change as the directives and services in this library were renamed. See https://github.com/angular-ui/bootstrap/wiki/Migration-guide-for-prefixes
The run_tests.sh script is now deprecated and all functionality has been provided by either tox or manage.py. run_tests will be removed in Queens (13.0).
The initScope method for action services has been deprecated, with the new method initAction added which does not get passed a scope. The allowed and perform method are now passed a scope for context in addition to the first item/items argument. The “scope” parameter to the WizardModalService modal() method has also been deprecated, and will be ignored in a future release of Horizon.
The function fix_auth_url_version() should be removed from openstack_auth library as soon as Horizon no longer needs it. The replacement function is fix_auth_url_version_prefix() which returns a fixed url and a boolean flag indicating if the url was actually fixed. Having a separate flag allows to emit more precise warning messages about inconsistencies in Keystone endpoint URL.
The telemetry code in Horizon has been deprecated and disabled for several releases now. The code has now been removed from the tree.
Removing formerly deprecated Swift UI code that was replaced with an improved Angular version in Mitaka.
[bug 1618235] User can now delete all characters typed in input search without causing the selected facet to disappear when the last character is deleted.
[bug 1635505] Horizon now properly allows to use arrow keys inside of the input search, without triggering a new text search that refreshes the content of the table below.
There will no longer be any
WARNINGmessages regarding the developer panels in logs.
Menu follows the search input position as the user adds more facets
XStatic-Angular updated from 220.127.116.11 to 18.104.22.168
XStatic-Angular-Bootstrap updated from 0.11.0.0 to 22.214.171.124
XStatic-Angular-Gettext updated from 126.96.36.199 to 188.8.131.52
XStatic-Bootswatch updated from 184.108.40.206 to 220.127.116.11
XStatic-D3 updated from 18.104.22.168 to 22.214.171.124
XStatic-Font-Awesome updated from 126.96.36.199 to 188.8.131.52
XStatic-JSEncrypt updated from 184.108.40.206 to 220.127.116.11
XStatic-Roboto-Fontface updated from 0.4.3.2 to 0.5.0.0