Welcome to the Project Technical Lead (PTL) overview series, where we will highlight each of the projects and the upcoming features that will be in the next OpenStack release: Kilo. These updates are posted on the OpenStack Foundation YouTube channel, and each PTL is available for questions on IRC.
First off, what is Glance? It’s a set of services which are used to store, browse, share, distribute and mange bootable disk images within the stack of OpenStack. What that means is that when you attempt to boot an instance, the OpenStack compute service makes a call to Glance to refresh the metadata as well as the image data.
In the Juno release cycle, Glance went through a theme change. The mission of the Glance project is now:
“To provide a service where users can upload and discover data assets that are meant to be used with other services, like images for Nova and templates for Heat.”
The major changes that happened in the previous cycle (Juno) were:
- The addition of asynchronous processing — a new API for confirming asynchronous tasks on the image surface. There are plans to add an export and flowing support in the Kilo cycle. These tasks will let the user perform operations on the image data as well as the image metadata.
- The separation of backend Storage drivers in a separate library called “glance_store”. The split will help with maintenance, as well as enhancement for the existing drivers. In addition, it will help add new backend drivers without much difficulty.
- The addition of the metadata definitions catalog, which will help operators store rich information associated with the metadata.
- Restricted policy for downloading images to let operators control the download policy at a much more granular level.
- An enhanced scrubber service — essentially a daemon process — which is run along with the Glance API. It provides an alternate approach for deleting images and was designed to better serve the performance for image deletion.
A new addition to Glance has been the concept of specifications. Specifications work both as a process as well as a platform. They will help foster better communication, help the project team discuss the design specifications from different dimensions of the project, and help individuals get acquainted and adhere to the OpenStack Glance standards. One way to think about specifications is that it is a formal statement describing the proposed changes to the code base, and are reviewed separately from the code.
Nikhil outlined the new features that the team is planning to add to Glance during the Kilo release cycle:
- Version bump to 2.3: There was a minor version bump to 2.3, and a small change within the APN in order for the API to be compatible with operators.
- Improve the stability of glance_store library: This is still in the alpha phase, but there are improvements planned in the release management as well as to provide a cleaner API.
- Incorporate Metadata Definitions Catalog closer with Glance: This should help other services within OpenStack use the catalog and leverage the store drivers without duplicating the code themselves.
- Catalog Indexing Service proposal: This proposal is still in progress, but the project is looking to provide a new way of searching either the image data or the metadata definitions.
- Artifacts proposal: Artifacts is the generic data asset concept, and will help add some new features to the existing domain of image objects currently designed in Glance.
- TaskFlow integration and Image conversion: Developed hand in hand with OpenStack services, the task flow service will help achieve the concept of image conversion, a side effect of the import process within image servers.
- Functional API for images: If deployers or administrators find the custom image not to be safe, they can leverage this functional API and either deactivate the image or reactivate the image after certain checks.
- Community image sharing: Users can use their custom images or deployer images and share it with the audience.
Other Kilo Priorities
- Better error codes: This will help operators and admins use error quotes and identify bugs and issues within the code in a smoother fashion. It will enhance the consistency checks between different OpenStack services and provide a standard.
- Separation of logging for glance-manage
- Multiple containers for single tenant Swift backend: This will improve performance in certain kinds of deployments and the project plans to keep the platform open for enhancing the drivers.
- Enhancements to ease Nova to use v2 API: Work will be done in Kilo in order to help Nova (OpenStack Compute Service). There is also enhancement work that will be done on Glance 2.3.
- Enhancements for adoption of glance_store outside of Glance: The main objective is to provide a cleaner store API for all those OpenStack services as well as users to leverage the plans to drivers and use the backend in a more effective manner.
To see the full Keystone update, be sure to check out the webinar here:
Weekly meetings are the best way to get involved, give feedback, ask questions or share concerns. The majority of the Glance developers who are actively working and contributing attend in order to be in sync with what’s happening, what needs to happen, and have a coherent design. Feel free to reach out to Nikhil through any of the below channels.