[release-announce] horizon 18.1.0 (ussuri)

no-reply at openstack.org no-reply at openstack.org
Mon Mar 23 17:46:00 UTC 2020


We are jazzed to announce the release of:

horizon 18.1.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.1.0
^^^^^^

New Features

* Introduced a new "DEFAULT_BOOT_SOURCE" config option to allow
  operators to configure a default instance boot source.

Changes in horizon 18.0.0..18.1.0
---------------------------------

571eb23c7 Tell reno to ignore the kilo branch
7acb68b5c Imported Translations from Zanata
11d4954cc Use pyScss2 and django-pyscss2
d8ff9cf0e Imported Translations from Zanata
2b55e3f7a Catch AttributeError when deleting temp file on image upload
f66ef7b5a tests: Convert 'OpenStackAuthTestsV3Base' to mock (pt. 4)
91a62dc98 tests: Convert 'OpenStackAuthTestsV3Base' to mock (pt. 3)
262bed40e tests: Convert 'OpenStackAuthTestsV3Base' to mock (pt. 2)
97980a4bb tests: Convert 'OpenStackAuthTestsV3Base' to mock (pt. 1)
1fc70d750 Remove python_2_unicode_compatible usage
7192dd1b5 tests: Convert 'OpenStackAuthTestsWebSSO' to mock
dd32c9287 Skip integration tests for UT only changes
9cbbf0947 Imported Translations from Zanata
5e979b751 Remove  PYTHONHASHSEED variable from integration tests env
bc59d73ee Fix menu navigation for slow loading pages
2c30f8927 trivial: Use literals inline
e23fe2bc4 tests: Convert remaining mox tests to mock (pt. 2.8)
7b2e5f3f7 trivial: Remove now unused comments
4b31ae506 Check volume endpoint availability in the same order
12faaf8dd tests: Convert remaining mox tests to mock (pt. 2.7)
ed3e73892 tests: Convert remaining mox tests to mock (pt. 2.6)
890af5c5d tests: Convert remaining mox tests to mock (pt. 2.5)
a5dc59f7e tests: Convert remaining mox tests to mock (pt. 2.4)
2a59abc74 tests: Convert remaining mox tests to mock (pt. 2.3)
3422bed83 tests: Convert remaining mox tests to mock (pt. 2.2)
25fa17b41 tests: Convert remaining mox tests to mock (pt. 2.1)
22c6409c6 Drop custom formatwarning from settings.py
ac3d139c0 Cleanup python 2.7 handling logic
12cd2090b Revert "Explicitly set LOCALE_PATHS for Horizon apps"
61ec305e3 Add support to modal.js for file attachments in form response
3e7bc83c4 Allow to set default instance boot source
32be95514 minor clean up on mox removal
f1c8d3306 Convert test_switch_* test to mock
a85254409 Convert project-list related tests to mock
bb5a38f77 Note on enmerkar in requirements.txt
9d434006b Imported Translations from Zanata
c54ee9bd0 [doc]Correcting broken link
5c54ab5d4 Add pagination to Source table in Launch Instance wizard
057abb210 Add pagination to Server Groups table in Launch Instance wizard
72b9201ab tests: Convert remaining mox tests to mock (pt. 1)
1778421a5 tests: Remove unused helper functions
2b3ab4644 Remove errant references to mox
a95398d01 Manually registering 2 Dashboards breaks get_dashboards() (python3)
decb90bf6 Experimental tests with xstatic reviews
8c2b51acc flake8: Ensure local check in hacking 2.0.0
e456500bd Imported Translations from Zanata
207ebdf27 Removing USE_SSL parameter from the configuration documentation
f6f858f72 Trigger size's oninput event manually after choosing source
f9e0f8a97 Allow to evacuate without specifying a target host
4fc1b9c42 Remove six.reraise usage
a62751ca4 Add pagination to Security Groups table in Launch Instance wizard
01440a4cb Imported Translations from Zanata
d870b4058 Remove six usage from openstack_dashboard package
e976461d8 Remove six usage from horizon package
1570e5c3e Remove Pint from requirements.txt
4ef9ba94c Avoid duplicated maintenance of integration test config
5dd2bf5fb Remove six usage from openstack_auth package
a17aa5568 Skip horizon-integration-tests for translation jobs
0a4785c48 Imported Translations from Zanata
3b7d392d9 zuul: Avoid duplicated job
5d7e3eac0 Remove flavor disk size ckeck when create instance from volume
e6ce38822 Fix dupliated words issue like " by by which"
cd80207d0 Generate plugin registry based on releases repo
c7e5b6497 Set up the initial displayed values in all boot-sources


Diffstat (except docs and test files)
-------------------------------------

