We are happy to announce the release of: glance 17.0.0: OpenStack Image Service This release is part of the rocky release series. Download the package from: https://tarballs.openstack.org/glance/ For more details, please see below. 17.0.0 ^^^^^^ Prelude ******* This release of OpenStack Glance introduces 2 new API versions. Images API v2.7 adds support and modifications for the Hidden Images and Multihash features introduced during Rocky cycle. Version 2.8 is included as an optional EXPERIMENTAL API for testing and preparing for multiple back-end support. Rocky development cycle marks long waited milestone on Glance work. The Images API v1 which has been deprecated for years is finally removed and not available at all in Glance version 17.0.0 forward. Some security aspects were tackled for this release. Multihash, providing secure hashing for image data with future proof options marks the end of relying upon MD5 checksums when verifying image payloads. OSSN-0075 migitation lessens the risk of ID reusability on those very rare cases when a database purge is necessary. When delayed delete is enabled operators are able to recover image records if the scrubber has been stopped before the data removal interval. While the image metadata is still not preserved in these cases, this provides a way to save the image data on accidental deletes. When using Interoperable Image Import workflow, the cloud operators can now enable automatic image conversion to desired format. When the plugin is enabled end-users do not have any input to its operation but their local checksum might not match with checksums recorded in Glance. Known Issues ************ * Due to the bug in the glance_store implementation of multihash feature the first stable Rocky release (0.26.0) of glance_store does not work with Glance 17.0.0. Please note that version 0.26.1+ of the store library is required. Image creations will fail when the data is tried to be uploaded to the back-end due to missing wrapping of the function used. Upgrade Notes ************* * Ensure that the version 0.26.1 or higher of glance_store library is used. Bug Fixes ********* * On top of testing and documentation fixes following bugs were addressed * Bug 1695299: Support RFC1738 quoted chars in passwords * Bug 1734832: Fix unreachable 'ImageSizeLimitExceeded' exception in image-upload * Bug 1765748: Prepare for WebOb 1.8.1 (https://bugs.launchpad.net/glance/+bug/1695299) (https://bugs.launchpad.net/glance/+bug/1734832) (https://bugs.launchpad.net/glance/+bug/1765748) Changes in glance 16.0.0.0rc1..17.0.0 ------------------------------------- 488d2e4 api-ref: "hidden" images update 45405e8 Fine tune Rocky releasenotes caaa5c2 Remove broken bandit runs from the tests 626018b Support RFC1738 quoted chars in passwords 6e35611 Add know inssues and upgrade release note 1e6538d Update UPPER_CONSTRAINTS_FILE for stable/rocky 60d1073 Update .gitreview for stable/rocky 6884266 Add prelude to Rocky releasenotes 8f3331e Add release note for multi-store feature 8e441ac Imported Translations from Zanata b6d5100 api-ref: update version history 208935a Add API version 2.8 6187728 api-ref: make the discovery section more general 87a59ae Sync Rocky example configs 4a916d2 Replace mox with mock cacede1 Correct typo in help text d6ac746 Doc:Multiple stores support 8e16e41 Bump Imges API version to 2.7 73109de Unit/Functional tests for multi store support cb45edf Add multi-store support 0b24dbd Multihash implementation for Glance d2a5c52 Document hw_cpu_policy and hw_cpu_thread_policy image properties a308c44 Hide old images 3e47cbe Use glance.context.RequestContext in tests b30ed48 Update glance documentation for trait support 3dde320 Remove Images API v1 entry points f349659 fix tox python3 overrides dd54b48 replace cmp with total_ordering decorator 23d4e0e Documentation for OSSN-0075 mitigation 864d1ad Change default age of purge_images_table to 180 5cc9d99 Mitigate OSSN-0075 0376185 Prevent taskflow creation in impossible import 9a893e8 useful-image-properties.rst: Update default RNG source c6a663e Add image conversion plugin 978be1f Regenerate sample config files bc80aad Update Release CPL doc about periodic jobs 7ef796b Use group_regex to serialize scrubber tests 612e5cf Replace Chinese punctuation with English punctuation 9532796 Remove deprecated 'enable_image_import' option c3bcadf convert windows line endings to unix format 837937f Add glance-eventlet-ssl-handshake-broken-py35 job 3e6542a Convert to string before using assertIn f6a24be Add periodic tips jobs 7f47da7 Add py35 statement ffc3923 Fix unreachable 'ImageSizeLimitExceeded' exception in image-upload 1370b15 Update pypi url to new url 7edf7ff Refactor exception handling in cmd.api ad4b87c update "auth_url" in document 31ac3d4 Fix wrong scheduler_hints name in CIM::ProcessorAllocationSettingData 427a221 Prevent early exit from functional tests d501960 Refactor wait_for_scrubber_shutdown function 189ca47 Run scrubber functional tests in serial mode b217947 Add time-bounded wait-for-status to func tests d3ccab6 Add 'useful image properties' document 71a3ac6 [api-ref] "Show images" should be changed to "List images" 927aaf8 Follow the OpenStack Sphinx theme configuration 73cc41c Prepare for WebOb 1.8.1 aba20e7 Add redirect capability to glance docs b7dc3f2 Modify the empty list ensure method 71a36c9 Pending-delete rollback ability 7c3a9c8 Cleaning image data when image signature verification fails 9ff837c Imported Translations from Zanata 012cce5 Add info about building the v1 api-ref 5e5ba92 Follow the new PTI for document build 623d914 Fix incompatible requirement in requirement.txt 1dfaa18 Migrate legacy job to project repository 810417d Remove all usage of keystoneclient 3b5ecbe Add fixture to limit unit test log output 9e04697 Refactor scrubber functional test d3ecbbd Update auth_uri option to www_authenticate_uri 57310ad Use 'Default' as sample install domain name c48acba Update image schema with Image API 2.6 statuses c611c92 Functional tests for new Image Import API 7dfce42 Update auth_url in install docs b4d93b6 add lower-constraints job ff1ba4f Fix web-download fails with default node_staging_uri edf41df Make functional tests run by default 57adf38 Imported Translations from Zanata 6310052 Make eventlet monkey patching conform to best practices ab4139e Python 3.5: Image Import fails with Unicode Error ca51cb8 Updated from global requirements a6fd405 Change the outdated links to the latest links in README b13987c Update Glance landing pages ec81cb9 Updated from global requirements 1f3d56f Deprecate owner_is_tenant 3914fef Updated from global requirements 691a320 Imported Translations from Zanata 7e60fc6 Fix format in doc/source/cli/* b9af22b Clean the web-download tests 8d53a38 Update Release CPL doc e173803 Use config opt value to determine import methods eef715d Delete the superfluous symbol of the command line bdd3886 Add barbican-tempest experimental job 54d179a Open Rocky for data migrations e54622c Unit tests for Web-Download import method c53d7f1 api-ref: correct typo 0b49605 api-ref: fix list-resource-type-assocs example c241cc0 Remove v1 from API ref 83df08b Imported Translations from Zanata 5531856 Remove v1 tests 83cb2e9 Imported Translations from Zanata 9ff7d17 Update installation guide: no uwsgi for glance 0db0217 Update some url links of rally/README.rst b00df9c Hide Pike note on Queens Release Notes page 14e8a7b Triggers shouldn't be execute in offline migration d289d0d Revise help text for uri filtering options d500b3f Revise database rolling upgrade documentation 28fb470 Migration support for postgresql 601f82a Correct length limit for custom property value 139c932 Use oslo_db.sqlalchemy.test_fixtures 156ba81 Fix config group not found error 4cf65d5 api-ref: update interoperable image import info 0e1ecef Updated from global requirements 3d5f33f Update Queens info about Glance and uWSGI 9dbabe5 Remove use of mox/mox3 6033bad Imported Translations from Zanata 90815cc Revise interoperable image import documentation 10b9490 Update admin docs for web-download import method 1591f57 URI filtering for web-download 5a5762b Add validation to check if E-M-C is already in sync fd41174 Imported Translations from Zanata 0b22c77 Cleanup basic import tasks 1f4a0cc Make the Image status transition early bac4595 Use bool instead of int for boolean filter value 78501fb image-guide: Update cirros image 6f87c7d Limit default workers to 8 0b6e007 Imported Translations from Zanata fff76ae Fix format cache.rst e068954 Imported Translations from Zanata 3712dcc Use configured value for import-methods header 33e5e30 Fix bad usage of extend in list_image_import_opts 850bb91 Revert "Fix wrong usage of extend in list_image_import_opts" 106de18 Offline migration support for postgresql 225a339 Fix wrong usage of extend in list_image_import_opts fde9d48 Imported Translations from Zanata bbb6fc0 Update reno for stable/queens 4dc8509 correct grammar, duplicate a found 6f858c3 [doc] Modify the description for the command Diffstat (except docs and test files) ------------------------------------- .gitreview | 1 + .stestr.conf | 1 + .zuul.yaml | 204 + README.rst | 4 +- api-ref/source/conf.py | 39 +- api-ref/source/heading-level-guide.txt | 31 + api-ref/source/index.rst | 1 - api-ref/source/v1/images-images-v1.inc | 344 -- api-ref/source/v1/images-sharing-v1.inc | 150 - api-ref/source/v1/index.rst | 26 - api-ref/source/v1/parameters.yaml | 249 - .../v1/samples/image-member-add-request.json | 4 - .../v1/samples/image-members-add-request.json | 12 - .../samples/image-memberships-list-response.json | 11 - .../source/v1/samples/image-update-response.json | 25 - .../v1/samples/images-create-reserve-response.json | 22 - .../samples/images-create-with-data-response.json | 22 - .../v1/samples/images-list-details-response.json | 30 - .../source/v1/samples/images-list-response.json | 15 - .../v1/samples/shared-images-list-response.json | 15 - api-ref/source/v2/discovery-parameters.yaml | 11 + api-ref/source/v2/discovery.inc | 106 + api-ref/source/v2/images-data.inc | 29 + api-ref/source/v2/images-images-v2.inc | 54 +- api-ref/source/v2/images-import.inc | 167 +- api-ref/source/v2/images-parameters.yaml | 58 + api-ref/source/v2/index.rst | 1 + api-ref/source/v2/metadefs-index.rst | 2 +- api-ref/source/v2/metadefs-resourcetypes.inc | 2 +- .../source/v2/samples/image-create-response.json | 3 + .../samples/image-details-deactivate-response.json | 3 + .../v2/samples/image-import-g-d-request.json | 5 + .../source/v2/samples/image-import-request.json | 5 - .../v2/samples/image-import-w-d-request.json | 6 + .../v2/samples/image-info-import-response.json | 3 +- api-ref/source/v2/samples/image-show-response.json | 3 + .../source/v2/samples/image-update-response.json | 3 + .../source/v2/samples/images-list-response.json | 6 + .../metadef-resource-type-assoc-list-response.json | 14 + .../v2/samples/schemas-image-show-response.json | 26 +- .../v2/samples/schemas-images-list-response.json | 26 +- .../source/v2/samples/stores-list-response.json | 17 + api-ref/source/versions/index.rst | 52 +- .../versions/samples/image-versions-response.json | 30 +- bandit.yaml | 245 - etc/glance-api.conf | 399 +- etc/glance-cache.conf | 181 +- etc/glance-image-import.conf.sample | 202 + etc/glance-manage.conf | 11 +- etc/glance-registry.conf | 345 +- etc/glance-scrubber.conf | 205 +- .../cim-processor-allocation-setting-data.json | 2 +- etc/metadefs/compute-host-capabilities.json | 2 +- glance/api/__init__.py | 2 - glance/api/authorization.py | 3 + glance/api/middleware/cache.py | 17 - glance/api/middleware/context.py | 13 +- glance/api/middleware/version_negotiation.py | 7 +- glance/api/v1/images.py | 1351 ----- glance/api/v1/members.py | 248 - glance/api/v1/router.py | 80 +- glance/api/v2/discovery.py | 27 +- glance/api/v2/image_data.py | 27 +- glance/api/v2/images.py | 137 +- glance/api/v2/router.py | 9 + glance/api/versions.py | 23 +- glance/async/flows/_internal_plugins/__init__.py | 188 +- .../async/flows/_internal_plugins/web_download.py | 12 +- glance/async/flows/api_image_import.py | 96 +- glance/async/flows/plugins/image_conversion.py | 165 + .../async/flows/plugins/inject_image_metadata.py | 202 +- glance/async/flows/plugins/plugin_opts.py | 3 + glance/async/taskflow_executor.py | 2 + glance/cmd/api.py | 33 +- glance/cmd/cache_manage.py | 490 -- glance/cmd/manage.py | 97 +- glance/cmd/registry.py | 15 +- glance/cmd/scrubber.py | 61 +- glance/common/auth.py | 11 +- glance/common/config.py | 133 +- glance/common/scripts/image_import/main.py | 4 +- glance/common/scripts/utils.py | 2 +- glance/common/store_utils.py | 17 +- glance/common/trust_auth.py | 21 +- glance/common/utils.py | 60 +- glance/common/wsgi.py | 62 +- glance/common/wsgi_app.py | 14 +- glance/db/__init__.py | 8 +- glance/db/migration.py | 2 +- glance/db/simple/api.py | 23 +- .../db/sqlalchemy/alembic_migrations/__init__.py | 10 +- .../data_migrations/rocky_migrate01_empty.py | 26 + .../data_migrations/rocky_migrate02_empty.py | 26 + .../versions/ocata_contract01_drop_is_public.py | 4 +- .../versions/ocata_expand01_add_visibility.py | 4 +- .../versions/rocky_contract01_empty.py | 25 + .../versions/rocky_contract02_empty.py | 25 + .../versions/rocky_expand01_add_os_hidden.py | 32 + .../versions/rocky_expand02_add_os_hash_.py | 33 + glance/db/sqlalchemy/api.py | 76 +- glance/db/sqlalchemy/models.py | 8 +- glance/domain/__init__.py | 20 +- glance/domain/proxy.py | 7 +- glance/image_cache/client.py | 132 - glance/locale/de/LC_MESSAGES/glance.po | 164 +- glance/locale/en_GB/LC_MESSAGES/glance.po | 5678 ++++++++++++++++++++ glance/locale/es/LC_MESSAGES/glance.po | 164 +- glance/locale/fr/LC_MESSAGES/glance.po | 167 +- glance/locale/it/LC_MESSAGES/glance.po | 166 +- glance/locale/ja/LC_MESSAGES/glance.po | 429 +- glance/locale/ko_KR/LC_MESSAGES/glance.po | 164 +- glance/locale/pt_BR/LC_MESSAGES/glance.po | 166 +- glance/locale/ru/LC_MESSAGES/glance.po | 165 +- glance/locale/tr_TR/LC_MESSAGES/glance.po | 150 +- glance/locale/zh_CN/LC_MESSAGES/glance.po | 160 +- glance/locale/zh_TW/LC_MESSAGES/glance.po | 159 +- glance/location.py | 118 +- glance/notifier.py | 13 +- glance/opts.py | 6 +- glance/quota/__init__.py | 21 +- glance/scrubber.py | 70 +- .../db/migrations/test_rocky_expand01.py | 39 + .../db/migrations/test_rocky_expand02.py | 41 + .../functional/test_bin_glance_cache_manage.py | 358 -- .../integration/legacy_functional/__init__.py | 0 .../integration/legacy_functional/test_v1_api.py | 1735 ------ .../flows/plugins/test_inject_image_metadata.py | 256 +- .../unit/async/flows/test_api_image_import.py | 90 + lower-constraints.txt | 145 + .../legacy/glance-dsvm-grenade-multinode/post.yaml | 15 + .../legacy/glance-dsvm-grenade-multinode/run.yaml | 45 + rally-jobs/README.rst | 10 +- .../bp-mitigate-ossn-0075-c0e74e60d86d8ea2.yaml | 9 + ...deprecate-owner_is_tenant-ec8ea36a3f7e9268.yaml | 7 + .../experimental-multi-store-d2c26f9dbb9c835b.yaml | 40 + .../image-conversion-plugin-5aee45e1a1a5bb2b.yaml | 10 + releasenotes/notes/multihash-081466a98601da20.yaml | 55 + .../pending-delete-rollback-444ff94c0056bbdb.yaml | 8 + .../queens-uwsgi-issues-4cee9e4fdf62c646.yaml | 31 + ...nable_image_import_option-ec4a859ac9a7ea7b.yaml | 9 + .../notes/rocky-bugs-fixed-920f27a2705b0808.yaml | 13 + .../rocky-metadefs-changes-cb00c006ff51b541.yaml | 14 + ...rocky-needed-glance_store-e924c4879958e209.yaml | 11 + releasenotes/notes/rocky-rc-b0ea7628b7a74c96.yaml | 27 + releasenotes/source/index.rst | 1 + .../locale/en_GB/LC_MESSAGES/releasenotes.po | 2778 ++++++++++ .../source/locale/fr/LC_MESSAGES/releasenotes.po | 63 - .../source/locale/ja/LC_MESSAGES/releasenotes.po | 2304 ++++++++ .../locale/ko_KR/LC_MESSAGES/releasenotes.po | 8 +- releasenotes/source/queens.rst | 8 + requirements.txt | 15 +- setup.cfg | 14 +- test-requirements.txt | 8 +- tox.ini | 58 +- 259 files changed, 20656 insertions(+), 21841 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index 59e976d..1b50271 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10 +10 @@ SQLAlchemy!=1.1.5,!=1.1.6,!=1.1.7,!=1.1.8,>=1.0.10 # MIT -eventlet!=0.18.3,!=0.20.1,<0.21.0,>=0.18.2 # MIT +eventlet!=0.18.3,!=0.20.1,>=0.18.2 # MIT @@ -18,2 +18,2 @@ httplib2>=0.9.1 # MIT -oslo.config>=5.1.0 # Apache-2.0 -oslo.concurrency>=3.25.0 # Apache-2.0 +oslo.config>=5.2.0 # Apache-2.0 +oslo.concurrency>=3.26.0 # Apache-2.0 @@ -25 +25 @@ taskflow>=2.16.0 # Apache-2.0 -keystoneauth1>=3.3.0 # Apache-2.0 +keystoneauth1>=3.4.0 # Apache-2.0 @@ -34,2 +34 @@ jsonschema<3.0.0,>=2.6.0 # MIT -python-keystoneclient>=3.8.0 # Apache-2.0 -pyOpenSSL>=16.2.0 # Apache-2.0 +pyOpenSSL>=17.1.0 # Apache-2.0 @@ -50 +49 @@ osprofiler>=1.4.0 # Apache-2.0 -glance-store>=0.22.0 # Apache-2.0 +glance-store>=0.26.1 # Apache-2.0 @@ -54 +53 @@ debtcollector>=1.2.0 # Apache-2.0 -cryptography!=2.0,>=1.9 # BSD/Apache-2.0 +cryptography>=2.1 # BSD/Apache-2.0 diff --git a/test-requirements.txt b/test-requirements.txt index fa3a515..01a708b 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -12 +11,0 @@ Babel!=2.4.0,>=2.3.4 # BSD -bandit>=1.1.0 # Apache-2.0 @@ -17 +16 @@ mock>=2.0.0 # BSD -sphinx!=1.6.6,>=1.6.2 # BSD +sphinx!=1.6.6,!=1.6.7,>=1.6.2 # BSD @@ -35,5 +33,0 @@ python-swiftclient>=3.2.0 # Apache-2.0 - -# Documentation -os-api-ref>=1.4.0 # Apache-2.0 -openstackdocstheme>=1.18.1 # Apache-2.0 -reno>=2.5.0 # Apache-2.0
participants (1)
-
no-reply@openstack.org