Hi All,

I attended OpenStack Train PTG at Denver in last week. It was an interesting event with lots of discussion happening around different OpenStack projects. I was mostly associated with Glance and cross-projects work related to Glance. There were other topics around Edge, UI and QA.

From Edge computing glance prospective, glance has already added a feature for enabling multiple backend support and the people from edge team will work on building more concrete use cases about glance. This cycle Glance is knee towards making multiple stores feature as concrete and enhance the cache management tool.

Apart from this, glance will mostly focus on making appropriate changes for releasing glance-store version 1.0.0. Main task related to this is stabilization of multiple stores feature. Glance team has identified below tasks related to release of glance-store version 1.0.0
1. Add multiple stores support to Location API
2. Stabilize multiple stores support
3. Clean out deprecated configuration options
4. Modify deprecation warnings for single store configuration options (Should be removed in V cycle)
5. Resizing issue related to ceph backend

Regarding Glance the focus is mostly on stabilizing the multiple stores feature, Glance team has identified below tasks towards the same;
1. Rethinking of file system access
2. Location API to support multiple stores
3. Store IDs will be lazy added to the images upon first access (existing images before enabling multiple stores support)
4. Correction of vocabulary (i.e. where 'backend' is exposed to user change it to 'store')
5. Necessary client changes

Another major efforts will be carried out to "Use v2 API for cache management", Glance team will try it's best to deliver the basic cache-management tool to pre-cache the images. Below are some tasks identified related to this work;
1. /v2/cache - endpoint, for listing, deleting and pre-caching images
2. rabbitmq implementation for HA deployment - optional
3. RESTFul policy driven JSON output
4. Deprecate previous glance-cache-manage and glance-cache-prefetcher tools


Cross-Project work:
In this PTG we had discussion with Nova and Cinder regarding the adoption of multiple store feature of Glance. As per discussion we have finalized the design and Glance team will work together with Nova and Cinder  towards adding multiple store support feature in Train cycle.

Support for Glance multiple stores in Cinder:
As per discussion, volume-type will be used to add which store the image will be uploaded on upload-to-image operation.

Nova snapshots to dedicated store:
Aggrement is, If instance is boot from image, we need to find the store of the base image and upload the snapshot or backup to the same store, if instance is boot from volume then nova creates 0 size image in glance which will be uploaded to default store (so no need to change in case of instance boot from volume scenario).

Glance image properties and Cinder encrypted volume key management:
new draft spec: https://review.opendev.org/#/c/656895/
Aggrement is, Cinder will add a metadata property 'delete_encryption_key_on_image_deletion' with True to image, and while image is deleted and if this property is present the Glance will make a call to Barbican to delete the related secret.
 
Cinder/Glance creating image from volume with Ceph:
References: https://review.openstack.org/#/c/608400/
Solution: Lets not make the size user settable and instead just resize bigger chunks at the time and shrink back after EOF.

Below is the Train cycle planning and deadlines for Glance.

Train milestone planning:

Train T1 - June 03-07:
glance_store v 1.0.0
    'Store' vs. 'Backend': Getting the vocabulary correct
    Clear deprecated config options
    Modify deprecated warnings for single store config options

Stabilize multiple store functionality
    Rethinking filesystem access
    Add support for location to identify the store based on location URI
    Add wrapper function to update store information to existing images

Nova backup and snapshots to dedicated stores
Cinder to utilize glance multiple store
Remove 'owner_is_tenant' config option

Train T2 - July 22-26
Use v2 API for cache management
Glance image properties and Cinder encrypted volume key management
Cinder/Glance creating image from volume with Ceph

Train T3 - September 09-13
cluster awareness
openstackclient vs python-glanceclient
Clear deprecated options from glance
Get rid of deprecation warning messages
Release of non-client and client libraries
    glance-store (if required)
    python-glanceclient

Glance PTG planning etherpad: https://etherpad.openstack.org/p/Glance-Train-PTG-planning

Let me know if you guys need  more details on this.

Thanks & Best Regards,

Abhishek Kekane