Hello Everyone,

We had our eighth virtual PTG between 23rd OCt to 26th OCT 2023. Thanks to everyone who joined the virtual PTG sessions. Using Opendev Meetpad we had all the discussion around different topics for glance.

I have created etherpad[1] with notes from the session and also included the recordings of each session. Here is the short summary of the discussions.

Tuesday , OCT 24th 2023

# Bobcat Retrospective
On a positive note we have completed few important things like adding support for weighting mechanism to store, support for RBD driver to move images to the trash if they cannot be deleted immediately due to having snapshots, putting efforts in bridging the gap between glanceclient and openstackclient and started new location API work which will replace the image-update mechanism for consumers like cinder and nova for OSSN-0090 and OSSN-0065. 
On the other side we decided to speedup the work we've had in flight and we decided to have recent patches reviews meeting once in a month and backlogs review parties before each milestone to speedup the reviews.


# Common Tempest Failures for Glance
Glance has faced so many random CI failure and timeouts since bobcat mid cycle, though progress has been made on general issues and few of the project-specific issue also been addressed like post failures causing by image conversion failure,  tried  reducing concurrency but still we see some random timeouts, one of the common tempest failure has been observed that some glance related jobs like glance-multistore-cinder-import, nova-ceph-multistore are failing with race condition while saving image data, there is a short term solution proposed  by sending image_id while creating the image to ensure that each test can utilize own image and race condition could be avoided.

Decided to reproduce 1st failure from the gdoc and debug more on failures

# Add missing CLI support for some Glance API in Openstack Client
The migration work for adding missing CLI was initiated in the antelope cycle. We have added the SDK support for cache API , images API and metadef API(in progress).
On the client side support for cache API and images API has been added and for metadef is in progress.
This cycle we have decided to cover the remaining client and sdk support for APIs by distributing the work among the team.


# Default Glance to configure multiple stores
Glance has deprecated single stores configuration since Stein cycle and will remove the support of same in upcoming cycle by dividing the wrok in small parts like remove/migrate single store unit/functional tests.
Goal for this cycle: list down the work we have to do with regards to tests. and migrate unit/functional test from "single-store only" to "multistore-only" and send email to the mailing list to urge users to migrate to multi-store. 

Recording: https://drive.google.com/drive/u/0/folders/1oYrgVLV5L89keDZLx7r1JWcG8pk65918 - Default glane to multistore support.webm


Wednesday, OCT 25th 2023

# Remove Location Strategy
In Bobcat we added support for the weighing mechanism to store. So we can safely remove the location strategy and by default use the latest weighing mechanism which will be very easy and efficient.
Decided to deprecate location strategy in C and remove it in D, notify operators and users on ML and have a spec for the same in Caracal Cycle.


# Improve process of restoring image to active state which is set as 'pending_delete'

At the moment glance supports delaying of image-data from the store by setting delayed_delete to True and when image gets deleted it actually keeps image data in the backend and then Scrubber daemon deletes it permanently later. To restore the image, the deployer needs to set the UUID of that image in glance-api.conf to the 'restore' option under the Default section. If there are multiple images that need to be restored then this process will be kind of time consuming as each time a new Id will be needed to set in the configuration file and rerun the scrubber if it is not running as Daemon.
Decided to introduce admin only API to restore the image and restrict Scrubber daemon to delete the images which are in pending_delete state. The restore part from the scrubber for a couple of cycles until the new API is stable.The restore option from the scrubber will be deprecated in this cycle and then will be removed in the following cycle.


# Deprecate cachemanage middleware

Cache operations (CR(u)D) is now part of glance API. Even though we need to depend on cache/cachemanage middleware to enable it. There are two middlewares related to caching, one is `cache` and other is `cachemanage` and we can now get rid of `cachemanage` middleware and glance-cache-manage  command line utility. 
Agreed on deprecating cachmanage middleware in C & remove in D cycle. Decided to have a spec lite for the same after verifying how the cache APIs will respond if cache middleware is not enabled.

Recording: https://drive.google.com/drive/u/0/folders/1oYrgVLV5L89keDZLx7r1JWcG8pk65918 -  Deprecate Cachemanage Middleware 

# Use mysql database for caching instead of sqlite

There are two different database(s) used  for glance, MySql for regular operations and sqlite for caching related operations.
We have decided to use single database i.e. MySql for all glance related operations so that it will reduce the efforts to maintain both databases.


Thursday, OCT 26th 2023

# Unified limits
   Topic was discussed and decided to postpone it to the next cycle since no one volunteered to work on it.

# New Location APIs
We have decided to have support of new location api which will replace the image-update mechanism for consumers like cinder and nova for OSSN-0090 and OSSN-0065.
The implementation patches are up for review along with the unit/functional tests, documentation, api version bump, client side support and tempest coverage[2]
The Poc patches of nova and cinder are also there to test this new location api functionality.
In this cycle we are going to work on some missing test scenarios & verify PoC patches of consumers like nova and cinder are working with new location api functionality.


Apart from above topics you can find other miscellaneous topics discussed in PTG etherpad [1] along with the recordings of the sessions and milestone wise priorities at the end.
 If you have any questions/suggestions then please join us in our weekly meeting(each Thursday on #openstack-meeting irc channel at 1400 UTC)