Summary

Allow third-party or implementation-specific features to be discovered.

Release Note

Added support for discovery of API features. In addition to /versions for API versions, you can now visit /features (authentication required) to see what optional components are enabled, or what third-party features have been installed.

Rationale

Cloud providers will want to differentiate themselves and add new features into their deployments. This provides a way for them to work with standard OpenStack API tools, as well as clients that are aware of the vendor-specific extensions that are installed. Examples could be annotating reservations with deployment information on how to run e.g. Puppet, Chef, or cfengine.

Design

Add an authenticated endpoint (/features) that returns a properly formatted (json, xml, yaml, or other supported encoding) dictionary of

Each optional / additional plugin should be accessed via (/features/plugin-name/version-number[/.*]).

This requires a smart loading mechanism for plugins, as well as a way to modify the router.


CategorySpec

Wiki: blueprint-api-feature-discovery (last edited 2010-11-09 22:52:02 by ToddWilley)