[release-announce] horizon 16.0.0 (train)

no-reply at openstack.org no-reply at openstack.org
Wed Oct 16 12:53:08 UTC 2019


We are ecstatic to announce the release of:

horizon 16.0.0: OpenStack Dashboard

This release is part of the train 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.

16.0.0
^^^^^^

Other Notes

* The default values of the settings listed in
  "local_settings.py.example" in past releases have been moved to
  "openstack_dashboard/defaults.py". By doing this, horizon can now
  provide the definitions of the default settings more explicitly. For
  the available settings, see "openstack_dashboard/defaults.py" and
  the horizon setting reference found at https://docs.openstack.org/h
  orizon/latest/configuration/settings.html.

  Note that Django related settings and HORIZON_CONFIG still exist in
  "local_settings.py.example" in this release and they will be
  revisited in upcoming releases.

Changes in horizon 15.0.0.0rc1..16.0.0
--------------------------------------

35dc4814e Relnote: default values are moved to openstack_dashboard/defaults.py
693dc275e Imported Translations from Zanata
817ee34d5 Imported Translations from Zanata
3043d05e3 Imported Translations from Zanata
7f3c49efc Imported Translations from Zanata
5c284f228 Remove the check which causes plugin's quotas update failure
fd61c25da Imported Translations from Zanata
eb2ee54a0 Imported Translations from Zanata
5869b338d Update TOX/UPPER_CONSTRAINTS_FILE for stable/train
e4e1ef1e7 Update .gitreview for stable/train
f57b6ead5 Handle Permission Denied for policy files
c574ceb0e Imported Translations from Zanata
a945d4181 Fix skipped integration tests for securitygroup, namespace, usersettings
ec970fd6e Handle partial dict setting
8051a2ca6 Wrong list of attached vms are shown in manage volume attachments
87b57dfe7 Add Allowed Address Pair/Delete buttons are only visible to admin
33d0bb8c5 Imported Translations from Zanata
81200b704 Imported Translations from Zanata
6ca6f215a Imported Translations from Zanata
7c3a9dd8d Documentation and release notes for changing expired passwords
ba75bafc6 Specify proper container_format for 'vhd' disk_format
3ba5da30d Don't display expiration warning for expiration date in the past
437e32d18 Imported Translations from Zanata
9d98a0c24 Automatically redirect to the password change when it's expired
fa804370b Imported Translations from Zanata
cd1009bd2 Restore horizon.utils.functions.get_page_size()
02898d1ba Define zuul project-template for django22 job
f33e5fd8a Drop deprecated Keystone V2 API support
ceb221f6a Add a view for changing user password while not logged in
f381f4dd3 Downloadable Kubernetes configuration file
02d9a05ee Define remaining openstack_dashboard settings
7e95e1601 Move default values defined in settings.py to defaults.py
7c897b677 Move openstack_dashboard specific settings from horizon
5101ebdc2 Remove unused settings in openstack_dashboard
9b99f1710 Define default settings explicitly (horizon)
e56e076ea Define default settings explicitly (openstack_auth)
b635e625f Updated max-width to be dynamic for .member class
c6496c7d0 django22: release note and docs update
845e35815 Make horizon-openstack-tox-python3-django22 voting
1de8e806e trivial: Remove vendored 'is_safe_url' function
ea24949ed trivial: Add TODOs for remaining function-based views
bb2b1fd6c trivial: Remove 'cache_control' decorator
b9e374d09 trivial: Remove dead code
4de98a0dc trivial: Mark inner method as such
f654c893e django22: django.test.client.encode_multipart no longer accepts None
1d1c6ce4d django22: Replace 'render_to_response' with 'render'
8d05266d6 Imported Translations from Zanata
4ece14b28 Handle move of ABCs to collections.abc
885b4c5a6 Handle deprecation of inspect.getargspec
f8552fc95 tox: Enable warnings
98d20a65d tox: Slight tweaks
86d13968d Remove unused 'not_list' template argument
8343014ec Fix "_data_table_action.html" template usage
5fd5b4c89 Fix version handling compatible with python-semanticversion 2.8
6c14f6049 Fix navigation hang issue
f0f50d877 Imported Translations from Zanata
0a0fb835b PDF documentation build
ab0e96df9 Avoid forced logout when 403 error encountered
c238b519f Revert "Raise NotFound error when retrieved by not uuid"
82ed795b5 Fix typo: setDefaultIndexUrl -> getDefaultIndexUrl
30b7cfb9b Imported Translations from Zanata
97993e0c6 django22: Call 'is_safe_url' with 'allowed_hosts'
fff89e69d django22: Add 'request' as first argument to 'authenticate'
7938f3601 django22: The 'login' functional-based view is gone (pt. 2)
49b6250ed django22: The 'login' functional-based view is gone (pt. 1)
fbcfdf5f8 django22: Django now truncates using the ellipsis character
493c95459 django22: Handle changes in management commands
d2dc6fa66 django22: Add 'renderer' argument
3e7fd76d7 Syntax error in image detail template
fffdb8cc9 Imported Translations from Zanata
cdb191ec8 Fix listing security groups when no rules
8f5a3cd7d Display password_regex_description when password change fails
78e382c3a Selenium tests fail when response is slow.
f966365dd Imported Translations from Zanata
79c0da136 Fixing broken links
cbeb92fa4 Add exception message when user 'Create  Application Credential'
3e12c2cc4 Set log devel to DEBUG in local_settings.py.example
d10913536 Imported Translations from Zanata
d86b94019 Show username and user ID on "User Credentials Details" popup
0a10dde2e Imported Translations from Zanata
26c5c8c34 Correct error messages on detach volume form under instance panel
86e1960f9 Allow to select multiattach volume that has been attached
abb23c672 Imported Translations from Zanata
e0d0c9b7b Add the unit test for flavor
42f4ef334 Do not always assume image_id in volume_image_metadata
4d5e0cbb5 Imported Translations from Zanata
82a20c670 Fix boot-from-volume test in project.instances.tests
6dc4bd203 After deleting the server group, jump to the correct page
9fa1cddf0 Enable volume snapshot backups
d2ae6b105 Add non-voting job with Python 3 + Django 2.2
3aac4a257 Define new 'horizon-tempest-plugin-ipv6' job in gate
d5dcf1be9 Allow creating ICMPV6 rules
6216aa1a3 Add exception message when user Encrypt an 'Volume Type' in Use
b8f7bd27a Imported Translations from Zanata
32d48626d Update api-ref location
6f4742457 Switch from django string_concat to format_lazy
363802d9e Avoid using nova volume test data for cinder API mocking
66144165f Use the python real executable
fc967e6d9 Imported Translations from Zanata
9c30ca9c1 Preserve form field order in python 3
2f1e1899d Define default settings explicitly (openstack_dashboard 5/5)
64aa0dc98 Imported Translations from Zanata
808f4cca1 Add the unit test for keypairs
8653f718f Define default settings explicitly (openstack_dashboard 4/5)
a9989330f Add the unit test for network_qos
fcdc67b81 Define default settings explicitly (openstack_dashboard 3/5)
b529f0093 Bump the openstackdocstheme extension to 1.20
e17325dd3 Fix quoting in zuul for tempest plugins
63ca38f00 Imported Translations from Zanata
26eebd4ab Cleanup unused util functions
4e911e288 Explicitly set LOCALE_PATHS for Horizon apps
1ac40ea95 Add exception message when user modify password same as previous
6c8674dc5 Replace "group spec" with "group type spec"
f0fff4fe4 Add unit test for image detail
802ab1c8f Imported Translations from Zanata
5adf687ff Fix :param: in docstring
26146458e Change the way of verifying field cidr
c60a82dfa Fixes creating nondefault type volumes from volume
a4acc21da Remove volume_backup_list_paged from the volume tests file
b3fada890 Update the constraints url
cbd15bf91 Uniform asterisk mark color and location
f0149ee0d Add the group_snapshot attribute to the snapshot in UpdateRow
9f18dde70 Image Name is optional parameter on create and update image form
92d832028 Fix tenant floating_ip_allocation call in neutron rest api.
11a12423b Blacklist sphinx 2.1.0 (autodoc bug)
36515b38b Do not try to access sets by index
a55d7944b Remove reference to Neutron LBaaS
39efc89be Imported Translations from Zanata
04278cd9f Imported Translations from Zanata
e13b74e4a Disable add rules button when quotas are exceeded in security rule panel
c81af496c Quote keypair name in keypair panel
9c04063c0 Add asterisk mark for the required field on CreateNamespaceForm
248b8e971 Correct error messages on create and update router form
0cb5167b9 Make project volume group table work even with volumev3 only env
6f807b6b0 Adds community image loading for instance index view
09da336e9 Correct the prompt message when creating a volume in the image panel
ae96fe63d Imported Translations from Zanata
4856a7e52 Check if network_id and qos_policy_id is empty
a040c02a9 Do not call handle() when AZ is required
a6fae3b10 Check if the key meets the cinder API validation
a473887aa Add tooltips for "Admin State" in related forms
5c15c3286 Imported Translations from Zanata
9790293c2 Update URLs of horizon plugin registry
d6c56c26b Use POST/Redirect/GET for an instance resize form
7c77637f7 Do not check name duplication when creating a volume group
1070425ab Remove the update.html on routers in admin panel
4af12ac8f Remove the function of messages.error in AddRouterRoute
f9374ffb8 Fix typo in an OPENSTACK_PROFILER setting reference
e8fd0020a Generate locale messages at dev server startup
45e8cb2fe Hide the Button of delete aggregate if a host in the aggregate
91a57e56e Blacklist bandit 1.6.0
77c6b1919 [trivial] use systemctl for service management in Ubuntu
2e52e4a4e Remove deprecated SHOW_KEYSTONE_V2_RC config option
69f00b437 Imported Translations from Zanata
ce00c5ab1 Update sphinx dependency
e3a2d2bbb Imported Translations from Zanata
98c434c19 Disabled accept transfer when number of volumes equal quota of volumes
8c125fa5a Imported Translations from Zanata
e3c600cbb Add relnote on cinderclient minver bump to 4.0.1
9f4c9d19d Correct error messages on update network form
463da212c Use zuul template for python3 test runtime
fae51c120 Imported Translations from Zanata
002c163d5 Snapshot Name is optional parameter on create and update snapshot form
74760876a Remove unnecessary variables
a1d1756ea Imported Translations from Zanata
0e518521c Remove ENABLE_FLAVOR_EDIT config option
431fd6c16 Drop cinder consistency group support
209e537fb Move deeper-indented code to a separate method
43034cbb2 Fixes IPv6 static route addition
a1559be77 Fix KeyError when image was deleted
48ac863f7 Document the plan of ini-based-configuration
31395b4d8 Correct error messages on create rbac policy form
8516de8f6 Correctly set content-type for workflow response
cca464fa9 Allow deletion of description information when editing a volume group
259667dab Imported Translations from Zanata
209e13064 Translate status of volume group
a569f0faf Replace git.openstack.org URLs with opendev.org URLs
53486be43 Define default settings explicitly (openstack_dashboard 2/5)
9c19b07a2 Define default settings explicitly (openstack_dashboard 1/5)
413e4b6d5 Application Credentials: Set unrestricted Default to False
564fb5aa5 Display the error message on create volume group form
ff4644261 Periodically check item status if it in transition state
23e297410 Imported Translations from Zanata
b30f0b513 OpenDev Migration Patch
18e9918d3 Adjusts subnet_free_ips to 0 when it is negative
f8e5c4ef8 Disable textbox on create image form when submitting
cf8f0de63 Drop nodejs4 job
080373033 Add missing ws separator between words
9db663f17 Translate instance action of lock and unlock and create image
b028b5a0a Change Cinder API version in the documentation
35b20d0a1 Correct error messages of Create Extra Spec Form under Volume Type Panel
f9b520f37 Set min version of python-cinderclient to 4.0.0
eca9c9149 Remove token object from credentials
81b53ae8a Fix typo: disassocaite -> disassociate
8de1e272f Incoming tenant id when creating a subnet on create network form
cf9def203 Marking CIDR as mandatory field on Add rule form in security_group panel
5de40b3f3 Complete angular translation extract pattern
b65c9c0e5 Imported Translations from Zanata
42349acc2 Modify the regex for name on import public key form
36170ed3c Sync policy.json files with service projects
3fb90e0c7 Translate awaiting-transfer status in volumes panel
f722d2bb1 django.core.urlresolvers -> django.urls in doc
d168e3f2f Add the required mark on edit form under under container panel
e8de38fbe Don't allow deletion of HA port of router
f62349a92 Add use_required_attribute = False in Add Interface Form
b59b4effd Policy translation in server group form
d61157242 Add asterisk mark for the required field on create volume form
41dd4836c Add the required mark
3b6c944ff Update python3 version info
e4bc70b29 Imported Translations from Zanata
5ab15c49d Do not specify device_name when creating server with BFV
cae432ab5 Imported Translations from Zanata
261c2ce60 Add nodejs10 jobs on bionic
4788c4d2f Not implicitly set vol_device_name to vda
829fcb77b Imported Translations from Zanata
0d8fba2a3 After deleting the trunk, jump to the correct page
513f9a79e Promote non-voting jobs to voting
fcff081f4 Imported Translations from Zanata
2d6dfd598 project volume group: Fix incorrect reference to cgroup panel
5035ae51c Update master for stable/stein
ffbe0e2f2 network topology: handle port AZ correctly
f8e0be59a Add py36 and py37 tox envs
04fe1156b Support setting more visibility options for edit/create image
3c82a38f7 Display first volume image_metadata as an instance image
04399d69e Judge if horizon.datatables.qs is undefined
096438b64 Drop py35 jobs


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

