We are jazzed to announce the release of: horizon 18.3.0: OpenStack Dashboard This release is part of the ussuri 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. 18.3.0 ^^^^^^ New Features ************ * Added support for Keystone locking user option. Locked user can't change own password using the self-service password change API. By default, users are unlocked and can change their own passwords. In case of older Keystone not supporting this feature, all users treated as unlocked. * Adds options to gui to allow user to select which storage policy container will use and displays the container's storage policy in the container information. Deprecation Notes ***************** * The legacy way to retrive neutron resource usages is deprecated. In future, horizon will require "quota_details" neutron extension. In the legacy way, horizon list all related resources to count resource usage. It is not efficient and "quota_details" neutron extension was added to address it. It was implemented in Pike release and the enough migration period has passed, so we deprecate the legacy way. Changes in horizon 18.2.0..18.3.0 --------------------------------- 2735f2c08 Add support for multiple swift storage policies 7c895ef32 Imported Translations from Zanata 6d62b0362 Imported Translations from Zanata 74d76e900 Implement 'selector-append' sass function 32b4b55b8 Imported Translations from Zanata 50f08a8ae Fix docs build 7f849239e Support for Keystone password_lock option 8f887350e Fix video recording for integration tests 086c6607e Add auth_type to template context for openrc file rendering a04b26e96 Imported Translations from Zanata d6fe0170e Change horizon test runner to pytest 393f2b6d6 Bump hacking to 3.0.0 63cf09e07 Imported Translations from Zanata 65e391710 Bump xstatic-mdi lower-bound 87f7abe26 Imported Translations from Zanata e4fd69292 Authenticate before Authorization 14e779bba Use unittest.mock instead of third party mock 2c4470272 Update pyScss to 1.3.7 6ce40aee8 Deprecate legacy way to retrieve neutron usage 70f6f4299 Fix typo in comments 14adb00bb Remove unused tools/gate/integration/* files Diffstat (except docs and test files) ------------------------------------- .gitignore | 1 + bindep.txt | 3 +- horizon/base.py | 8 +- horizon/test/helpers.py | 4 + horizon/test/unit/hacking/test_checks.py | 4 +- .../unit/management/commands/test_startdash.py | 2 +- .../unit/management/commands/test_startpanel.py | 2 +- horizon/test/unit/middleware/test_base.py | 2 +- horizon/test/unit/middleware/test_operation_log.py | 4 +- horizon/test/unit/tables/test_tables.py | 2 +- horizon/test/unit/test_base.py | 3 +- horizon/test/unit/workflows/test_workflows.py | 2 +- lower-constraints.txt | 17 ++- openstack_auth/user.py | 1 + openstack_auth/views.py | 1 + openstack_dashboard/api/neutron.py | 2 +- openstack_dashboard/api/rest/swift.py | 24 ++++ openstack_dashboard/api/swift.py | 23 +++ .../dashboards/identity/users/forms.py | 17 ++- .../dashboards/identity/users/tables.py | 4 +- .../users/templates/users/_detail_overview.html | 2 + .../dashboards/identity/users/views.py | 6 +- .../dashboards/project/api_access/views.py | 1 + .../project/containers/containers.controller.js | 47 ++++++- .../containers/containers.controller.spec.js | 53 ++++++- .../dashboard/project/containers/containers.html | 9 ++ .../dashboards/settings/password/forms.py | 7 + openstack_dashboard/defaults.py | 4 + .../locale/en_GB/LC_MESSAGES/django.po | 11 +- .../locale/eo/LC_MESSAGES/djangojs.po | 107 +++++--------- openstack_dashboard/settings.py | 3 + .../core/openstack-service-api/swift.service.js | 22 ++- .../openstack-service-api/swift.service.spec.js | 18 ++- openstack_dashboard/test/helpers.py | 7 +- .../test/test_data/keystone_data.py | 13 +- .../test/test_plugins/test_panel.py | 24 ++-- .../test/test_plugins/test_panel_group.py | 23 +-- .../test/unit/api/rest/test_config.py | 2 +- .../test/unit/api/rest/test_glance.py | 2 +- .../test/unit/api/rest/test_keystone.py | 3 +- .../test/unit/api/rest/test_neutron.py | 3 +- .../test/unit/api/rest/test_nova.py | 2 +- .../test/unit/api/rest/test_swift.py | 39 +++++- openstack_dashboard/test/unit/api/test_cinder.py | 3 +- openstack_dashboard/test/unit/api/test_glance.py | 3 +- openstack_dashboard/test/unit/api/test_keystone.py | 2 +- .../test/unit/api/test_microversions.py | 2 +- openstack_dashboard/test/unit/api/test_network.py | 2 +- openstack_dashboard/test/unit/api/test_neutron.py | 2 +- openstack_dashboard/test/unit/api/test_nova.py | 2 +- openstack_dashboard/test/unit/api/test_swift.py | 31 ++++- openstack_dashboard/test/unit/usage/test_quotas.py | 2 +- .../themes/material/static/horizon/_icons.scss | 4 +- .../themes/material/static/horizon/_styles.scss | 9 ++ openstack_dashboard/usage/quotas.py | 7 + playbooks/horizon-devstack-integration/run.yaml | 1 + ...cate-neutron-quota-legacy-144468a1b269cce8.yaml | 9 ++ .../notes/lock-password-d87b63f361d4bdc1.yaml | 7 + ...ft-storage-policy-options-308087b16156a2cb.yaml | 6 + .../locale/en_GB/LC_MESSAGES/releasenotes.po | 65 ++++++++- .../source/locale/id/LC_MESSAGES/releasenotes.po | 47 ++++++- requirements.txt | 4 +- test-requirements.txt | 8 +- tools/executable_files.txt | 1 + tools/gate/integration/devstack_gate_rc | 4 - tools/gate/integration/post_test_hook.sh | 24 ---- tools/gate/integration/pre_test_hook.sh | 23 --- tox.ini | 39 ++++-- 128 files changed, 945 insertions(+), 375 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index c1be75f78..2bb8e2749 100644 --- a/requirements.txt +++ b/requirements.txt @@ -32 +32 @@ pymongo!=3.1,>=3.0.2 # Apache-2.0 -pyScss>=1.3.6 # MIT License +pyScss>=1.3.7 # MIT License @@ -63 +63 @@ XStatic-JSEncrypt>=2.3.1.1 # MIT License -XStatic-mdi>=1.4.57.0 # SIL OPEN FONT LICENSE Version 1.1 +XStatic-mdi>=1.6.50.2 # SIL OPEN FONT LICENSE Version 1.1 diff --git a/test-requirements.txt b/test-requirements.txt index c6b84aa0c..26df80b54 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -10 +10 @@ -hacking>=2.0.0 # Apache-2.0 +hacking>=3.0.0,<3.1.0 # Apache-2.0 @@ -16 +15,0 @@ flake8-import-order==0.12 # LGPLv3 -mock>=2.0.0 # BSD @@ -17,0 +17,3 @@ nodeenv>=0.9.4 # BSD +pytest>=5.3.5 # MIT +pytest-django>=3.8.0 # BSD (3 clause) +pytest-html>=2.0.1 #MPL-2.0 @@ -24 +26 @@ testtools>=2.2.0 # MIT -xvfbwrapper>=0.1.3 #license: MIT +xvfbwrapper>=0.1.3 #license: MIT \ No newline at end of file