[release-announce] horizon 20.0.0 (xena)

no-reply at openstack.org no-reply at openstack.org
Thu Jul 29 09:26:48 UTC 2021


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






More information about the Release-announce mailing list