.gitreview                                         |     3 +-
.pylintrc                                          |     2 +-
.zuul.yaml                                         |   104 +-
.../contributor/topics/ini-based-configuration.rst |   228 +
.../locale/en_GB/LC_MESSAGES/doc-configuration.po  |   126 +-
.../locale/id/LC_MESSAGES/doc-configuration.po     |   470 +-
.../locale/id/LC_MESSAGES/doc-contributor.po       | 12092 +++++++++++++++++++
horizon/base.py                                    |    11 +-
horizon/browsers/views.py                          |     4 +-
horizon/conf/default.py                            |     3 +-
horizon/defaults.py                                |    95 +
horizon/forms/fields.py                            |    24 +-
horizon/forms/views.py                             |     5 +-
horizon/locale/ar/LC_MESSAGES/djangojs.po          |     7 +-
horizon/locale/de/LC_MESSAGES/django.po            |    16 +-
horizon/locale/de/LC_MESSAGES/djangojs.po          |    12 +-
horizon/locale/en_GB/LC_MESSAGES/djangojs.po       |     5 +-
horizon/locale/eo/LC_MESSAGES/django.po            |    14 +-
horizon/locale/eo/LC_MESSAGES/djangojs.po          |     9 +-
horizon/locale/es/LC_MESSAGES/djangojs.po          |     5 +-
horizon/locale/fi_FI/LC_MESSAGES/django.po         |   156 +-
horizon/locale/fr/LC_MESSAGES/djangojs.po          |     5 +-
horizon/locale/id/LC_MESSAGES/django.po            |    14 +-
horizon/locale/id/LC_MESSAGES/djangojs.po          |     9 +-
horizon/locale/ja/LC_MESSAGES/django.po            |    17 +-
horizon/locale/ja/LC_MESSAGES/djangojs.po          |     8 +-
horizon/locale/ko_KR/LC_MESSAGES/django.po         |    18 +-
horizon/locale/ko_KR/LC_MESSAGES/djangojs.po       |     5 +-
horizon/locale/pt_BR/LC_MESSAGES/djangojs.po       |     5 +-
horizon/locale/ru/LC_MESSAGES/djangojs.po          |     7 +-
horizon/locale/zh_CN/LC_MESSAGES/django.po         |    14 +-
horizon/locale/zh_CN/LC_MESSAGES/djangojs.po       |    11 +-
horizon/middleware/base.py                         |    10 +-
horizon/middleware/operation_log.py                |    31 +-
.../conf/resource-type-registry.service.js         |     2 +-
horizon/static/framework/framework.module.js       |    17 +-
horizon/static/framework/framework.module.spec.js  |     3 +-
.../widgets/table/hz-resource-table.controller.js  |    21 +-
.../table/hz-resource-table.controller.spec.js     |    12 +-
.../framework/widgets/wizard/wizard.controller.js  |     2 +-
.../widgets/wizard/wizard.controller.spec.js       |    10 +-
horizon/static/horizon/js/horizon.forms.js         |    23 -
horizon/static/horizon/js/horizon.selenium.js      |     2 +-
horizon/static/horizon/js/horizon.tables.js        |     4 +-
horizon/tables/actions.py                          |     6 +-
horizon/tables/base.py                             |    27 +-
horizon/templates/auth/_password_form.html         |    60 +
horizon/templates/auth/_password_page.html         |    26 +
horizon/templates/auth/password.html               |    14 +
.../common/_data_table_row_actions_dropdown.html   |     4 +-
.../horizon/common/_data_table_table_actions.html  |     4 +-
.../common/_workflow_step_update_members.html      |     1 +
horizon/templatetags/branding.py                   |     7 +-
horizon/templatetags/horizon.py                    |     6 +-
horizon/test/helpers.py                            |    13 +-
horizon/test/settings.py                           |     5 +-
.../unit/management/commands/test_startdash.py     |    21 +-
.../unit/management/commands/test_startpanel.py    |    20 +-
horizon/test/unit/middleware/test_operation_log.py |     9 +-
horizon/test/unit/tables/test_tables.py            |     9 +-
.../test/unit/utils/test_babel_extract_angular.py  |    16 +
horizon/test/unit/utils/test_filters.py            |     2 +-
horizon/test/unit/utils/test_units.py              |    74 -
horizon/test/urls.py                               |     3 +-
horizon/test/webdriver.py                          |    35 +-
horizon/themes.py                                  |    16 +-
horizon/utils/babel_extract_angular.py             |     8 +-
horizon/utils/functions.py                         |    12 +-
horizon/utils/memoized.py                          |     2 +-
horizon/utils/scss_filter.py                       |     2 +-
horizon/utils/settings.py                          |    19 +
horizon/utils/units.py                             |   147 -
horizon/views.py                                   |     4 +-
lower-constraints.txt                              |     5 +-
openstack_auth/backend.py                          |    65 +-
openstack_auth/defaults.py                         |   173 +
openstack_auth/exceptions.py                       |    32 +
openstack_auth/forms.py                            |   134 +-
openstack_auth/locale/de/LC_MESSAGES/django.po     |    38 +-
openstack_auth/locale/en_GB/LC_MESSAGES/django.po  |     9 +-
openstack_auth/locale/eo/LC_MESSAGES/django.po     |    35 +-
openstack_auth/locale/es/LC_MESSAGES/django.po     |    13 +-
openstack_auth/locale/fr/LC_MESSAGES/django.po     |    10 +-
openstack_auth/locale/id/LC_MESSAGES/django.po     |    37 +-
openstack_auth/locale/ja/LC_MESSAGES/django.po     |    37 +-
openstack_auth/locale/ko_KR/LC_MESSAGES/django.po  |    41 +-
openstack_auth/locale/ne/LC_MESSAGES/django.po     |    89 +
openstack_auth/locale/pt_BR/LC_MESSAGES/django.po  |    11 +-
openstack_auth/locale/ru/LC_MESSAGES/django.po     |    35 +-
openstack_auth/locale/zh_CN/LC_MESSAGES/django.po  |    40 +-
openstack_auth/plugin/base.py                      |    43 +-
openstack_auth/plugin/k2k.py                       |    11 +-
openstack_auth/plugin/password.py                  |    18 +-
openstack_auth/plugin/token.py                     |    17 +-
openstack_auth/policy.py                           |    20 +-
openstack_auth/urls.py                             |     8 +-
openstack_auth/utils.py                            |   124 +-
openstack_auth/views.py                            |   109 +-
openstack_dashboard/api/_nova.py                   |     4 +-
openstack_dashboard/api/base.py                    |    55 +-
openstack_dashboard/api/cinder.py                  |   159 +-
openstack_dashboard/api/glance.py                  |    27 +-
openstack_dashboard/api/keystone.py                |   262 +-
openstack_dashboard/api/microversions.py           |     1 -
openstack_dashboard/api/neutron.py                 |    58 +-
openstack_dashboard/api/nova.py                    |    22 +-
openstack_dashboard/api/rest/config.py             |    11 +-
openstack_dashboard/api/rest/glance.py             |     2 +-
openstack_dashboard/api/rest/keystone.py           |     4 +-
openstack_dashboard/api/rest/network.py            |     2 +-
openstack_dashboard/api/rest/neutron.py            |     6 +-
openstack_dashboard/api/swift.py                   |    12 +-
.../conf/cinder_policy.d/consistencygroup.yaml     |    10 -
openstack_dashboard/conf/cinder_policy.json        |    15 +-
openstack_dashboard/conf/neutron_policy.json       |   299 +-
openstack_dashboard/conf/nova_policy.json          |    36 +-
openstack_dashboard/context_processors.py          |    19 +-
openstack_dashboard/contrib/developer/dashboard.py |     2 +-
.../contrib/developer/profiler/api.py              |    13 +-
.../contrib/developer/profiler/middleware.py       |    17 +-
.../contrib/developer/profiler/panel.py            |     4 +-
.../profiler/templates/profiler/_mode_picker.html  |    34 +-
.../dashboards/admin/aggregates/forms.py           |    33 +-
.../dashboards/admin/aggregates/tables.py          |     5 +
.../dashboards/admin/flavors/urls.py               |     4 +-
.../dashboards/admin/floating_ips/panel.py         |     7 +-
.../dashboards/admin/group_types/specs/forms.py    |     2 +-
.../templates/group_types/specs/_create.html       |     2 +-
.../templates/group_types/specs/_edit.html         |     2 +-
.../dashboards/admin/images/urls.py                |     4 +-
.../dashboards/admin/images/views.py               |     8 +-
.../dashboards/admin/info/tables.py                |     6 +-
.../dashboards/admin/instances/views.py            |     6 +-
.../dashboards/admin/metadata_defs/forms.py        |     3 +-
.../dashboards/admin/networks/forms.py             |    36 +-
.../dashboards/admin/networks/subnets/tables.py    |     2 +
.../dashboards/admin/networks/views.py             |     8 +-
.../dashboards/admin/overview/views.py             |     9 +-
.../dashboards/admin/rbac_policies/forms.py        |    19 +
.../dashboards/admin/rbac_policies/panel.py        |     6 +-
.../dashboards/admin/routers/panel.py              |     7 +-
.../admin/routers/templates/routers/update.html    |     7 -
.../dashboards/admin/routers/views.py              |     7 +-
.../dashboards/admin/snapshots/tables.py           |     6 +-
.../dashboards/admin/volume_types/extras/forms.py  |    13 +-
.../dashboards/admin/volume_types/forms.py         |     8 +-
.../admin/volume_types/qos_specs/forms.py          |    12 +-
.../dashboards/admin/volumes/views.py              |     8 +-
.../identity/application_credentials/forms.py      |    18 +-
.../templates/application_credentials/_create.html |     8 +
.../application_credentials/_success.html          |     6 +
.../application_credentials/kubeconfig.template    |    26 +
.../identity/application_credentials/urls.py       |     2 +
.../identity/application_credentials/views.py      |    46 +-
.../dashboards/identity/domains/panel.py           |     3 -
.../dashboards/identity/domains/tables.py          |     8 +-
.../dashboards/identity/domains/urls.py            |     4 +-
.../dashboards/identity/domains/workflows.py       |     6 +-
.../dashboards/identity/groups/urls.py             |     4 +-
.../dashboards/identity/groups/views.py            |     6 +-
.../dashboards/identity/projects/tables.py         |    18 +-
.../dashboards/identity/projects/tabs.py           |     2 +-
.../dashboards/identity/projects/views.py          |     7 +-
.../dashboards/identity/projects/workflows.py      |    16 +-
.../dashboards/identity/roles/urls.py              |     4 +-
.../dashboards/identity/roles/views.py             |     6 +-
.../dashboards/identity/users/forms.py             |    22 +-
.../dashboards/identity/users/tables.py            |     2 -
.../dashboards/identity/users/tabs.py              |     2 +-
.../dashboards/identity/users/urls.py              |     5 +-
.../dashboards/identity/users/views.py             |     7 +-
.../dashboards/project/api_access/tables.py        |    25 +-
.../templates/api_access/_credentials.html         |     6 +-
.../templates/api_access/openrc_v2.sh.template     |    43 -
.../dashboards/project/api_access/urls.py          |     1 -
.../dashboards/project/api_access/views.py         |    42 +-
.../dashboards/project/backups/forms.py            |    52 +-
.../dashboards/project/backups/tables.py           |    29 +
.../dashboards/project/backups/tabs.py             |    13 +-
.../backups/templates/backups/_create_backup.html  |     5 +
.../templates/backups/_detail_overview.html        |    14 +
.../backups/templates/backups/create_backup.html   |     2 +-
.../dashboards/project/backups/views.py            |     6 +
.../dashboards/project/cg_snapshots/__init__.py    |     0
.../dashboards/project/cg_snapshots/forms.py       |    76 -
.../dashboards/project/cg_snapshots/panel.py       |    51 -
.../dashboards/project/cg_snapshots/tables.py      |   118 -
.../dashboards/project/cg_snapshots/tabs.py        |    34 -
.../templates/cg_snapshots/_create.html            |     9 -
.../templates/cg_snapshots/_detail_overview.html   |    46 -
.../templates/cg_snapshots/_update.html            |     7 -
.../templates/cg_snapshots/create.html             |     7 -
.../templates/cg_snapshots/update.html             |     7 -
.../dashboards/project/cg_snapshots/urls.py        |    25 -
.../dashboards/project/cg_snapshots/views.py       |   153 -
.../dashboards/project/cgroups/__init__.py         |     0
.../dashboards/project/cgroups/forms.py            |   216 -
.../dashboards/project/cgroups/panel.py            |    51 -
.../dashboards/project/cgroups/tables.py           |   175 -
.../dashboards/project/cgroups/tabs.py             |    34 -
.../cgroups/templates/cgroups/_clone_cgroup.html   |     9 -
.../templates/cgroups/_create_snapshot.html        |    10 -
.../project/cgroups/templates/cgroups/_delete.html |     9 -
.../templates/cgroups/_detail_overview.html        |    34 -
.../cgroups/templates/cgroups/_remove_vols.html    |     7 -
.../templates/cgroups/_snapshot_limits.html        |    42 -
.../project/cgroups/templates/cgroups/_update.html |     7 -
.../cgroups/templates/cgroups/clone_cgroup.html    |     7 -
.../project/cgroups/templates/cgroups/create.html  |     7 -
.../cgroups/templates/cgroups/create_snapshot.html |     7 -
.../project/cgroups/templates/cgroups/delete.html  |     7 -
.../cgroups/templates/cgroups/remove_vols.html     |     7 -
.../project/cgroups/templates/cgroups/update.html  |     7 -
.../dashboards/project/cgroups/urls.py             |    44 -
.../dashboards/project/cgroups/views.py            |   320 -
.../dashboards/project/cgroups/workflows.py        |   414 -
.../dashboards/project/containers/utils.py         |    13 -
.../dashboards/project/floating_ips/panel.py       |     7 +-
.../dashboards/project/floating_ips/tables.py      |     8 +-
.../dashboards/project/images/images/forms.py      |     6 +-
.../dashboards/project/images/images/tables.py     |     6 +-
.../dashboards/project/images/images/tabs.py       |     5 +-
.../dashboards/project/images/images/urls.py       |     4 +-
.../dashboards/project/images/images/views.py      |     4 +-
.../templates/images/images/_detail_overview.html  |     2 +-
.../dashboards/project/images/urls.py              |     4 +-
.../dashboards/project/images/utils.py             |    30 -
.../dashboards/project/instances/audit_tables.py   |     4 +
.../dashboards/project/instances/forms.py          |    19 +-
.../dashboards/project/instances/tables.py         |    27 +-
.../dashboards/project/instances/tabs.py           |     8 +-
.../templates/instances/_disassociate.html         |     2 +-
.../dashboards/project/instances/utils.py          |    12 +-
.../dashboards/project/instances/views.py          |   103 +-
.../dashboards/project/key_pairs/tables.py         |    13 +-
.../dashboards/project/key_pairs/urls.py           |     4 +-
.../dashboards/project/network_topology/utils.py   |    12 +-
.../dashboards/project/network_topology/views.py   |     7 +-
.../dashboards/project/networks/forms.py           |     9 +-
.../extensions/allowed_address_pairs/tables.py     |    16 +
.../dashboards/project/networks/ports/workflows.py |    27 +-
.../dashboards/project/networks/views.py           |     8 +-
.../dashboards/project/networks/workflows.py       |    21 +-
.../routers/extensions/extraroutes/forms.py        |    11 +-
.../dashboards/project/routers/forms.py            |    22 +-
.../dashboards/project/routers/panel.py            |     7 +-
.../dashboards/project/routers/ports/forms.py      |     1 +
.../dashboards/project/routers/ports/tables.py     |     6 +
.../dashboards/project/security_groups/forms.py    |    55 +-
.../dashboards/project/security_groups/tables.py   |    15 +-
.../dashboards/project/snapshots/forms.py          |    17 +-
.../dashboards/project/snapshots/tables.py         |    29 +-
.../project/containers/edit-object-modal.html      |     1 +
.../project/containers/upload-object-modal.html    |     1 +
.../launch-instance-model.service.js               |    27 +-
.../launch-instance-model.service.spec.js          |    19 +-
.../server-groups/server-groups.controller.js      |     6 +
.../server-groups/server-groups.html               |     2 +-
.../dashboards/project/vg_snapshots/forms.py       |     1 -
.../dashboards/project/vg_snapshots/tables.py      |     3 -
.../dashboards/project/vg_snapshots/views.py       |     3 -
.../dashboards/project/volume_groups/forms.py      |    13 +-
.../dashboards/project/volume_groups/tables.py     |     5 +-
.../dashboards/project/volume_groups/views.py      |     5 +-
.../dashboards/project/volume_groups/workflows.py  |    27 -
.../dashboards/project/volumes/forms.py            |    32 +-
.../dashboards/project/volumes/tables.py           |    45 +-
.../dashboards/project/volumes/urls.py             |     3 +
.../dashboards/project/volumes/utils.py            |    29 -
.../dashboards/project/volumes/views.py            |     8 +-
.../dashboards/settings/password/forms.py          |     4 +-
.../dashboards/settings/user/forms.py              |     2 +-
.../dashboards/settings/user/views.py              |     6 +-
openstack_dashboard/defaults.py                    |   546 +
.../_1340_project_consistency_groups_panel.py      |     9 -
.../enabled/_1350_project_cg_snapshots_panel.py    |    10 -
.../local/local_settings.py.example                |   567 +-
.../locale/as/LC_MESSAGES/django.po                |    18 +-
.../locale/bn_IN/LC_MESSAGES/django.po             |    18 +-
.../locale/brx/LC_MESSAGES/django.po               |    18 +-
.../locale/cs/LC_MESSAGES/django.po                |   277 +-
.../locale/cs/LC_MESSAGES/djangojs.po              |     6 +-
.../locale/de/LC_MESSAGES/django.po                |   598 +-
.../locale/de/LC_MESSAGES/djangojs.po              |    31 +-
.../locale/en_AU/LC_MESSAGES/django.po             |   291 +-
.../locale/en_AU/LC_MESSAGES/djangojs.po           |     6 +-
.../locale/en_GB/LC_MESSAGES/django.po             |   330 +-
.../locale/en_GB/LC_MESSAGES/djangojs.po           |    12 +-
.../locale/eo/LC_MESSAGES/django.po                |   921 +-
.../locale/eo/LC_MESSAGES/djangojs.po              |    43 +-
.../locale/es/LC_MESSAGES/django.po                |   303 +-
.../locale/es/LC_MESSAGES/djangojs.po              |     6 +-
.../locale/fr/LC_MESSAGES/django.po                |   599 +-
.../locale/fr/LC_MESSAGES/djangojs.po              |    41 +-
.../locale/gu/LC_MESSAGES/django.po                |    18 +-
.../locale/hi/LC_MESSAGES/django.po                |     9 +-
.../locale/id/LC_MESSAGES/django.po                |   491 +-
.../locale/id/LC_MESSAGES/djangojs.po              |    40 +-
.../locale/it/LC_MESSAGES/django.po                |   133 +-
.../locale/it/LC_MESSAGES/djangojs.po              |     6 +-
.../locale/ja/LC_MESSAGES/django.po                |   488 +-
.../locale/ja/LC_MESSAGES/djangojs.po              |    22 +-
.../locale/kn/LC_MESSAGES/django.po                |    18 +-
.../locale/ko_KR/LC_MESSAGES/django.po             |   372 +-
.../locale/ko_KR/LC_MESSAGES/djangojs.po           |     6 +-
.../locale/kok/LC_MESSAGES/django.po               |    18 +-
.../locale/ks/LC_MESSAGES/django.po                |    18 +-
.../locale/mai/LC_MESSAGES/django.po               |    18 +-
.../locale/mni/LC_MESSAGES/django.po               |    18 +-
.../locale/mr/LC_MESSAGES/django.po                |    18 +-
.../locale/ne/LC_MESSAGES/django.po                |    18 +-
.../locale/pa_IN/LC_MESSAGES/django.po             |    18 +-
.../locale/pl_PL/LC_MESSAGES/django.po             |    27 +-
.../locale/pt_BR/LC_MESSAGES/django.po             |   577 +-
.../locale/pt_BR/LC_MESSAGES/djangojs.po           |     6 +-
.../locale/ru/LC_MESSAGES/django.po                |   847 +-
.../locale/ru/LC_MESSAGES/djangojs.po              |  1089 +-
.../locale/ta/LC_MESSAGES/django.po                |    18 +-
.../locale/tr_TR/LC_MESSAGES/django.po             |   300 +-
.../locale/tr_TR/LC_MESSAGES/djangojs.po           |     6 +-
.../locale/ur/LC_MESSAGES/django.po                |    18 +-
.../locale/zh_CN/LC_MESSAGES/django.po             |   451 +-
.../locale/zh_CN/LC_MESSAGES/djangojs.po           |    33 +-
.../locale/zh_TW/LC_MESSAGES/django.po             |   277 +-
.../locale/zh_TW/LC_MESSAGES/djangojs.po           |     6 +-
.../management/commands/horizon.wsgi.template      |    28 +-
.../management/commands/make_web_conf.py           |     3 +
.../management/commands/upgrade_check.py           |     4 +-
openstack_dashboard/settings.py                    |   186 +-
.../core/flavors/actions/actions.module.spec.js    |    54 +
.../static/app/core/flavors/flavors.module.spec.js |    52 +
.../core/images/actions/create-volume.service.js   |     4 +-
.../app/core/images/details/details.module.spec.js |    31 +
.../static/app/core/images/images.service.js       |     2 +-
.../static/app/core/images/images.service.spec.js  |     4 +-
.../steps/create-image/create-image.controller.js  |    16 +-
.../create-image/create-image.controller.spec.js   |    14 +-
.../images/steps/create-image/create-image.html    |    24 +-
.../steps/edit-image/edit-image.controller.js      |    29 +-
.../steps/edit-image/edit-image.controller.spec.js |    39 +-
.../core/images/steps/edit-image/edit-image.html   |     7 +-
.../core/keypairs/actions/actions.module.spec.js   |    59 +
.../actions/create.key-type.controller.spec.js     |    45 +
.../app/core/keypairs/actions/create.key-type.html |     7 +-
.../core/keypairs/actions/import.public-key.html   |     9 +-
.../app/core/keypairs/actions/import.service.js    |     2 +-
.../core/keypairs/details/details.module.spec.js   |    31 +
.../network_qos/details/details.module.spec.js     |    32 +
.../core/openstack-service-api/glance.service.js   |     4 +-
.../server_groups/actions/delete.action.service.js |    10 +-
.../actions/delete.action.service.spec.js          |    22 +-
.../core/trunks/actions/delete.action.service.js   |    13 +-
.../core/trunks/steps/trunk-details.controller.js  |     2 +-
.../static/dashboard/scss/_variables.scss          |     2 +-
.../dashboard/scss/components/_membership.scss     |     3 +-
.../static/js/horizon.networktopology.js           |     5 +-
.../templates/header/_context_selection.html       |    63 +-
.../header/_keystone_provider_selection.html       |    12 +-
.../templates/header/_region_selection.html        |    12 +-
.../templates/header/_user_menu.html               |   118 +-
.../templatetags/context_selection.py              |    11 +-
openstack_dashboard/test/helpers.py                |     4 +-
.../pages/admin/system/metadatadefinitionspage.py  |    10 +-
.../pages/project/network/securitygroupspage.py    |     5 +-
openstack_dashboard/test/settings.py               |   119 +-
openstack_dashboard/test/test_data/cinder_data.py  |    69 +-
openstack_dashboard/test/test_data/neutron_data.py |    12 +-
openstack_dashboard/test/test_data/nova_data.py    |    15 +-
.../test/unit/api/rest/test_keystone.py            |     4 +-
.../test/unit/api/rest/test_network.py             |     2 +-
openstack_dashboard/test/unit/api/test_base.py     |    52 +-
openstack_dashboard/test/unit/api/test_cinder.py   |    79 -
openstack_dashboard/test/unit/api/test_glance.py   |    39 +-
openstack_dashboard/test/unit/api/test_neutron.py  |     4 +-
openstack_dashboard/test/unit/api/test_nova.py     |     8 +-
.../test/unit/utils/test_settings.py               |    39 +
openstack_dashboard/urls.py                        |     2 +-
openstack_dashboard/usage/base.py                  |     2 +-
openstack_dashboard/usage/quotas.py                |     3 -
openstack_dashboard/utils/settings.py              |    38 +
openstack_dashboard/views.py                       |     3 +-
...s-change-expired-password-19223784fdf5059b.yaml |     6 +
.../bp-kubernetes-config-gen-bcebcbd8f9fb9991.yaml |     8 +
...p-volume-snapshot-backups-54e4d18633fd4c5d.yaml |     5 +
...-default-image-visibility-560c3b6ab2830cdc.yaml |     6 +
.../default-settings-moved-1e6a60408c47e2e2.yaml   |    14 +
...recate-lbaas-v1-dashboard-1f9c48d7c6997b1f.yaml |     2 +-
.../notes/django-2.2-2aff36c491fb7b95.yaml         |    11 +
.../drop-LBaaS-v1-dashboard-d767b0bde5274af5.yaml  |     2 +-
.../notes/drop-cgroup-c1f6b169ba10a5d3.yaml        |     8 +
.../drop-keystone-v2-support-04c7658f3bea67ac.yaml |     7 +
...i-attached-volume-support-3d32cde6f296cdd9.yaml |    15 +
.../notes/policy-sync-stein-82531c937609ebb2.yaml  |    12 +
...flavor-edit-config-option-0733b2ebb2ee1b4d.yaml |     4 +
...emove-show-keystone-v2-rc-913c822deaaa98cd.yaml |     4 +
...roup-no-rules-list-bugfix-b77ab5aff1d3e45e.yaml |     5 +
...n-cinderclient-dependency-9e12a69492f63289.yaml |    10 +
.../vpnaas-panel-splitout-5783df1675bc984f.yaml    |     2 +-
releasenotes/source/conf.py                        |    19 -
releasenotes/source/index.rst                      |     1 +
.../source/locale/de/LC_MESSAGES/releasenotes.po   |  4474 -------
.../locale/en_GB/LC_MESSAGES/releasenotes.po       |  5640 ---------
.../source/locale/id/LC_MESSAGES/releasenotes.po   |  5538 ---------
.../source/locale/ja/LC_MESSAGES/releasenotes.po   |  5313 --------
.../locale/ko_KR/LC_MESSAGES/releasenotes.po       |  1711 ---
.../locale/pt_BR/LC_MESSAGES/releasenotes.po       |  3940 ------
.../locale/zh_CN/LC_MESSAGES/releasenotes.po       |   508 -
releasenotes/source/stein.rst                      |     6 +
requirements.txt                                   |     2 +-
setup.cfg                                          |     2 +-
test-requirements.txt                              |     2 +-
tools/abandon_old_reviews.sh                       |    14 +-
tox.ini                                            |    86 +-
481 files changed, 23684 insertions(+), 40422 deletions(-)


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

diff --git a/requirements.txt b/requirements.txt
index 336f62fa6..2c907d8da 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -34 +34 @@ pyScss!=1.3.5,>=1.3.4 # MIT License
-python-cinderclient>=3.3.0 # Apache-2.0
+python-cinderclient>=4.0.1 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 3e33d214d..b0c9e4466 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -13 +13 @@ astroid==2.1.0;python_version>='3.0' # LGPLv2.1
-bandit>=1.4.0 # Apache-2.0
+bandit!=1.6.0,>=1.4.0 # Apache-2.0






More information about the Release-announce mailing list