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
participants (1)
-
no-reply@openstack.org