Ocata Series Release Notes

11.0.2-7

Bug Fixes

  • Previously horizon assumes only volume as an endpoint for the Cinder regardless of the API version. As a result, if deployers configure Cinder v2/v3 API endpoint as volumev2 or 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 volume, volumev2 and volumev3.

11.0.0

The Flavor panel now may be configured to use either the legacy or Angular code.

In an effort to standarize our HTML class naming conventions, we will be updating various class names to use dashes, instead of underscore or camelcasing, to match with Bootstrap’s convention.

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.

New Features

  • 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_NAME or 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.
  • 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.
  • Adds complete support for Glance v2 so that Horizon no longer depends on having a Glance v1 endpoint in the Keystone catalog. Also provides code compatibility between Glance v1 and v2.
  • Adds a new config value called IMAGES_ALLOW_LOCATION, which allows users to set locations when creating or updating images. Depending on the Glance version, the ability to set locations is controlled by policies and/or configuration values.
  • Added the LAUNCH_INSTANCE_DEFAULTS setting which allows specifying default values for the Launch Instance workflow. Initially only the Configuration Drive property is supported.
  • 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['notifier_connection_string]' and OPENSTACK_PROFILER['receiver_connection_string'] values. MongoDB should be installed manually and allowed to receive requests on 0.0.0.0 interface.
  • Neutron provider network configuration now becomes more flexible so that operators can configure various provider network parameters including new network type, segmentation ID ranges and so on based on neutron network back-ends they use.
  • Add a new setting OVERVIEW_DAYS_RANGE. It defines the default date range in the Overview panel meters - either today minus N days (if the value is integer N), or from the beginning of the current month until today (if set to None). This setting is be used to limit the amount of data fetched by default when rendering the Overview panel. The default value is 1, which differs from the past behaviour, since it caused serious lags on large deployments (bug 1508571).

Known Issues

  • If you set ‘images_panel’ to False for the ANGULAR_FEATURES option (which is not the default) and configure Horizon to use Glance v2, Ramdisk ID and Kernel ID don’t show properly on the “Edit Image” screen.

Upgrade Notes

  • The TEMPLATE_* settings have been replaced with a TEMPLATE dict. 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
  • The is_authenticated() and is_anonymous() functions in Django OpenStack Auth’s User class are properties when running under Django 1.10, and no longer take a margin parameter.
  • It is no longer necessary to include the version suffix into OPENSTACK_KEYSTONE_URL setting. Thanks to a recent update of django-openstack-auth library as of 2.3.0 release, Horizon will append the proper version suffix to the URL based on the value stored inside OPENSTACK_API_VERSIONS[‘identity’] setting.
  • 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 OPENSTACK_IMAGE_FORMATS variable must be added to the REST_API_REQUIRED_SETTINGS setting in local_settings.py
  • The LAUNCH_INSTANCE_DEFAULTS variable must be added to the REST_API_REQUIRED_SETTINGS setting in local_settings.py
  • The developer enabled files have been moved from openstack_dashboard/enabled to openstack_dashboard/contrib/developer/enabled. To enable them, copy into openstack_dashboard/local/enabled and set 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.

Deprecation Notes

  • 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.
  • All instances of HTML class ‘d3_pie_chart_usage’ to ‘pie-chart-usage’. All instances of HTML class ‘d3_pie_chart_distribution’ to ‘pie-chart-distribution’.
  • 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.
  • All previous instances of horizon.alert(…) used by client-side have been replaced with horizon.toast. Alert messages via horizon.alert(…) should be avoided when writing new JavaScript code. horizon.toast.add(‘error’, gettext(…)) should be used instead.

Bug Fixes

  • [bug 1585682] Horizon now properly versions Keystone webpath endpoints (URLs like http://<hostip>/identity instead of http://<hostip>:5000).
  • [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 WARNING messages regarding the developer panels in logs.

Other Notes

  • Menu follows the search input position as the user adds more facets
  • Glance v2 doesn’t support the copy-from feature, so this feature is disabled in Horizon when using Glance v2.
  • The output from the Glance image list API has changed between v1 and v2 such that admins logged into Horizon will now see all images in the cloud on the Project->Compute->Images panel.
  • XStatic-Angular updated from 1.4.10.1 to 1.5.8.0
  • XStatic-Angular-Bootstrap updated from 0.11.0.0 to 2.2.0.0
  • XStatic-Angular-Gettext updated from 2.1.0.2 to 2.3.8.0
  • XStatic-Bootswatch updated from 3.3.6.0 to 3.3.7.0
  • XStatic-D3 updated from 3.1.6.2 to 3.5.17.0
  • XStatic-Font-Awesome updated from 4.5.0.0 to 4.7.0.0
  • XStatic-JSEncrypt updated from 2.0.0.2 to 2.3.1.0
  • XStatic-Roboto-Fontface updated from 0.4.3.2 to 0.5.0.0