.gitignore                                         |    4 +
.zuul.yaml                                         |   78 +-
bindep.txt                                         |    2 +
.../locale/en_GB/LC_MESSAGES/doc-configuration.po  |  185 +-
.../locale/id/LC_MESSAGES/doc-configuration.po     |   78 +-
.../locale/id/LC_MESSAGES/doc-contributor.po       |  359 ++--
horizon/base.py                                    |   25 +-
horizon/exceptions.py                              |    8 +-
horizon/forms/fields.py                            |    8 +-
horizon/hacking/checks.py                          |    7 +-
horizon/locale/en_GB/LC_MESSAGES/django.po         |   14 +-
horizon/locale/en_GB/LC_MESSAGES/djangojs.po       |    8 +-
horizon/locale/ru/LC_MESSAGES/django.po            |   16 +-
horizon/locale/ru/LC_MESSAGES/djangojs.po          |   10 +-
horizon/middleware/operation_log.py                |   10 +-
horizon/static/horizon/js/horizon.forms.js         |    3 +
horizon/static/horizon/js/horizon.modals.js        |   21 +-
horizon/tables/actions.py                          |    6 +-
horizon/tables/base.py                             |   78 +-
horizon/tables/formset.py                          |   15 +-
horizon/tabs/base.py                               |    9 +-
horizon/templatetags/angular.py                    |   11 +-
horizon/test/helpers.py                            |   22 +-
horizon/test/unit/tables/test_tables.py            |   49 +-
horizon/test/unit/tabs/test_tabs.py                |    4 +-
horizon/test/unit/test_base.py                     |   52 +-
horizon/test/unit/test_exceptions.py               |    2 +-
horizon/test/unit/test_messages.py                 |    8 +-
.../test/unit/utils/test_babel_extract_angular.py  |   28 +-
horizon/test/unit/workflows/test_workflows.py      |   18 +-
horizon/utils/babel_extract_angular.py             |   14 +-
horizon/utils/csvbase.py                           |   13 +-
horizon/utils/functions.py                         |    7 +-
horizon/utils/scss_filter.py                       |    4 +-
horizon/utils/settings.py                          |    4 +-
horizon/workflows/base.py                          |   12 +-
horizon/workflows/views.py                         |    4 +-
lower-constraints.txt                              |    6 +-
openstack_auth/locale/en_GB/LC_MESSAGES/django.po  |   36 +-
openstack_auth/locale/ru/LC_MESSAGES/django.po     |   34 +-
openstack_auth/plugin/base.py                      |    4 +-
openstack_auth/user.py                             |    3 +-
openstack_auth/utils.py                            |   20 +-
openstack_auth/views.py                            |    7 +-
openstack_dashboard/api/base.py                    |   16 +-
openstack_dashboard/api/cinder.py                  |   78 +-
openstack_dashboard/api/glance.py                  |   41 +-
openstack_dashboard/api/keystone.py                |    8 +-
openstack_dashboard/api/neutron.py                 |   16 +-
openstack_dashboard/api/rest/glance.py             |    3 +-
openstack_dashboard/api/rest/json_encoder.py       |    9 -
openstack_dashboard/api/rest/swift.py              |    3 -
openstack_dashboard/api/swift.py                   |    4 +-
.../contrib/developer/profiler/api.py              |    8 +-
.../contrib/developer/profiler/middleware.py       |    3 +-
.../dashboards/admin/group_types/specs/tables.py   |    3 +-
.../dashboards/admin/hypervisors/compute/forms.py  |    5 +
.../dashboards/admin/images/views.py               |    2 +-
.../admin/volume_types/qos_specs/tables.py         |    3 +-
.../dashboards/project/images/images/forms.py      |    7 +-
.../dashboards/project/instances/forms.py          |    3 +-
.../dashboards/project/instances/utils.py          |    3 +-
.../project/instances/workflows/create_instance.py |    5 +-
.../dashboards/project/key_pairs/tables.py         |    3 +-
.../dashboards/project/security_groups/forms.py    |    6 +-
.../dashboards/project/security_groups/tables.py   |    5 +-
.../launch-instance/flavor/flavor.controller.js    |    2 +-
.../launch-instance-model.service.js               |    9 +-
.../launch-instance-model.service.spec.js          |   11 +-
.../security-groups/security-group-details.html    |    4 +-
.../security-groups/security-groups.controller.js  |   20 +-
.../security-groups/security-groups.html           |  109 +-
.../security-groups/security-groups.spec.js        |   13 +-
.../server-groups/server-groups.controller.js      |   35 +-
.../server-groups/server-groups.html               |   65 +-
.../server-groups/server-groups.spec.js            |   11 +-
.../launch-instance/source/source-details.html     |   56 +-
.../launch-instance/source/source.controller.js    |  184 +-
.../source/source.controller.spec.js               |   89 +-
.../workflow/launch-instance/source/source.html    |  186 +--
openstack_dashboard/defaults.py                    |    5 +
.../locale/cs/LC_MESSAGES/djangojs.po              |  240 +--
.../locale/de/LC_MESSAGES/django.po                |  130 +-
.../locale/de/LC_MESSAGES/djangojs.po              |  212 ++-
.../locale/en_AU/LC_MESSAGES/djangojs.po           |  170 +-
.../locale/en_GB/LC_MESSAGES/django.po             |  341 +++-
.../locale/en_GB/LC_MESSAGES/djangojs.po           |  232 +--
.../locale/eo/LC_MESSAGES/django.po                |   48 +-
.../locale/eo/LC_MESSAGES/djangojs.po              |  241 +--
.../locale/es/LC_MESSAGES/djangojs.po              |  239 +--
.../locale/fr/LC_MESSAGES/django.po                |   43 +-
.../locale/fr/LC_MESSAGES/djangojs.po              |  248 +--
.../locale/id/LC_MESSAGES/django.po                |  144 +-
.../locale/id/LC_MESSAGES/djangojs.po              |  179 +-
.../locale/it/LC_MESSAGES/djangojs.po              |  142 +-
.../locale/ja/LC_MESSAGES/django.po                |   49 +-
.../locale/ja/LC_MESSAGES/djangojs.po              |  214 ++-
.../locale/ko_KR/LC_MESSAGES/django.po             |   41 +-
.../locale/ko_KR/LC_MESSAGES/djangojs.po           |  214 ++-
.../locale/pt_BR/LC_MESSAGES/django.po             |   43 +-
.../locale/pt_BR/LC_MESSAGES/djangojs.po           |  247 +--
.../locale/ru/LC_MESSAGES/django.po                |  144 +-
.../locale/ru/LC_MESSAGES/djangojs.po              |  243 +--
.../locale/tr_TR/LC_MESSAGES/djangojs.po           |  240 +--
.../locale/zh_CN/LC_MESSAGES/django.po             |   43 +-
.../locale/zh_CN/LC_MESSAGES/djangojs.po           |  215 ++-
.../locale/zh_TW/LC_MESSAGES/djangojs.po           |  210 ++-
.../management/commands/horizon.wsgi.template      |    4 -
.../management/commands/make_web_conf.py           |    6 +-
openstack_dashboard/settings.py                    |   18 +-
openstack_dashboard/templatetags/themes.py         |    2 +-
openstack_dashboard/test/helpers.py                |   25 +-
openstack_dashboard/test/test_data/exceptions.py   |    5 -
openstack_dashboard/test/unit/api/test_keystone.py |    5 +-
openstack_dashboard/test/unit/api/test_neutron.py  |    5 +-
openstack_dashboard/test/unit/test_views.py        |   10 +-
openstack_dashboard/test/unit/usage/test_quotas.py |   16 +-
openstack_dashboard/utils/config.py                |    4 +-
openstack_dashboard/utils/config_types.py          |   20 +-
openstack_dashboard/views.py                       |    2 +-
playbooks/npm-test-xstatic-master/pre.yaml         |    9 +
plugin-registry.csv                                |   30 +
...ault-instance-boot-source-0cd60b3090ef4b38.yaml |    5 +
.../source/locale/de/LC_MESSAGES/releasenotes.po   |   24 +-
.../locale/en_GB/LC_MESSAGES/releasenotes.po       |  350 +++-
.../source/locale/id/LC_MESSAGES/releasenotes.po   |  162 +-
reno.yaml                                          |    3 +
requirements.txt                                   |   14 +-
setup.cfg                                          |    1 +
test-requirements.txt                              |    1 -
tools/executable_files.txt                         |    3 +-
tools/list-horizon-plugins.py                      |  101 ++
tox.ini                                            |   10 +-
196 files changed, 6111 insertions(+), 5270 deletions(-)


