We are pleased to announce the release of: glance 23.0.0: OpenStack Image Service This release is part of the xena 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. 23.0.0 ^^^^^^ Prelude ******* The Xena release includes some important milestones in Glance development priorities. * Added support for unified quotas using keystone limits * Moved policy enforcement in API layer * Implemented Secure RBAC project scope for metadef APIs * Fixed some important bugs around multi-store imports and precaching images Bug Fixes ********* * Bug 1939307: glance-uwsgi - Add missing cache prefetching periodic job * Bug 1940733: [oslo_reports] options are missing from the config file generated by oslo-confi-generator * Bug 1939944: The parameters of the healthcheck middlewares are missing from glance-api.conf (https://code.launchpad.net/bugs/1939307) (https://code.launchpad.net/bugs/1940733) (https://code.launchpad.net/bugs/1939944) Changes in glance 22.0.0..23.0.0 -------------------------------- aa7c4acd Bump oslo.policy to version 3.8.1 aa7d260f Bump oslo.log to version 4.5.0 9e2aaf1d Update TOX_CONSTRAINTS_FILE for stable/xena 289c7d16 Update .gitreview for stable/xena a43f6b4c Xena RC-1 release notes 07eaf532 Remove duplicate _header() implementations in metadef tests 4e68e5da Remove duplicate _url() methods from functional test classes 82a89458 Move global constants to test module setUp a8dda8c0 Remove duplicate namespace utilities in functional tests da0eb87e Fixed image_format typo in doc ee184971 Fix failed cinder store migration for non-owners b55dbb28 Reproduce bug #1932337 4ee400ac Make signature verification go back to 'queued' 9b385f7b [uwsgi] Add missing pefetch periodic job 1e1461fe Xena milestone 3 release notes 0bd3791e Refresh Glance example configs for Xena milestone 3 ad755cbd Add doc support for delete-from-store API 4473a605 Implement project personas for metadef tags 9796593f Implement project personas for metadef properties c64083ba Implement project personas for metadef resource-types 035e714f Implement project personas for metadef objects 9d9d7abe Implement project personas for metadef namespaces f0d891a3 'community' images need to be treated as public ea130469 Check policies for Image Cache in API e134d12e Move metadef tag policy checks in the API f9deee12 Move metadef property policy checks in the API ab0c95da Check policies for image tasks information in API 0406cb6c Add release note about policy-refactor 869a39d9 Check policies for Image Tags in API 6c87a18d Check policies for image import operation in API 505b08a9 Avoid reinitialization of image repo 32ea21f3 Move Tasks policy checks in the API 434f881d Check policies for delete image for store in API 82111150 Check deactivate, reactivate policy in the API d155c376 Add missing [oslo_reports] options e92c664d Move metadef resource type association policy checks in the API de560b19 Check add_image policy in the API f33504c3 Add missing forbidden to not found case for GET namespace API fa6f871e Check policies for staging operation in API 6ffd80f9 Check download_image policy in the API a9009f4e Refactor gateway auth layer for image factory 4b094df5 Suppress policy deprecation and default change warnings 4407d6ce Check upload_image policy in the API 33f2875c Load options from the castellan library 9e002a77 Resolve compatibility with oslo.db future (redux) 2c2a1317 Add missing parameters for the healthcheck middleware 77a1916b Deprecate task specific policies d0355538 Refactor gateway auth layer for task APIs a1ac21e7 Move member policy checks to API layer 870f1309 setup.cfg: Fix errant key f3740223 Resolve compatibility with oslo.db future 8e656a91 Move metadef object policy checks in the API 99331d7e Move metadef namespace policy checks in the API d9b80234 Refactor gateway auth layer for member APIs c87bfbbc Check delete_image policy in the API 39198f93 Add check_is_image_mutable() legacy helper 01b5bf5e Fix: glance cinder functional test 2943741c Refactor gateway auth layer for metadef APIs ded8ecf3 Fix failing copy_image flow init 8ddbdb95 Add a member field to Image when appropriate ba37ea32 Check get_image(s) in the API 3825d211 Make image update check policy at API layer 8767489f Refactor gateway get_repo auth layer 652780d0 Remove SSL configuration section from docs 04541ae7 Clean out deprecations from paste.ini 815922fb tests: Remove use of 'oslo_db.sqlalchemy.test_base' 2fef2e6c Add api_patch() to SynchronousAPIBase 429f1612 Remove dead 403->404 code 7259eca9 Replace deprecated assertDictContainsSubset 439ff976 Get rid of deprecated xml.etree.cElementTree 485677a3 Add base policy check module ac45f4d4 DB layer suppress Forbidden to NotFound error 3fe5f297 Add functional tests for metadef resource types 2cf5df86 Move lazy store update to locations layer 76162a72 Make property protection tests use member role 525b6add Make our functional tests compatible with RBAC e33e0deb Change database migration version to xena ae436257 db: Remove "support" for configurable migration backends 5cb97f3a trivial: Remove references to sqlalchemy-migrate b28b0e29 db: Remove old sqlalchemy-migrate migrations 7fb274f6 db: Stop checking for DB under sqlalchemy-migrate control 77676e83 db: Replace sqlalchemy-migrate call with alembic equivalent a75aa386 db: Move 'schema' module up a level d2d0bf0a Xena milestone 2 release notes 1d8117b0 Refresh Glance example configs for Xena milestone 2 2dc1084f Fix oslo policy DeprecatedRule warnings 2d281737 Fix the policy deprecation message da771fce Add unified quotas documentation 8d6ee6f8 Add image_count_uploading quota enforcement 084a77e6 Add user_get_uploading_count() to DB API 8201f5f1 Add a nonvoting functional job with RBAC defaults 21257615 Use default policies in our tests a36666e2 Add image_count_total quota enforcement d3d6a646 Add user_get_image_count() to DB API 59990d51 Add image_stage_total quota enforcement 5261fab3 Add user_get_staging_usage() to DB API 76c3011a Enforce keystone limits for image upload 7c1cd438 Fix broken test_update_queued_image_with_hidden 06e6542f Add unified quotas infrastructure fa1bc2f9 Drop lower-constraints jobs c290c4af Make image stage set image.size 154ef3fe Update image.size after conversion a1e46cca Refactor SynchronousAPIBase for more cases 9b683678 Revert "Remove all usage of keystoneclient" 4f20e500 Fix missing context args to get_flow() bba5014c Changed minversion in tox to 3.18.0 a854fcfa Make taskflow_executor log get_flow() exceptions 3ec92eaf Remove references to sys.version_info c5c7a2a6 [Doc] Update Freenode to OFTC as our IRC server b8926ab4 Make project_id a formal target alias 0309814d Make wsgi tests use noauth deployment flavor c366ead5 Fix test_cache_middleware tests to use auth 8ac32b8a Fix auth info on scrubber tests fdc83a8e Allow member creation when using db.simple api ebb6257c setup.cfg: Replace dashes with underscores 0e2043d5 Cinder Store: Update legacy images tests 7779c201 Ignore stale image property removal 2a0d2303 Fix image/tasks API for in-progress tasks 120cb146 Guidelines for core reviewers 3ebeea00 Imported Translations from Zanata 6cabdf93 Add Python3 xena unit tests 99a5a0f1 Update master for stable/wallaby abe052d6 Move setting of enforce_scope to devstack side 9b67bd19 Replace collections.Iterable Diffstat (except docs and test files) ------------------------------------- .gitreview | 1 + .zuul.yaml | 16 +- api-ref/source/v2/images-parameters.yaml | 6 + api-ref/source/v2/index.rst | 1 + api-ref/source/v2/stores.inc | 30 + devstack/plugin.sh | 41 - .../contributor/core_reviewer_guidelines.rst | 115 +++ etc/glance-api-paste.ini | 14 - etc/glance-api.conf | 363 ++++++- etc/glance-cache.conf | 80 +- etc/glance-manage.conf | 9 +- etc/glance-scrubber.conf | 87 +- etc/oslo-config-generator/glance-api.conf | 3 + glance/api/authorization.py | 17 +- glance/api/common.py | 5 + glance/api/middleware/cache.py | 49 +- glance/api/policy.py | 33 +- glance/api/v2/cached_images.py | 4 +- glance/api/v2/image_actions.py | 27 +- glance/api/v2/image_data.py | 93 +- glance/api/v2/image_members.py | 151 ++- glance/api/v2/image_tags.py | 12 +- glance/api/v2/images.py | 143 ++- glance/api/v2/metadef_namespaces.py | 240 ++++- glance/api/v2/metadef_objects.py | 147 ++- glance/api/v2/metadef_properties.py | 130 ++- glance/api/v2/metadef_resource_types.py | 107 +- glance/api/v2/metadef_tags.py | 151 ++- glance/api/v2/policy.py | 458 +++++++++ glance/api/v2/tasks.py | 24 +- glance/async_/__init__.py | 18 + glance/async_/flows/api_image_import.py | 46 +- glance/async_/flows/plugins/image_conversion.py | 6 +- glance/async_/taskflow_executor.py | 5 + glance/cmd/manage.py | 8 +- glance/common/auth.py | 11 +- glance/common/client.py | 4 +- glance/common/config.py | 17 +- glance/common/property_utils.py | 7 +- glance/common/swift_store_utils.py | 8 +- glance/common/trust_auth.py | 21 +- glance/common/wsgi_app.py | 23 + glance/db/__init__.py | 39 +- glance/db/migration.py | 28 +- glance/db/simple/api.py | 4 +- .../db/sqlalchemy/alembic_migrations/__init__.py | 60 -- .../alembic_migrations/add_artifacts_tables.py | 2 +- .../alembic_migrations/add_images_tables.py | 2 +- .../alembic_migrations/add_metadefs_tables.py | 2 +- .../alembic_migrations/add_tasks_tables.py | 2 +- .../versions/ocata_expand01_add_visibility.py | 9 +- glance/db/sqlalchemy/api.py | 99 +- glance/db/sqlalchemy/migrate_repo/README | 4 - glance/db/sqlalchemy/migrate_repo/__init__.py | 0 glance/db/sqlalchemy/migrate_repo/manage.py | 21 - glance/db/sqlalchemy/migrate_repo/migrate.cfg | 20 - glance/db/sqlalchemy/migrate_repo/schema.py | 115 --- .../migrate_repo/versions/001_add_images_table.py | 55 -- .../versions/002_add_image_properties_table.py | 78 -- .../migrate_repo/versions/003_add_disk_format.py | 109 --- .../migrate_repo/versions/003_sqlite_upgrade.sql | 61 -- .../migrate_repo/versions/004_add_checksum.py | 74 -- .../migrate_repo/versions/005_size_big_integer.py | 74 -- .../migrate_repo/versions/006_key_to_name.py | 59 -- .../migrate_repo/versions/006_mysql_upgrade.sql | 11 - .../migrate_repo/versions/006_sqlite_upgrade.sql | 44 - .../migrate_repo/versions/007_add_owner.py | 65 -- .../versions/008_add_image_members_table.py | 80 -- .../versions/009_add_mindisk_and_minram.py | 69 -- .../migrate_repo/versions/010_default_update_at.py | 43 - .../011_make_mindisk_and_minram_notnull.py | 26 - .../migrate_repo/versions/011_sqlite_upgrade.sql | 59 -- .../migrate_repo/versions/012_id_to_uuid.py | 355 ------- .../migrate_repo/versions/013_add_protected.py | 28 - .../versions/014_add_image_tags_table.py | 66 -- .../versions/015_quote_swift_credentials.py | 176 ---- .../versions/016_add_status_image_member.py | 28 - .../017_quote_encrypted_swift_credentials.py | 237 ----- .../versions/018_add_image_locations_table.py | 57 -- .../versions/019_migrate_image_locations.py | 44 - .../versions/020_drop_images_table_location.py | 26 - .../versions/021_set_engine_mysql_innodb.py | 31 - .../versions/022_image_member_index.py | 61 -- .../migrate_repo/versions/023_placeholder.py | 19 - .../migrate_repo/versions/024_placeholder.py | 19 - .../migrate_repo/versions/025_placeholder.py | 19 - .../026_add_location_storage_information.py | 32 - .../migrate_repo/versions/027_checksum_index.py | 28 - .../migrate_repo/versions/028_owner_index.py | 28 - .../029_location_meta_data_pickle_to_string.py | 45 - .../migrate_repo/versions/030_add_tasks_table.py | 58 -- .../versions/031_remove_duplicated_locations.py | 75 -- .../versions/032_add_task_info_table.py | 66 -- .../versions/033_add_location_status.py | 41 - .../migrate_repo/versions/034_add_virtual_size.py | 26 - .../versions/035_add_metadef_tables.py | 208 ---- .../versions/036_rename_metadef_schema_columns.py | 25 - .../versions/037_add_changes_to_satisfy_models.py | 84 -- .../migrate_repo/versions/037_sqlite_upgrade.sql | 159 --- .../versions/038_add_metadef_tags_table.py | 51 - .../039_add_changes_to_satisfy_models_metadef.py | 196 ---- .../040_add_changes_to_satisfy_metadefs_tags.py | 24 - .../versions/041_add_artifact_tables.py | 212 ---- ...nges_to_reinstall_unique_metadef_constraints.py | 442 --------- .../versions/043_add_image_created_updated_idx.py | 29 - .../versions/044_update_metadef_os_nova_server.py | 26 - .../migrate_repo/versions/045_add_visibility.py | 51 - .../migrate_repo/versions/045_sqlite_upgrade.sql | 162 --- .../sqlalchemy/migrate_repo/versions/__init__.py | 0 glance/db/sqlalchemy/schema.py | 60 ++ glance/domain/__init__.py | 1 + glance/domain/proxy.py | 1 + glance/gateway.py | 506 ++++++---- glance/image_cache/prefetcher.py | 14 +- glance/locale/en_GB/LC_MESSAGES/glance.po | 107 +- glance/location.py | 22 +- glance/policies/base.py | 61 +- glance/policies/image.py | 136 ++- glance/policies/metadef.py | 385 +++++++- glance/policies/tasks.py | 19 + glance/quota/keystone.py | 144 +++ .../functional/db/migrations/test_mitaka01.py | 27 +- .../functional/db/migrations/test_mitaka02.py | 57 +- .../db/migrations/test_ocata_contract01.py | 18 +- .../db/migrations/test_ocata_expand01.py | 79 +- .../db/migrations/test_ocata_migrate01.py | 70 +- .../db/migrations/test_pike_contract01.py | 12 +- .../functional/db/migrations/test_pike_expand01.py | 12 +- .../db/migrations/test_pike_migrate01.py | 12 +- .../db/migrations/test_rocky_expand01.py | 12 +- .../db/migrations/test_rocky_expand02.py | 12 +- .../db/migrations/test_train_migrate01.py | 78 +- .../db/migrations/test_wallaby_expand01.py | 12 +- .../functional/v2/test_images_import_locking.py | 5 +- .../v2/test_legacy_update_cinder_store.py | 155 +-- .../v2/test_metadef_namespace_api_policy.py | 769 +++++++++++++++ .../v2/test_metadef_object_api_policy.py | 322 ++++++ .../v2/test_metadef_property_api_policy.py | 320 ++++++ .../v2/test_metadef_resourcetype_api_policy.py | 250 +++++ .../functional/v2/test_metadef_resourcetypes.py | 435 ++++----- .../functional/v2/test_metadef_tag_api_policy.py | 392 ++++++++ .../async_/flows/plugins/test_image_conversion.py | 9 +- .../unit/async_/flows/test_api_image_import.py | 65 +- lower-constraints.txt | 134 --- ...store-migration-non-owner-80a2a8114d8602aa.yaml | 13 + ...rt-for-sqlalchemy-migrate-4bcbe7b200697586.yaml | 8 + .../glance-unified-quotas-fba62fabb00379af.yaml | 8 + .../policy-refactor-xena-0cddb7f2d492cb3a.yaml | 14 + .../xena-m2-releasenotes-e68fd81ece1d514a.yaml | 12 + .../xena-m3-releasenotes-a92d55d29eecc8f6.yaml | 23 + .../xena-rc1-release-notes-12dbe0ac528ce483.yaml | 25 + releasenotes/source/index.rst | 1 + .../locale/en_GB/LC_MESSAGES/releasenotes.po | 5 +- .../source/locale/fr/LC_MESSAGES/releasenotes.po | 63 ++ releasenotes/source/wallaby.rst | 6 + requirements.txt | 7 +- setup.cfg | 10 +- tox.ini | 27 +- 215 files changed, 11630 insertions(+), 6585 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index 0e43a7fb..5ae077bd 100644 --- a/requirements.txt +++ b/requirements.txt @@ -14 +13,0 @@ WebOb>=1.8.1 # MIT -sqlalchemy-migrate>=0.11.0 # Apache-2.0 @@ -34,0 +34 @@ jsonschema>=3.2.0 # MIT +python-keystoneclient>=3.8.0 # Apache-2.0 @@ -41 +41,2 @@ oslo.i18n>=5.0.0 # Apache-2.0 -oslo.log>=4.3.0 # Apache-2.0 +oslo.limit>=1.0.0 # Apache-2.0 +oslo.log>=4.5.0 # Apache-2.0 @@ -45 +46 @@ oslo.reports>=1.18.0 # Apache-2.0 -oslo.policy>=3.6.2 # Apache-2.0 +oslo.policy>=3.8.1 # Apache-2.0
participants (1)
-
no-reply@openstack.org