I've just finished re-reading 'OpenStack API Extensions -- an
overview.' I understand the distinction between a core API and an API
extension, and the value of that distinction is clear.
What I don't understand is how that distinction plays out when it
comes to implementation. Within our shared implementation, is there any
actual coding distinction between 'core' and 'extension'? For example,
when I implemented the DNS extension I put most of the code in
api/openstack/compute/contrib (clearly the place for 'extensions'.) But
to support the actual functionality I made changes in
nova/network/manager.py and added a couple of db tables. Everyone
seemed fine with that.
Can I expect that any non-test-breaking code will be merged as long
as it doesn't alter the core API, even if it's for an unpopular or
obscure extension (e.g. puppet support)? If not, how have other
developers handled cases where adding a private API extension requires
modifications of shared code?
Thanks!
-Andrew
_______________________________________________
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help : https://help.launchpad.net/ListHelp