- Launchpad Entry: NovaSpec:bexar-xenapi-support-for-glance
- Created: 16 November 2010
- Contributors: Zhixue Wu
This specification covers Nova support for XenServer and XCP through XenAPI. Note that this does not imply support for other Xen-based platforms such as those shipped with RHEL 5 or SUSE.
XenServer: Commercial, supported product from Citrix
Xen Cloud Platform (XCP): Open-source equivalent of XenServer (and the development project for the toolstack). Everything said about XenServer below applies equally to XCP
XenAPI: The management API exposed by XenServer and XCP
xapi: The primary daemon on XenServer and Xen Cloud Platform; the one that exposes the XenAPI
By implementing XenAPI support for Glance, XenAPI can pull out images from Glance. It will enable users to use Swift, or any other object stores supported by Glance, for storing their images to be used by compute nodes using Xen.
Glance provides an image registration and discovery service (Parallax) and an image delivery service (Teller). These services are used in conjunction by Nova to deliver images from object stores, such as Swift service, to Nova’s compute nodes.
Currently, XenAPI fetches images from the OpenStack local object store. This implementation will enable XenAPI to use Glance services to fetch images registered in Swift, or other object stores supported by Glance.
Xen users could take advantage of Glance to register and manager their images.
Glance integration with Nova in Bexar
virt.xenapi and its plugin are self contained. The new implementation only needs to ensure to connect to the Glance services and use their API to fetch images.
Rework virt.xenapi and the XenAPI plugin for fetching images.
There should be no visible changes to the end users.
Code changes should be isolated to xenapi component in the virt module and XenAPI plugin for fetching images.
Migration once when the implementation nears beta.
The only change for users is that they could register their images to Swift when Glance is integrated with Nova.
Unit tests will be provided as code is developed.