[release-announce] glance 20.0.0 (ussuri)

no-reply at openstack.org no-reply at openstack.org
Wed May 13 10:54:34 UTC 2020


We are excited to announce the release of:

glance 20.0.0: OpenStack Image Service

This release is part of the ussuri release series.

The source is available from:

    https://opendev.org/openstack/glance

Download the package from:

    https://tarballs.openstack.org/glance/

Please report issues through:

    https://bugs.launchpad.net/glance/+bugs

For more details, please see below.

20.0.0
^^^^^^

Deprecation Notes

* The Image "checksum" property contains an MD5 hash of the image
  data associated with an image.  MD5 has not been considered secure
  for some time, and in order to comply with various security
  standards (for example, FIPS), an implementation of the MD5
  algorithm may not be available on glance nodes.

  The secure "multihash" image properties, "os_hash_algo" and
  "os_hash_value" have been available on images since glance version
  17.0.0 (Rocky).  Until this point, the MD5 "checksum" property has
  been populated solely for backward compatability.  It is not,
  however, necessary for validating downloaded image data.

  Thus, we are announcing the DEPRECATION in this release of the image
  "checksum" property.  It will remain as an image property, but
  beginning with the Victoria release, the "checksum" will *not* be
  populated on new images.

  Users should instead rely on the secure "multihash" to validate
  image downloads.  The python-glanceclient, for example, has been
  using multihash validation (with an optional MD5 fallback) since
  version 2.13.0 (Rocky).

Changes in glance 19.0.0.0rc1..20.0.0
-------------------------------------

fc3e14b6 Deprecate the 'checksum' image property
4c5f6299 Imported Translations from Zanata
2dfb3133 Update TOX_CONSTRAINTS_FILE for stable/ussuri
844f27eb Update .gitreview for stable/ussuri
94b08764 Use unittest.mock instead of third party mock
7af0b68b Skip 'test_image_member_lifecycle_for_multiple_stores' on failure
bd16ab25 Add warning and note on image schema customization docs
b4eabc06 Install all deps in venv creation
534dc974 Ussuri final release notes
68e5fa35 Refresh Glance example configs for Ussuri milestone 3
28afc9fc Deprecate admin_role
d5a0ce18 Imported Translations from Zanata
55b7c86e Fix multiple image imports if boolean input passed as string
b6d61446 Add missing Image property hw_vif_multiqueue_enabled to metadefs
7c4eda8f Update OS::Glance::CommonImageProperties in metadefs
984e844c Update 'common image properties' doc
9e17151b Add description of how to use S3 driver
a2e0fb61 Do not decompress 'compressed' containers
30f821c6 Revise admin interoperable image import docs
d021dcc8 Update uWSGI doc definition names
d2cc0dc5 Add Policy enforcement for several Metadata Definition delete APIs
772bae36 Remove all references to sheepdog
89df136b Update hacking and reenable local checks
90146b62 Monkey patch original current_thread _active
8acedfd4 Add deprecation message to policy "default" rule
176d24de Cleanup old cruft
595c1b17 Raise hacking to latest 2.0.0 release
e0c54408 Add decompression import plugin
170a4035 Deprecate allow_additional_image_properties
30ece7aa Remove usages of SSL related config options in utils
f267bd6c Add possibility to delete image from single store
d6a56f7c Community Goal: Project PTL & Contrib Docs Update
c7ddabb1 Remove policy.json from setup.cfg
d9f75852 Reminder: show_multiple_locations still deprecated
0a29d31c Correct reference to 2 import methods
517ff4fb Document os_admin_user in Useful Image Properties
d7de7ccb Multiple import fails if "all_stores" specified as "true"
1a6c91ac Use devstack ceph plugin python3 job
9181935d Amend tempest-irrelevant-files to avoid false positives
0035ab25 Revert "Remove all example configs for deprecated registry"
2a28696d Remove all example configs for deprecated registry
1ec86b66 Refresh Glance example configs for Ussuri milestone 2
348bff6c Unit tests fails with oslo.config 7.0
1754c9e2 Copy existing image in multiple stores
92492cf5 Add ability to import image into multi-stores
33626369 Use application_url in API version document
d9902c26 Configure Glance TCP socket after the store initialization
8649fdc2 Ensure store ID parsed from URI is properly encoded
9a6fcc2e Use default cors config also when run as wsgi app
5bffac01 Remove empty policy.json
4889dc18 Fix string interpolation to delay by logging
5c17e4c7 Move policy defaults into code
2d917f79 Imported Translations from Zanata
d4136251 Change database migration version to ussuri
5d15f073 Staging area not cleared if image is deleted while importing
b6ceda28 doc: Clean up unnecessary left vertical lines
0eacf2da Refresh Glance example configs for Ussuri milestone 1
b55c0a31 Remove registry related functional and unit tests
40bd3124 Remove py2 testing, jobs
e3b8ace6 Add classifiers of supporting py3
3011551d Drop old neutron-grenade job
06b2465f Remove native ssl support
ce79c8ed Drop support for PY27
d23d12a4 Migrate grenade jobs to py3
4d547e27 Imported Translations from Zanata
c540d54a Fix old --public from install verify docs
d2d67ae3 Install requirements during the correct tox phase
35d9ec3f Start README.rst with a better title
7c85bdcf Use FakePolicyEnforcer for deserialization tests
e45d5e3b Switch to opensuse-15 nodeset
99938b8a Imported Translations from Zanata
c144ce58 Update master for stable/train
c11ebf46 Fix unit of hw_rng:rate_period
b78abdfa Remove OS::Compute::Trust metadef
52127a69 useful-image-properties: Update note on machine types
da277c58 fix properties' missing underline for VirtCPUTopology
bdb3c371 doc: add link to release notes
ac05e3db Run 'tempest-ipv6-only' job in gate
24235d75 Replace "integrated-gate-py3" template with new "integrated-gate-storage"


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

