Sean Dague wrote: > So, that begs a new approach. Because I think at this point even if we > did put out Nova v3, there can never be a v4. It's too much, too big, > and doesn't fit in the incremental nature of the project. So whatever > gets decided about v3, the thing that's important to me is a sane way to > be able to add backwards compatible changes (which we actually don't > have today, and I don't think any other service in OpenStack does > either), as well a mechanism for deprecating parts of the API. With some > future decision about whether removing them makes sense.
I agree with Sean. Whatever solution we pick, we need to make sure it's solid enough that it can handle further evolutions of the Nova API without repeating this dilemma tomorrow. V2 or V3, we would stick to it for the foreseeable future. Between the cleanup of the API, the drop of XML support, and including a sane mechanism for supporting further changes without major bumps of the API, we may have enough to technically justify v3 at this point. However from a user standpoint, given the surface of the API, it can't be deprecated fast -- so this ideal solution only works in a world with infinite maintenance resources. Keeping V2 forever is more like a trade-off, taking into account the available maintenance resources and the reality of Nova's API huge surface. It's less satisfying technically, especially if you're deeply aware of the API incoherent bits, and the prospect of living with some of this incoherence forever is not really appealing. Choosing between the two is about (1) assessing if we would have the resources to maintain V2 and V3 in parallel for some time, and (2) evaluating how dirty the V2 API is, how much of it we could fix in a backward-compatible manner, and if we are ready to live with the remaining dirtiness forever. -- Thierry Carrez (ttx)
signature.asc
Description: OpenPGP digital signature
_______________________________________________ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev