We've been tossing around a number of possibilities where this would be useful, but here's an example: let's say you wanted to include a configuration control panel along with an image. You have an image of a firewall, but with a number of user-customizable settings. We'd store the metadata about those settings alongside the image; then, when a user creates a compute instance using that image, the extra control panel could be generated by the front-end tool.
This would, for example, permit third parties to package up configurable images without giving them access to our control panel. Moreover, other third party services could use that metadata to generate their own "control panels" or to automate services. This could be done, on a small scale, via image properties, but I really think that there are cases where there's too much metadata to handle in that manner. Better to have an extension that holds the extra metadata and stores it, returns it, etc. Then, when you fetch the /image/xx/details resource, the configuration metadata could be passed along with it, perhaps in a separate data structure. The key is that the front-end using the API could use the /extensions resource to determine which extensions are available and whether or not to use them. On 6/10/11 1:35 PM, "Jay Pipes" <[email protected]> wrote: >On Thu, Jun 9, 2011 at 11:49 PM, Glen Campbell ><[email protected]> wrote: >> Hey, all I've proposed a blueprint for adding extensions to the >>Glance API >> in a similar manner to the Compute API Jorge proposed: >> https://blueprints.launchpad.net/glance/+spec/glance-api-extensions >> This would IMHO be a really useful mechanism for companies like >>Rackspace to >> add business-specific features that really don't need to be in the core >> code. We don't really want to fork the code to add our stuff, and those >>seem >> to be the only two options at the moment. >> I'd appreciate your feedback. > >Hi Glen! > >I have no general problem with adding support for extensions into the >Glance API, but I don't think I would implement it like the OS API >1.1. > >Could you be so kind as to flesh out an example extension that >Rackspace is interested in building? This would serve as a useful >example and can get the discussion going a bit. > >Thanks! >jay Confidentiality Notice: This e-mail message (including any attached or embedded documents) is intended for the exclusive and confidential use of the individual or entity to which this message is addressed, and unless otherwise expressly indicated, is confidential and privileged information of Rackspace. Any dissemination, distribution or copying of the enclosed material is prohibited. If you receive this transmission in error, please notify us immediately by e-mail at [email protected], and delete the original message. Your cooperation is appreciated. _______________________________________________ Mailing list: https://launchpad.net/~openstack Post to : [email protected] Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp

