We are tickled pink to announce the release of: horizon 19.1.0: OpenStack Dashboard This release is part of the wallaby release series. The source is available from: https://opendev.org/openstack/horizon Download the package from: https://tarballs.openstack.org/horizon/ Please report issues through: https://bugs.launchpad.net/horizon/+bugs For more details, please see below. 19.1.0 ^^^^^^ New Features ************ * Setting 'can_set_password' to True in OPENSTACK_HYPERVISOR_FEATURES adds the option to set admin password from AngularJS Launch Instance dialog. * Horizon supports the registered default policies and operators now only need to define policies which they would like to override in policy files in "POLICY_FILES" setting. (Previously the policy files need to contain all defined policies including default policies.) The registered default policies are defined in files under "DEFAULT_POLICY_FILES" and they are synced with registered defaults of back-end services before the horizon release. * Chinese locales "zh-cn" and "zh-tw" are now changed to "zh-hans" and "zh-hant" respectively. This follows the change in Django which is a framework horizon depends on. The new locales decouples what are spoken from specific locations as they are also used outside of China/Taiwan. * Volume backups is now supported for admin panel. Admin is now able to view all volume backups for differenet users. Known Issues ************ * Policies with the system scoped token ("system_scope:all") are not supported in horizon yet. The horizon team recognizes it as an important feature gap and would like to support it in near future. Upgrade Notes ************* * The format of the policy files under "POLICY_FILES" is changed to YAML and all contents of these files are commented out now. You only need to define policies which you would like to modify from the default. You can still use policy files with JSON format. If you continue to use JSON format, configure "POLICY_FILES" setting to point JSON files. * Chinese locales "zh-cn" and "zh-tw" have been changed to "zh-hans" and "zh-hant" respectively. If you configure "LANGUAGES" in your setting explicitly, ensure to use the new Chinese locales if needed. Deprecation Notes ***************** * The Django version of the launch instance form is deprecated now. Switch to the AngularJS version of the form by setting "LAUNCH_INSTANCE_NG_ENABLED" to "True" and "LAUNCH_INSTANCE_LEGACY_ENABLED" to "False". The horizon team believes that feature gaps between Django and AngularJS implementations have been closed and we can drop the Django version. If you see any feature gap, please file a bug to horizon or contact the horizon team. Changes in horizon 19.0.0..19.1.0 --------------------------------- 57380fae7 Deprecate Django launch instance form 87edcb619 Imported Translations from Zanata 1d39ac761 Add Volume backups support for admin panel 6efaee23d import "collections.abc" explicitly 82900d727 Try loading all policy files even if some files are invalid f78a9c2c0 Allow themes to override bg color of even lines of horizon tables b84195290 Handle an attached volume without volume_image_metadata 1dd12d8de test: Ensure to stop mock when create_mocks decorator exits c9bb0e95e Fix community image handling in launch instance form 3fe0802ea Fix typo in horizon/exceptions.py 69147c0c3 Imported Translations from Zanata f3bfa3834 Fix Material theme to work with any combination of pyScss and MDI icons 1c5b39e27 Update upgrade_check to discover dashboard settings automatically b02d1267a upgrade_check: Convert KNOWN_SETTINGS into one-per-line style 391a66046 Rename zh-cn and zh-tw translations to zh-hans and zh-hant 73a4c3682 Drop translation marker from upgrade-check help b4fd4c2e7 Server tabs: add policy enforcement for tab display 4aa00e8f5 Support policy checks in the Tab base class 87f498bee Drop the usage of unicode prefix from unicode strings be3d27c02 Add openstack_auth to translation-related commands 9ad554248 security_groups panel: Add neutron policy enforcement 7c4f1f9cb Imported Translations from Zanata 4894d0eed Use override_settings decorator consistently f0460fc43 Use TOX_CONSTRAINTS_FILE b7bb76eb2 Support policy-in-code and deprecated policy c2d3f61d4 Set Admin Password at NG Launch Instance dialog 15cb035ef Consume horizon tempest test from tempest master 4b48b5816 Bump min requirement of xstatic-jquery to 1.12.x b65700a86 Show project name at launch instance dialog 76f196d1e Add option to set MTU on network creation 1a40115ee Use "load static" instead of "load staticfiles" 0f6427860 Fix 'requires_keypair' impact on NG Launch Instance dialog 2e1a45db3 Clean up the removed enable_* settings d909495ae Imported Translations from Zanata dc9e2f788 Imported Translations from Zanata 5c45c8825 Add expectations to identity specs 5cc402c00 Imported Translations from Zanata b532943a3 Update devDependencies in package.json 807a33e1c Update ESLint devDependencies in package.json d93c7e9c1 Imported Translations from Zanata 2fd27e4e5 Remove retired karbor-dashboard usage 6f0200032 Update lower constraints and change browser to Firefox to unblock gate 3c0f69ee1 Document bug triaging process 33b031c95 [cleanup] Remove unused file refernce from .gitignore file f7442851c Add WEBROOT to ngdetails navigation 982e772a6 Add try/except block for some nova and neutron api calls ee667919c [Cleanup] Remove unused attributes 03eaf9cd8 Avoid malformed HTML warning from jquery-migrate 40acf5b75 Fix full text search at containers page 35e8888b6 Add pagination to Network Ports table in Launch Instance wizard Diffstat (except docs and test files) ------------------------------------- .eslintrc | 2 + .gitignore | 7 +- .zuul.d/tempest-and-integrated.yaml | 5 +- .../locale/en_GB/LC_MESSAGES/doc-configuration.po | 13 +- .../locale/en_GB/LC_MESSAGES/doc-contributor.po | 183 +- .../locale/id/LC_MESSAGES/doc-configuration.po | 30 +- .../locale/id/LC_MESSAGES/doc-contributor.po | 306 +- horizon/base.py | 5 +- horizon/contrib/bootstrap_datepicker.py | 4 +- horizon/exceptions.py | 4 +- horizon/forms/fields.py | 10 +- horizon/karma.conf.js | 14 +- .../{zh_CN => zh_Hans}/LC_MESSAGES/django.po | 2 +- .../{zh_CN => zh_Hans}/LC_MESSAGES/djangojs.po | 2 +- .../{zh_TW => zh_Hant}/LC_MESSAGES/django.po | 2 +- .../{zh_TW => zh_Hant}/LC_MESSAGES/djangojs.po | 2 +- horizon/management/commands/pull_catalog.py | 21 +- .../conf/resource-type-registry.service.spec.js | 5 + .../util/navigations/navigations.service.js | 9 + .../util/navigations/navigations.service.spec.js | 7 + .../details/routed-details-view.controller.js | 9 +- horizon/static/horizon/js/horizon.d3linechart.js | 2 +- .../static/horizon/js/horizon.extensible_header.js | 2 +- horizon/static/horizon/js/horizon.forms.js | 10 +- horizon/static/horizon/js/horizon.heattop.js | 6 +- horizon/static/horizon/js/horizon.lists.js | 8 +- horizon/static/horizon/js/horizon.membership.js | 4 +- horizon/static/horizon/js/horizon.tables.js | 18 +- horizon/static/horizon/js/horizon.tabs.js | 4 +- horizon/tables/actions.py | 4 +- horizon/tables/base.py | 1 + horizon/tabs/base.py | 14 +- horizon/templatetags/splitfilter.py | 2 +- horizon/test/helpers.py | 2 +- .../test/test_dashboards/dogs/puppies/tables.py | 8 +- horizon/test/unit/middleware/test_operation_log.py | 12 +- horizon/test/unit/tables/test_tables.py | 53 +- horizon/test/unit/tabs/test_tabs.py | 32 +- .../test/unit/templatetags/test_templatetags.py | 8 +- horizon/test/unit/test_exceptions.py | 22 +- .../test/unit/utils/test_babel_extract_angular.py | 36 +- horizon/test/unit/utils/test_filters.py | 10 +- horizon/utils/babel_extract_angular.py | 12 +- lower-constraints.txt | 14 +- openstack_auth/defaults.py | 1 + openstack_auth/locale/eo/LC_MESSAGES/django.po | 13 +- openstack_auth/locale/id/LC_MESSAGES/django.po | 8 +- .../{zh_CN => zh_Hans}/LC_MESSAGES/django.po | 2 +- .../{zh_TW => zh_Hant}/LC_MESSAGES/django.po | 2 +- openstack_auth/policy.py | 53 + openstack_dashboard/api/cinder.py | 30 +- openstack_dashboard/api/neutron.py | 14 +- openstack_dashboard/api/rest/swift.py | 8 +- openstack_dashboard/conf/cinder_policy.json | 147 - openstack_dashboard/conf/cinder_policy.yaml | 646 ++++ .../conf/default_policies/README.txt | 12 + .../conf/default_policies/cinder.yaml | 1137 +++++++ .../conf/default_policies/glance.yaml | 280 ++ .../conf/default_policies/keystone.yaml | 2954 +++++++++++++++++++ .../conf/default_policies/neutron.yaml | 1511 ++++++++++ .../conf/default_policies/nova.yaml | 3103 ++++++++++++++++++++ openstack_dashboard/conf/glance_policy.json | 63 - openstack_dashboard/conf/glance_policy.yaml | 121 + openstack_dashboard/conf/keystone_policy.json | 174 -- openstack_dashboard/conf/keystone_policy.yaml | 2330 +++++++++++++++ openstack_dashboard/conf/neutron_policy.json | 220 -- openstack_dashboard/conf/neutron_policy.yaml | 961 ++++++ openstack_dashboard/conf/nova_policy.json | 158 - openstack_dashboard/conf/nova_policy.yaml | 1877 ++++++++++++ .../dashboards/admin/aggregates/tables.py | 8 +- .../dashboards/admin/backups/__init__.py | 0 .../dashboards/admin/backups/forms.py | 72 + .../dashboards/admin/backups/panel.py | 18 + .../dashboards/admin/backups/tables.py | 119 + .../dashboards/admin/backups/tabs.py | 23 + .../templates/backups/_detail_overview.html | 62 + .../backups/templates/backups/_update_status.html | 11 + .../backups/templates/backups/update_status.html | 7 + .../dashboards/admin/backups/urls.py | 29 + .../dashboards/admin/backups/views.py | 138 + .../dashboards/admin/flavors/tables.py | 8 +- .../dashboards/admin/group_types/specs/tables.py | 8 +- .../dashboards/admin/group_types/tables.py | 8 +- .../dashboards/admin/hypervisors/compute/tables.py | 18 +- .../dashboards/admin/info/tables.py | 6 +- .../dashboards/admin/instances/tables.py | 8 +- .../dashboards/admin/metadata_defs/tables.py | 8 +- .../dashboards/admin/networks/agents/tables.py | 8 +- .../dashboards/admin/networks/forms.py | 7 + .../dashboards/admin/networks/tables.py | 4 +- .../dashboards/admin/networks/workflows.py | 2 +- .../dashboards/admin/rbac_policies/tables.py | 8 +- .../dashboards/admin/volume_types/extras/tables.py | 8 +- .../dashboards/admin/volume_types/forms.py | 4 +- .../admin/volume_types/qos_specs/tables.py | 8 +- .../dashboards/admin/volume_types/tables.py | 24 +- .../dashboards/identity/domains/tables.py | 24 +- .../dashboards/identity/groups/tables.py | 24 +- .../identity_providers/protocols/tables.py | 8 +- .../identity/identity_providers/tables.py | 8 +- .../dashboards/identity/mappings/tables.py | 8 +- .../dashboards/identity/projects/tables.py | 8 +- .../dashboards/identity/roles/tables.py | 8 +- .../domains/actions/delete.service.spec.js | 12 +- .../groups/actions/delete.action.service.spec.js | 12 +- .../users/actions/delete.action.service.spec.js | 12 +- .../dashboards/identity/users/tables.py | 24 +- .../dashboards/project/backups/forms.py | 5 +- .../dashboards/project/backups/tables.py | 28 +- .../dashboards/project/backups/tabs.py | 3 +- .../dashboards/project/floating_ips/tables.py | 14 +- .../dashboards/project/images/images/tables.py | 30 +- .../dashboards/project/instances/audit_tables.py | 38 +- .../dashboards/project/instances/tables.py | 264 +- .../dashboards/project/instances/tabs.py | 29 +- .../dashboards/project/instances/views.py | 8 + .../dashboards/project/key_pairs/tables.py | 8 +- .../extensions/allowed_address_pairs/tables.py | 8 +- .../dashboards/project/networks/ports/tables.py | 20 +- .../dashboards/project/networks/subnets/tables.py | 8 +- .../dashboards/project/networks/tables.py | 20 +- .../dashboards/project/networks/workflows.py | 9 +- .../routers/extensions/extraroutes/tables.py | 8 +- .../dashboards/project/routers/ports/tables.py | 22 +- .../dashboards/project/routers/tables.py | 24 +- .../dashboards/project/routers/views.py | 2 +- .../dashboards/project/security_groups/tables.py | 35 +- .../dashboards/project/snapshots/tables.py | 8 +- .../dashboard/project/containers/containers.html | 140 +- .../launch-instance/details/details.controller.js | 11 +- .../details/details.controller.spec.js | 10 + .../workflow/launch-instance/details/details.html | 6 + .../launch-instance/keypair/keypair.controller.js | 10 + .../keypair/keypair.controller.spec.js | 16 +- .../workflow/launch-instance/keypair/keypair.html | 53 + .../launch-instance-model.service.js | 29 +- .../launch-instance-model.service.spec.js | 104 +- .../launch-instance/networkports/port-details.html | 18 + .../networkports/ports.controller.js | 90 +- .../launch-instance/networkports/ports.html | 165 +- .../launch-instance/networkports/ports.spec.js | 45 +- .../dashboards/project/vg_snapshots/tables.py | 14 +- .../dashboards/project/volume_groups/tables.py | 10 +- .../dashboards/project/volumes/forms.py | 2 +- .../dashboards/project/volumes/tables.py | 48 +- openstack_dashboard/defaults.py | 17 +- .../enabled/_2230_admin_backups_panel.py | 9 + openstack_dashboard/karma.conf.js | 10 +- .../locale/de/LC_MESSAGES/django.po | 6 +- .../locale/en_GB/LC_MESSAGES/django.po | 18 +- .../locale/en_GB/LC_MESSAGES/djangojs.po | 20 +- .../locale/eo/LC_MESSAGES/django.po | 95 +- .../locale/eo/LC_MESSAGES/djangojs.po | 20 +- .../locale/fr/LC_MESSAGES/django.po | 7 +- .../locale/id/LC_MESSAGES/django.po | 12 +- .../locale/id/LC_MESSAGES/djangojs.po | 8 +- .../locale/ja/LC_MESSAGES/django.po | 7 +- .../locale/ko_KR/LC_MESSAGES/django.po | 5 +- .../locale/ru/LC_MESSAGES/django.po | 5 +- .../locale/tr_TR/LC_MESSAGES/django.po | 2 +- .../{zh_CN => zh_Hans}/LC_MESSAGES/django.po | 5 +- .../{zh_CN => zh_Hans}/LC_MESSAGES/djangojs.po | 2 +- .../{zh_TW => zh_Hant}/LC_MESSAGES/django.po | 2 +- .../{zh_TW => zh_Hant}/LC_MESSAGES/djangojs.po | 2 +- .../management/commands/dump_default_policies.py | 82 + .../management/commands/extract_messages.py | 2 +- .../management/commands/update_catalog.py | 12 +- .../management/commands/upgrade_check.py | 350 ++- openstack_dashboard/settings.py | 4 +- .../static/dashboard/scss/_variables.scss | 2 +- .../static/dashboard/scss/components/_forms.scss | 5 + openstack_dashboard/static/js/.eslintrc | 1 + openstack_dashboard/templates/500.html | 2 +- .../templates/header/_header_sections.html | 4 +- openstack_dashboard/test/helpers.py | 13 +- openstack_dashboard/test/test_data/cinder_data.py | 24 +- openstack_dashboard/test/test_data/glance_data.py | 48 +- .../test/test_data/keystone_data.py | 2 +- openstack_dashboard/test/test_data/neutron_data.py | 34 +- openstack_dashboard/test/test_data/nova_data.py | 26 +- openstack_dashboard/test/test_data/swift_data.py | 38 +- .../test/unit/api/rest/test_swift.py | 46 +- openstack_dashboard/test/unit/api/test_glance.py | 24 +- openstack_dashboard/test/unit/api/test_nova.py | 4 +- .../test/unit/utils/test_config_types.py | 2 +- .../themes/material/static/horizon/_icons.scss | 3 + .../static/horizon/components/_checkboxes.scss | 2 + .../horizon/components/_context_selection.scss | 6 +- .../static/horizon/components/_datepicker.scss | 4 + .../static/horizon/components/_navbar.scss | 6 +- .../static/horizon/components/_radiobuttons.scss | 2 + .../static/horizon/components/_spinners.scss | 6 + openstack_dashboard/usage/quotas.py | 21 +- package.json | 18 +- plugin-registry.csv | 1 - ...ango-launch-instance-form-cc176ad708e2f1f7.yaml | 11 + ...h-instance-admin-password-68e7e4b7af239bae.yaml | 5 + .../policy-in-code-support-f79d559c25976215.yaml | 22 + .../rename-chinese-locales-a6fb595bc373791f.yaml | 12 + .../notes/volume-backups-a198d0ce16d62636.yaml | 5 + releasenotes/source/conf.py | 14 +- .../source/locale/de/LC_MESSAGES/releasenotes.po | 8 +- .../locale/en_GB/LC_MESSAGES/releasenotes.po | 42 +- .../source/locale/id/LC_MESSAGES/releasenotes.po | 96 +- .../source/locale/ja/LC_MESSAGES/releasenotes.po | 8 +- requirements.txt | 8 +- tox.ini | 4 +- 244 files changed, 18755 insertions(+), 2614 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index 2bb8e2749..aaa9ad13a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -26 +26 @@ oslo.i18n>=3.15.3 # Apache-2.0 -oslo.policy>=1.30.0 # Apache-2.0 +oslo.policy>=3.2.0 # Apache-2.0 @@ -29 +29 @@ oslo.upgradecheck>=0.1.1 # Apache-2.0 -oslo.utils>=3.33.0 # Apache-2.0 +oslo.utils>=3.40.0 # Apache-2.0 @@ -57 +57 @@ XStatic-Jasmine>=2.4.1.1 # MIT License -XStatic-jQuery>=1.8.2.1,<2 # MIT License +XStatic-jQuery>=1.12.4.1,<2 # MIT License @@ -61 +61 @@ XStatic-JQuery.TableSorter>=2.14.5.1 # MIT License -XStatic-jquery-ui>=1.10.4.1 # MIT License +XStatic-jquery-ui>=1.12.1.1 # MIT License
participants (1)
-
no-reply@openstack.org