[release-announce] glance 23.0.0 (xena)

no-reply at openstack.org no-reply at openstack.org
Wed Oct 6 11:25:11 UTC 2021


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






More information about the Release-announce mailing list