At the Folsom Summit, we had a session on extensibility 
<http://etherpad.openstack.org/FolsomAPIExtensions>.

I took an action item to propose a wiki approach to managing our extensions 
with a registry. The attached documents (in MultiMarkdown, can be converted to 
the wiki easily enough) are my go at it. 

"extensions.md" is an overview document explaining how they work; 
"extension-registry.md" is the actual registry document.

A few notes:

* The registries aren't complete yet; I've enumerated the Compute extensions 
listed on <http://docs.rackspace.com/openstack-extensions/>, but I know there 
are more, and of course there are the other APIs. The current document should 
give people a flavour for what they'd be like, though.

* In the extension-registry document, query extensions, action extensions and 
state extensions have TODOs, because it's not clear to me what syntactic 
constraints we put on these extensions. If no one has strong feelings, I'll 
define something, but I thought I'd ask first.

* This approach requires different parts of the API (e.g., resources, parts of 
a format) to explicitly identify themselves as extensible, so there's a little 
bit more documentation work to be done.

* I'm not very happy with the actions registry, but I think that has more to do 
with the design of actions than anything else. More on this soon.

* If we end up getting lots of extensions registered, we may need to 
restructure the presentation of the registries, and possibly introduce more 
process. However, that shouldn't change the basic approach.

Cheers,

Attachment: extension-registry.md
Description: Binary data

Attachment: extensions.md
Description: Binary data



--
Mark Nottingham   http://www.mnot.net/



_______________________________________________
Mailing list: https://launchpad.net/~openstack
Post to     : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp

Reply via email to