Hi Brant, 2014-09-23 5:27 GMT+09:00 Brant Knudson <b...@acm.org>: >> Close to Kilo, it is time to think about what's next for nova API. In >> Kilo, we >> will continue develop the important feature micro-version. >> >> In previous v2 on v3 propose, it's include some implementations can be >> used for micro-version. >> (https://review.openstack.org/#/c/84695/19/specs/juno/v2-on-v3-api.rst) >> But finally, those implementations was considered too complex. >> >> So I'm try to find out more simple implementation and solution for >> micro-version. >> >> I wrote down some ideas as blog post at: >> http://soulxu.github.io/blog/2014/09/12/one-option-for-nova-api/ >> >> And for those ideas also already done some POC, you can find out in the >> blog post. >> >> As discussion in the Nova API meeting, we want to bring it up to mail-list >> to >> discussion. Hope we can get more idea and option from all developers. >> >> We will appreciate for any comment and suggestion! > > Did you consider JSON Home[1] for this? For Juno we've got JSON Home support > in Keystone for Identity v3 (Zaqar was using it already). We weren't > planning to use it for microversioning since we weren't planning on doing > microversioning, but I think JSON Home could be used for this purpose. > > Using JSON Home, you'd have relationships that include the version, then the > client can check the JSON Home document to see if the server has support for > the relationship the client wants to use.
Thanks for your advice, that is very useful input for me. I read both keystone-specs and ietf draft-spec for JSON-Home. I have a question. JSON-Home is useful for advertising API URL paths to clients, I guess but it cannot advertise the supported attributes of a request body. Is that right? For example, we can create a user "nobody" by passing the following request body to Keystone /v2.0/users with POST method: '{"user": {"email": null, "password": null, "enabled": true, "name": "nobody", "tenantId": null}}' In this case, I hope Keystone can advertise the above attributes("email", "name", etc). but JSON-Home doesn't cover it as its scope, I guess. On current Nova v2 API, we need to add dummy extension when adding new attributes to the existing request/response body because of advertising something changed to clients. I'm glad if we can use more standard way for doing it. Thanks Ken'ichi Ohmichi _______________________________________________ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev