We are gleeful to announce the release of: horizon 20.0.0: OpenStack Dashboard This release is part of the xena 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. 20.0.0 ^^^^^^ New Features ************ * When multiple availability zones are available, the default behavior is to allow the scheduler to spawn a VM in any of them. The new setting "LAUNCH_INSTANCE_DEFAULTS.default_availability_zone" allows an administrator to specify a default static availability zone for new VM creation. Upgrade Notes ************* * With this release, Horizon uses only the Block Storage API v3. Horizon has been using the Block Storage API v3 by default since Queens, so this change should not impact Horizon functionality. (The Block Storage API v2 was deprecated by the Cinder project in the Pike release, and is scheduled to be removed in the Xena release.) Bug Fixes ********* * Get the timezone offset for the current day instead of January 1st. This bug only appears to be a cosmetic one where the TZ offset would be calculated on current_year/01/01 so would remain in daylight saving offset when displaying the timezones list in the user configuration settings. Changes in horizon 19.1.0..20.0.0 --------------------------------- 788988f24 Clean up the workaround of cinderclient v2->v3 transition b58ac2894 Drop cinder v2 API support 310a24d05 Imported Translations from Zanata 647c2b753 Imported Translations from Zanata 09e57d6eb Imported Translations from Zanata ca429efbd Magic Search filter facet removal fix 866a17037 integration tests: Relax router interface status check 547049bb1 Imported Translations from Zanata 8ba5dd7c5 Imported Translations from Zanata cdb08a1ad doc: Update our IRC server to OFTC ebec26abe Imported Translations from Zanata 3aaeadf89 Default role checker should be case-insensitive. 6071b622b Imported Translations from Zanata ae7896cea Consisent abbreviation of size units 00c5825ca setup.cfg: Replace dashes with underscores be505aefa Imported Translations from Zanata b815cbfc7 Imported Translations from Zanata cdb0f013c Imported Translations from Zanata 2bb6d6070 Imported Translations from Zanata 3f2adabf1 Setup project-template for nodejs14 jobs 473290f13 Imported Translations from Zanata c87f0e7a9 Change with_data=False for swift_get_container 4e195570e Sync default policy rules e0d348c64 Fix minor points in the policy doc 4310a9541 Add Python3 xena unit tests a89c27b44 Update master for stable/wallaby 03e848b18 Imported Translations from Zanata 36f1f7e3c Imported Translations from Zanata f0736c517 Use policy_rules for user role assignment and group tabs 5c2afa97b Imported Translations from Zanata 742658679 Imported Translations from Zanata 60cf32031 Don't load user role assignment or groups tabs for non-admins ffe84dbf9 Move linters dependencies to tox.ini 893d0c026 Replace Delete Force Volume Backup with Force Delete Volume Backup 3d82d5735 Save instace_id inside Associate Floating IP workflow dadd45add handle missing access_rules f60220329 Get the timezone offset for the current day instead of January 1st. 3e4d0ad77 Fix `_data_table.html` weird conditional. a42235f6f Update cirros image to cirros-0.5.2-x86_64 a19d08062 Imported Translations from Zanata 6ac091795 Imported Translations from Zanata fc8603a49 Add default_availability_zone for VM creation b09e5b303 Move "Domain" field under "User Name" and "Password" b07ed28a9 Don't fail integration tests if browser log couldn't be retrieved Diffstat (except docs and test files) ------------------------------------- .zuul.d/django-jobs.yaml | 2 +- .zuul.d/nodejs-jobs.yaml | 51 + .zuul.d/project.yaml | 5 +- .zuul.d/xstatic-master.yaml | 6 + .../locale/en_GB/LC_MESSAGES/doc-configuration.po | 76 +- .../locale/en_GB/LC_MESSAGES/doc-contributor.po | 211 +- .../locale/id/LC_MESSAGES/doc-contributor.po | 7 +- horizon/locale/cs/LC_MESSAGES/django.po | 12 +- horizon/locale/de/LC_MESSAGES/django.po | 11 +- horizon/locale/en_AU/LC_MESSAGES/django.po | 11 +- horizon/locale/en_GB/LC_MESSAGES/django.po | 17 +- horizon/locale/eo/LC_MESSAGES/django.po | 11 +- horizon/locale/es/LC_MESSAGES/django.po | 63 +- horizon/locale/es/LC_MESSAGES/djangojs.po | 11 +- horizon/locale/es_MX/LC_MESSAGES/django.po | 11 +- horizon/locale/fi_FI/LC_MESSAGES/django.po | 11 +- horizon/locale/fr/LC_MESSAGES/django.po | 14 +- horizon/locale/hi/LC_MESSAGES/django.po | 15 +- horizon/locale/id/LC_MESSAGES/django.po | 10 +- horizon/locale/it/LC_MESSAGES/django.po | 11 +- horizon/locale/ja/LC_MESSAGES/django.po | 10 +- horizon/locale/ko_KR/LC_MESSAGES/django.po | 10 +- horizon/locale/nl_NL/LC_MESSAGES/django.po | 5 +- horizon/locale/pa_IN/LC_MESSAGES/django.po | 11 +- horizon/locale/pl_PL/LC_MESSAGES/django.po | 12 +- horizon/locale/pt/LC_MESSAGES/django.po | 5 +- horizon/locale/pt_BR/LC_MESSAGES/django.po | 11 +- horizon/locale/ru/LC_MESSAGES/django.po | 12 +- horizon/locale/sl_SI/LC_MESSAGES/django.po | 5 +- horizon/locale/tr_TR/LC_MESSAGES/django.po | 11 +- horizon/locale/zh_Hans/LC_MESSAGES/django.po | 10 +- horizon/locale/zh_Hant/LC_MESSAGES/django.po | 10 +- .../magic-search/magic-search.controller.js | 4 + .../magic-search/magic-search.controller.spec.js | 8 + horizon/templates/horizon/common/_data_table.html | 4 +- horizon/templatetags/sizeformat.py | 10 +- .../test/unit/templatetags/test_templatetags.py | 2 +- lower-constraints.txt | 21 +- openstack_auth/forms.py | 6 +- openstack_auth/locale/de/LC_MESSAGES/django.po | 10 +- openstack_auth/locale/es/LC_MESSAGES/django.po | 10 +- openstack_auth/locale/ja/LC_MESSAGES/django.po | 15 +- openstack_dashboard/api/cinder.py | 15 +- openstack_dashboard/api/keystone.py | 4 +- openstack_dashboard/api/swift.py | 2 +- openstack_dashboard/conf/cinder_policy.yaml | 30 +- .../conf/default_policies/cinder.yaml | 48 +- .../conf/default_policies/glance.yaml | 586 ++++-- .../conf/default_policies/neutron.yaml | 2223 ++++++++++++++++---- .../conf/default_policies/nova.yaml | 117 -- openstack_dashboard/conf/glance_policy.yaml | 311 ++- openstack_dashboard/conf/neutron_policy.yaml | 1962 +++++++++++++++-- openstack_dashboard/conf/nova_policy.yaml | 65 - .../dashboards/admin/backups/tables.py | 8 +- .../dashboards/admin/defaults/tables.py | 2 +- .../dashboards/admin/defaults/workflows.py | 2 +- openstack_dashboard/dashboards/admin/info/tabs.py | 2 +- .../dashboards/admin/snapshots/panel.py | 2 +- .../dashboards/admin/volume_types/panel.py | 2 +- .../dashboards/admin/volumes/panel.py | 2 +- .../identity/application_credentials/forms.py | 15 +- .../dashboards/identity/projects/workflows.py | 2 +- .../dashboards/identity/users/tabs.py | 2 + .../dashboards/project/backups/panel.py | 2 +- .../dashboards/project/floating_ips/workflows.py | 26 +- .../dashboards/project/snapshots/panel.py | 2 +- .../launch-instance-model.service.js | 41 +- .../launch-instance-model.service.spec.js | 52 +- .../dashboards/project/volumes/panel.py | 2 +- .../dashboards/settings/user/forms.py | 3 +- openstack_dashboard/defaults.py | 1 + .../locale/as/LC_MESSAGES/django.po | 11 +- .../locale/bn_IN/LC_MESSAGES/django.po | 11 +- .../locale/brx/LC_MESSAGES/django.po | 11 +- .../locale/cs/LC_MESSAGES/django.po | 11 +- .../locale/de/LC_MESSAGES/django.po | 11 +- .../locale/de/LC_MESSAGES/djangojs.po | 21 +- .../locale/en_AU/LC_MESSAGES/django.po | 11 +- .../locale/en_GB/LC_MESSAGES/django.po | 79 +- .../locale/en_GB/LC_MESSAGES/djangojs.po | 8 +- .../locale/eo/LC_MESSAGES/django.po | 11 +- .../locale/es/LC_MESSAGES/django.po | 1959 +++++++++++++---- .../locale/es/LC_MESSAGES/djangojs.po | 693 +++++- .../locale/fr/LC_MESSAGES/django.po | 11 +- .../locale/gu/LC_MESSAGES/django.po | 11 +- .../locale/hi/LC_MESSAGES/django.po | 11 +- .../locale/id/LC_MESSAGES/django.po | 11 +- .../locale/it/LC_MESSAGES/django.po | 11 +- .../locale/ja/LC_MESSAGES/django.po | 88 +- .../locale/ja/LC_MESSAGES/djangojs.po | 27 +- .../locale/kn/LC_MESSAGES/django.po | 11 +- .../locale/ko_KR/LC_MESSAGES/django.po | 11 +- .../locale/kok/LC_MESSAGES/django.po | 11 +- .../locale/ks/LC_MESSAGES/django.po | 11 +- .../locale/mai/LC_MESSAGES/django.po | 11 +- .../locale/mni/LC_MESSAGES/django.po | 11 +- .../locale/mr/LC_MESSAGES/django.po | 11 +- .../locale/ne/LC_MESSAGES/django.po | 11 +- .../locale/pa_IN/LC_MESSAGES/django.po | 11 +- .../locale/pl_PL/LC_MESSAGES/django.po | 11 +- .../locale/pt_BR/LC_MESSAGES/django.po | 11 +- .../locale/ru/LC_MESSAGES/django.po | 11 +- .../locale/ta/LC_MESSAGES/django.po | 11 +- .../locale/tr_TR/LC_MESSAGES/django.po | 11 +- .../locale/ur/LC_MESSAGES/django.po | 11 +- .../locale/zh_Hans/LC_MESSAGES/django.po | 11 +- .../locale/zh_Hant/LC_MESSAGES/django.po | 11 +- .../core/images/actions/create-volume.service.js | 3 +- .../pages/admin/system/defaultspage.py | 2 +- .../pages/project/network/floatingipspage.py | 6 +- openstack_dashboard/test/test_data/cinder_data.py | 53 +- .../test/test_data/keystone_data.py | 23 - .../test/unit/api/rest/test_keystone.py | 14 +- openstack_dashboard/test/unit/api/test_cinder.py | 35 +- openstack_dashboard/test/unit/api/test_keystone.py | 22 + openstack_dashboard/test/unit/api/test_swift.py | 3 +- openstack_dashboard/usage/quotas.py | 4 +- ...default_availability_zone-9c070832b2992958.yaml | 8 + .../notes/bug-1822849-2833b5e6a5d021b7.yaml | 8 + .../notes/cinder-v3-only-daae11ff71a26ba7.yaml | 9 + releasenotes/source/index.rst | 1 + .../source/locale/de/LC_MESSAGES/releasenotes.po | 8 +- .../locale/en_GB/LC_MESSAGES/releasenotes.po | 135 +- .../source/locale/id/LC_MESSAGES/releasenotes.po | 22 +- .../source/locale/ja/LC_MESSAGES/releasenotes.po | 230 +- releasenotes/source/wallaby.rst | 6 + requirements.txt | 14 +- setup.cfg | 6 +- test-requirements.txt | 7 +- tox.ini | 20 +- 143 files changed, 8105 insertions(+), 2240 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index aaa9ad13a..37866b9d7 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10 +10 @@ -pbr!=2.1.0,>=2.0.0 # Apache-2.0 +pbr>=5.5.0 # Apache-2.0 @@ -13 +13 @@ pbr!=2.1.0,>=2.0.0 # Apache-2.0 -Babel!=2.4.0,>=2.3.4 # BSD +Babel>=2.6.0 # BSD @@ -21 +21 @@ iso8601>=0.1.11 # MIT -keystoneauth1>=3.4.0 # Apache-2.0 +keystoneauth1>=4.3.1 # Apache-2.0 @@ -25 +25 @@ oslo.config>=5.2.0 # Apache-2.0 -oslo.i18n>=3.15.3 # Apache-2.0 +oslo.i18n>=5.0.1 # Apache-2.0 @@ -29 +29 @@ oslo.upgradecheck>=0.1.1 # Apache-2.0 -oslo.utils>=3.40.0 # Apache-2.0 +oslo.utils>=4.8.0 # Apache-2.0 @@ -33 +33 @@ pyScss>=1.3.7 # MIT License -python-cinderclient>=5.0.0 # Apache-2.0 +python-cinderclient>=8.0.0 # Apache-2.0 @@ -41 +41 @@ PyYAML>=3.12 # MIT -requests>=2.14.2 # Apache-2.0 +requests>=2.25.1 # Apache-2.0 diff --git a/test-requirements.txt b/test-requirements.txt index 85762109a..77cf8727c 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -9,4 +8,0 @@ -# Hacking should appear first in case something else depends on pep8 -hacking>=3.0.1,<3.1.0 # Apache-2.0 -# -bandit!=1.6.0,>=1.4.0 # Apache-2.0 @@ -14 +10 @@ coverage!=4.4,>=4.0 # Apache-2.0 -flake8-import-order==0.12 # LGPLv3 +freezegun>=0.3.15 # Apache-2.0 @@ -20 +15,0 @@ python-memcached>=1.59 # PSF -pylint==2.6.0 # GPLv2