Requirements updates
--------------------

diff --git a/requirements.txt b/requirements.txt
index a53d561d9..9c8a09002 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -10,0 +11 @@ pbr!=2.1.0,>=2.0.0 # Apache-2.0
+
@@ -17,2 +18 @@ django-debreach>=1.4.2 # BSD License (2 clause)
-django-pyscss>=2.0.2 # BSD License (2 clause)
-enmerkar>=0.7.1 # BSD
+django-pyscss2>=3.0.0 # BSD License (2 clause)
@@ -31 +30,0 @@ osprofiler>=2.3.0 # Apache-2.0
-Pint>=0.5 # BSD
@@ -33 +32 @@ pymongo!=3.1,>=3.0.2 # Apache-2.0
-pyScss!=1.3.5,>=1.3.4 # MIT License
+pyScss2>=1.4.0 # MIT License
@@ -44 +42,0 @@ semantic-version>=2.3.1 # BSD
-six>=1.10.0 # MIT
@@ -72,0 +71,6 @@ XStatic-tv4>=1.2.7.0 # MIT
+
+# enmerkar is not a runtime requirement.
+# It is only required when extracting translation strings.
+# Most horizon plugins do not have enmerkar in their requirements.txt
+# and they depends on horizon requirements, so we keep it here.
+enmerkar>=0.7.1 # BSD
diff --git a/test-requirements.txt b/test-requirements.txt
index e26120707..c6b84aa0c 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -17 +16,0 @@ mock>=2.0.0 # BSD
-mox3>=0.20.0 # Apache-2.0






More information about the Release-announce mailing list