.gitignore                                         |    3 +
.gitreview                                         |    1 +
.zuul.yaml                                         |  137 +-
CONTRIBUTING.rst                                   |   30 +-
README.rst                                         |   14 +-
api-ref/source/v2/images-import.inc                |   93 +-
api-ref/source/v2/images-parameters.yaml           |   31 +
.../v2/samples/image-import-c-i-request.json       |    9 +
.../v2/samples/image-import-g-d-request.json       |    4 +-
.../v2/samples/image-import-w-d-request.json       |    4 +-
.../samples/metadef-namespaces-list-response.json  |   19 -
etc/glance-api.conf                                |  669 +++--
etc/glance-cache.conf                              |  285 +-
etc/glance-policy-generator.conf                   |    3 +
etc/glance-registry.conf                           |  132 +-
etc/glance-scrubber.conf                           |  273 +-
etc/metadefs/compute-libvirt-image.json            |    6 +
etc/metadefs/compute-randomgen.json                |    4 +-
etc/metadefs/compute-trust.json                    |   24 -
etc/metadefs/compute-vcputopology.json             |    6 +-
etc/metadefs/compute-vmware.json                   |    6 +
etc/metadefs/glance-common-image-props.json        |   19 +
etc/policy.json                                    |   63 -
etc/property-protections-policies.conf.sample      |    9 +-
glance/api/common.py                               |   12 +-
glance/api/middleware/cache.py                     |    2 +-
glance/api/middleware/context.py                   |   24 +-
glance/api/policy.py                               |   69 +-
glance/api/v1/upload_utils.py                      |   10 +-
glance/api/v2/image_data.py                        |   12 +-
glance/api/v2/images.py                            |  215 +-
glance/api/v2/metadef_resource_types.py            |    2 +-
glance/api/v2/router.py                            |    9 +
glance/api/versions.py                             |   15 +-
.../async_/flows/_internal_plugins/copy_image.py   |  124 +
glance/async_/flows/api_image_import.py            |  145 +-
glance/async_/flows/plugins/image_decompression.py |  171 ++
glance/cmd/api.py                                  |    7 +
glance/cmd/cache_manage.py                         |    1 +
glance/cmd/registry.py                             |    7 +
glance/cmd/replicator.py                           |    4 +-
glance/cmd/scrubber.py                             |    7 +
glance/cmd/status.py                               |   42 +-
glance/common/auth.py                              |   13 +-
glance/common/client.py                            |    2 +-
glance/common/config.py                            |   18 +-
glance/common/location_strategy/__init__.py        |    4 +-
glance/common/location_strategy/store_type.py      |    2 -
glance/common/property_utils.py                    |    2 +-
glance/common/scripts/image_import/main.py         |    4 +-
glance/common/store_utils.py                       |   17 +-
glance/common/swift_store_utils.py                 |    2 +-
glance/common/timeutils.py                         |    1 +
glance/common/utils.py                             |  108 +-
glance/common/wsgi.py                              |  137 +-
glance/common/wsgi_app.py                          |    2 +
glance/db/migration.py                             |    4 +-
glance/db/simple/api.py                            |    9 +-
.../data_migrations/ussuri_migrate01_empty.py      |   26 +
glance/db/sqlalchemy/alembic_migrations/env.py     |    1 +
.../versions/ussuri_contract01_empty.py            |   25 +
.../versions/ussuri_expand01_empty.py              |   30 +
glance/db/sqlalchemy/metadef_api/namespace.py      |    2 +-
glance/db/sqlalchemy/migrate_repo/schema.py        |   32 +-
.../migrate_repo/versions/003_add_disk_format.py   |    2 +-
.../migrate_repo/versions/004_add_checksum.py      |    2 +-
.../migrate_repo/versions/005_size_big_integer.py  |    2 +-
.../migrate_repo/versions/006_key_to_name.py       |    2 +-
.../migrate_repo/versions/007_add_owner.py         |    2 +-
.../versions/008_add_image_members_table.py        |    3 +-
.../versions/009_add_mindisk_and_minram.py         |    2 +-
.../migrate_repo/versions/010_default_update_at.py |    2 +-
glance/domain/__init__.py                          |    2 +-
glance/domain/proxy.py                             |    4 +-
glance/hacking/checks.py                           |   27 +-
glance/i18n.py                                     |   18 +-
glance/image_cache/__init__.py                     |   11 +-
glance/image_cache/prefetcher.py                   |    2 +-
glance/locale/de/LC_MESSAGES/glance.po             |   74 +-
glance/locale/en_GB/LC_MESSAGES/glance.po          |  705 +++--
glance/locale/es/LC_MESSAGES/glance.po             |   37 +-
glance/locale/fr/LC_MESSAGES/glance.po             |   37 +-
glance/locale/it/LC_MESSAGES/glance.po             |   38 +-
glance/locale/ja/LC_MESSAGES/glance.po             |   37 +-
glance/locale/ko_KR/LC_MESSAGES/glance.po          |   37 +-
glance/locale/pt_BR/LC_MESSAGES/glance.po          |   37 +-
glance/locale/ru/LC_MESSAGES/glance.po             |   36 +-
glance/locale/tr_TR/LC_MESSAGES/glance.po          |   38 +-
glance/locale/zh_CN/LC_MESSAGES/glance.po          |   37 +-
glance/locale/zh_TW/LC_MESSAGES/glance.po          |   35 +-
glance/location.py                                 |  132 +-
glance/notifier.py                                 |   45 +-
glance/policies/__init__.py                        |   27 +
glance/policies/base.py                            |   40 +
glance/policies/image.py                           |   47 +
glance/policies/metadef.py                         |   61 +
glance/policies/tasks.py                           |   26 +
glance/quota/__init__.py                           |    5 +-
glance/registry/api/v1/images.py                   |   10 +-
glance/scrubber.py                                 |    2 +-
.../db/migrations/test_train_migrate01.py          |    2 +-
.../functional/v2/test_metadef_resourcetypes.py    |    2 +-
.../async_/flows/plugins/test_image_conversion.py  |    2 +-
.../flows/plugins/test_inject_image_metadata.py    |    2 +-
.../unit/async_/flows/test_api_image_import.py     |   80 +-
.../unit/common/scripts/image_import/test_main.py  |    3 +-
.../unit/common/scripts/test_scripts_utils.py      |    7 +-
lower-constraints.txt                              |    8 +-
.../legacy/glance-dsvm-grenade-multinode/run.yaml  |    1 +
...t_for_metadef_delete_apis-95d2b16cc444840a.yaml |   16 +
.../notes/bug-1861334-ebc2026b85675d47.yaml        |    6 +
.../copy-existing-image-94fd0b8d24bc16a0.yaml      |   16 +
.../notes/delete_from_store-a1d9b9bd5cf27546.yaml  |    9 +
.../deprecate-admin_role-2f9d33ed0785d082.yaml     |   53 +
...ow_additional_image_props-0e3b2f1ffa4e55e1.yaml |   14 +
.../notes/deprecate-checksum-a602853403e1c4a8.yaml |   23 +
...location-continued-ussuri-16e8d9d8a59da1bc.yaml |   18 +
.../notes/drop-py-2-7-863871c7bc047146.yaml        |    6 +
.../notes/drop-sheepdog-b55aae84807d31d9.yaml      |    7 +
...mage_decompression_plugin-5f085666aae01f29.yaml |    7 +
.../import-multi-stores-3e781f2878b3134d.yaml      |   31 +
.../notes/policy-in-code-7e0c6c070d32d136.yaml     |   22 +
...licy-in-code-implications-438449a73af2893c.yaml |   16 +
.../notes/remove_native_ssl-c16d5a127b57583d.yaml  |   15 +
.../notes/ussuri-final-b377a21508ada060.yaml       |   36 +
releasenotes/source/index.rst                      |    1 +
.../locale/en_GB/LC_MESSAGES/releasenotes.po       | 2968 --------------------
.../source/locale/fr/LC_MESSAGES/releasenotes.po   |   63 -
.../source/locale/ja/LC_MESSAGES/releasenotes.po   | 2304 ---------------
.../locale/ko_KR/LC_MESSAGES/releasenotes.po       |  342 ---
releasenotes/source/train.rst                      |    6 +
requirements.txt                                   |    2 +-
setup.cfg                                          |   11 +-
setup.py                                           |    8 -
test-requirements.txt                              |    8 +-
tox.ini                                            |  119 +-
218 files changed, 6755 insertions(+), 11645 deletions(-)


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

diff --git a/requirements.txt b/requirements.txt
index 837fd280..a4c6777f 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -45 +45 @@ oslo.reports>=1.18.0 # Apache-2.0
-oslo.policy>=1.30.0 # Apache-2.0
+oslo.policy>=2.4.1 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 181828d6..0b26d011 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -6 +6 @@
-hacking!=0.13.0,<0.14,>=0.12.0 # Apache-2.0
+hacking>=3.0,<3.1.0 # Apache-2.0
@@ -15,3 +14,0 @@ fixtures>=3.0.0 # Apache-2.0/BSD
-mock>=2.0.0 # BSD
-sphinx!=1.6.6,!=1.6.7,>=1.6.2,<2.0.0;python_version=='2.7' # BSD
-sphinx!=1.6.6,!=1.6.7,!=2.1.0,>=1.6.2;python_version>='3.4' # BSD
@@ -26,0 +24 @@ doc8>=0.6.0 # Apache-2.0
+Pygments>=2.2.0  # BSD license
@@ -30 +28 @@ PyMySQL>=0.7.6 # MIT License
-psycopg2>=2.6.2 # LGPL/ZPL
+psycopg2>=2.8.4 # LGPL/ZPL






More information about the Release-announce mailing list