)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"5c8f7a98027d97f051c7080074a3a774fd7e26d7","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"The devref for Nova stable API"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This document describes the expect of Nova REST API from Nova team. Also can"},{"line_number":10,"context_line":"resolve some confuse what you see in the current Nova code. The Nova team will"},{"line_number":11,"context_line":"try to reach the final goal of this document described."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"5afe65bd_457d3de6","line":9,"updated":"2015-06-03 07:25:43.000000000","message":"expect of \u003d\u003e expectations of the","commit_id":"d4a99e9dbd9dde6d8f310eb5d93bc4b5c7143aa2"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"b95a62f9b59d669d85063695ff9fe68f55bfe9f5","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"The devref for Nova stable API"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This document describes the expect of Nova REST API from Nova team. Also can"},{"line_number":10,"context_line":"resolve some confuse what you see in the current Nova code. The Nova team will"},{"line_number":11,"context_line":"try to reach the final goal of this document described."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"5afe65bd_40352bf5","line":9,"in_reply_to":"5afe65bd_457d3de6","updated":"2015-06-03 08:06:20.000000000","message":"Done","commit_id":"d4a99e9dbd9dde6d8f310eb5d93bc4b5c7143aa2"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"5c8f7a98027d97f051c7080074a3a774fd7e26d7","unresolved":false,"context_lines":[{"line_number":7,"context_line":"The devref for Nova stable API"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This document describes the expect of Nova REST API from Nova team. Also can"},{"line_number":10,"context_line":"resolve some confuse what you see in the current Nova code. The Nova team will"},{"line_number":11,"context_line":"try to reach the final goal of this document described."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Co-Authored-By: Jay Pipes \u003cjaypipes@gmail.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"5afe65bd_e56e692e","line":10,"updated":"2015-06-03 07:25:43.000000000","message":"confuse what you see \u003d\u003e confusion","commit_id":"d4a99e9dbd9dde6d8f310eb5d93bc4b5c7143aa2"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"b95a62f9b59d669d85063695ff9fe68f55bfe9f5","unresolved":false,"context_lines":[{"line_number":7,"context_line":"The devref for Nova stable API"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This document describes the expect of Nova REST API from Nova team. Also can"},{"line_number":10,"context_line":"resolve some confuse what you see in the current Nova code. The Nova team will"},{"line_number":11,"context_line":"try to reach the final goal of this document described."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Co-Authored-By: Jay Pipes \u003cjaypipes@gmail.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"5afe65bd_203c6fe1","line":10,"in_reply_to":"5afe65bd_e56e692e","updated":"2015-06-03 08:06:20.000000000","message":"Done","commit_id":"d4a99e9dbd9dde6d8f310eb5d93bc4b5c7143aa2"}],"doc/source/devref/stable_api.rst":[{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"f80c38f745b275445bc98f674d6e061f43e7d241","unresolved":false,"context_lines":[{"line_number":2,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"This document describes the expect of Nova REST API from Nova team. Also can"},{"line_number":5,"context_line":"resolve some confuse what you see in the current Nova code. The Nova team will"},{"line_number":6,"context_line":"try to reach the final goal of this document described."},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"Background"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a80dd14_a3021f09","line":5,"updated":"2015-03-11 20:49:05.000000000","message":"s/confuse/confusion/","commit_id":"2c17bee82c341862c862a47e53aae32b0db57672"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"742504c16124afc7f1b288407f5189ecd7b65b21","unresolved":false,"context_lines":[{"line_number":2,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"This document describes the expect of Nova REST API from Nova team. Also can"},{"line_number":5,"context_line":"resolve some confuse what you see in the current Nova code. The Nova team will"},{"line_number":6,"context_line":"try to reach the final goal of this document described."},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"Background"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7ad32947_80523e12","line":5,"in_reply_to":"9a80dd14_a3021f09","updated":"2015-04-28 09:36:16.000000000","message":"Done","commit_id":"2c17bee82c341862c862a47e53aae32b0db57672"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"07eb0ae25aeb579c8bc4968a72e113e5f6a406a4","unresolved":false,"context_lines":[{"line_number":3,"context_line":""},{"line_number":4,"context_line":"This document describes the expect of Nova REST API from Nova team. Also can"},{"line_number":5,"context_line":"resolve some confuse what you see in the current Nova code. The Nova team will"},{"line_number":6,"context_line":"try to reach the final goal of this document described."},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"Background"},{"line_number":9,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a80dd14_7ff1ca00","line":6,"updated":"2015-03-20 17:40:41.000000000","message":"The above paragraph is confusing. How about this instead?\n\n This document describes both the current state of the Nova REST API -- as\n of the Kilo release -- and also attempts to describe how the Nova team intends\n to evolve the REST API\u0027s implementation over time and remove some of the\n cruft that has crept in over the years.","commit_id":"2c17bee82c341862c862a47e53aae32b0db57672"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"742504c16124afc7f1b288407f5189ecd7b65b21","unresolved":false,"context_lines":[{"line_number":3,"context_line":""},{"line_number":4,"context_line":"This document describes the expect of Nova REST API from Nova team. Also can"},{"line_number":5,"context_line":"resolve some confuse what you see in the current Nova code. The Nova team will"},{"line_number":6,"context_line":"try to reach the final goal of this document described."},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"Background"},{"line_number":9,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7ad32947_a0741a9c","line":6,"in_reply_to":"9a80dd14_7ff1ca00","updated":"2015-04-28 09:36:16.000000000","message":"Thanks!, will update","commit_id":"2c17bee82c341862c862a47e53aae32b0db57672"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"07eb0ae25aeb579c8bc4968a72e113e5f6a406a4","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Nova currently have two separated code trees for Nova REST API. They are V2"},{"line_number":12,"context_line":"API and V2.1 API. The future of Nova REST API will be based on Nova V2.1 API."},{"line_number":13,"context_line":"The V2 API will depreciated in foreseeable future."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"The V2.1 API already includes some improvements that Nova team expected. But"},{"line_number":16,"context_line":"there still have something old things in the V2.1 that inherit from V2 API."}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a80dd14_9f291e3a","line":13,"updated":"2015-03-20 17:40:41.000000000","message":"How about this instead?\n\n Nova currently includes two distinct frameworks for exposing REST API\n functionality. Older code is called the \"V2 API\" and exists in the\n /nova/api/openstack/compute/contrib/ directory. Newer code is called the\n \"v2.1 API\" and exists in the /nova/api/openstack/compute/plugins directory.","commit_id":"2c17bee82c341862c862a47e53aae32b0db57672"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"f80c38f745b275445bc98f674d6e061f43e7d241","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Nova currently have two separated code trees for Nova REST API. They are V2"},{"line_number":12,"context_line":"API and V2.1 API. The future of Nova REST API will be based on Nova V2.1 API."},{"line_number":13,"context_line":"The V2 API will depreciated in foreseeable future."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"The V2.1 API already includes some improvements that Nova team expected. But"},{"line_number":16,"context_line":"there still have something old things in the V2.1 that inherit from V2 API."}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a80dd14_2c3a9234","line":13,"updated":"2015-03-11 20:49:05.000000000","message":"s/depreciated/deprecate/","commit_id":"2c17bee82c341862c862a47e53aae32b0db57672"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"742504c16124afc7f1b288407f5189ecd7b65b21","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Nova currently have two separated code trees for Nova REST API. They are V2"},{"line_number":12,"context_line":"API and V2.1 API. The future of Nova REST API will be based on Nova V2.1 API."},{"line_number":13,"context_line":"The V2 API will depreciated in foreseeable future."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"The V2.1 API already includes some improvements that Nova team expected. But"},{"line_number":16,"context_line":"there still have something old things in the V2.1 that inherit from V2 API."}],"source_content_type":"text/x-rst","patch_set":1,"id":"7ad32947_00662eed","line":13,"in_reply_to":"9a80dd14_9f291e3a","updated":"2015-04-28 09:36:16.000000000","message":"ok, will update, thanks.","commit_id":"2c17bee82c341862c862a47e53aae32b0db57672"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"f80c38f745b275445bc98f674d6e061f43e7d241","unresolved":false,"context_lines":[{"line_number":13,"context_line":"The V2 API will depreciated in foreseeable future."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"The V2.1 API already includes some improvements that Nova team expected. But"},{"line_number":16,"context_line":"there still have something old things in the V2.1 that inherit from V2 API."},{"line_number":17,"context_line":"And Nova team figure out those old things step by step. This doc is going to"},{"line_number":18,"context_line":"explain those confusion."},{"line_number":19,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a80dd14_0c26ae16","line":16,"updated":"2015-03-11 20:49:05.000000000","message":"there still are ..","commit_id":"2c17bee82c341862c862a47e53aae32b0db57672"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"07eb0ae25aeb579c8bc4968a72e113e5f6a406a4","unresolved":false,"context_lines":[{"line_number":15,"context_line":"The V2.1 API already includes some improvements that Nova team expected. But"},{"line_number":16,"context_line":"there still have something old things in the V2.1 that inherit from V2 API."},{"line_number":17,"context_line":"And Nova team figure out those old things step by step. This doc is going to"},{"line_number":18,"context_line":"explain those confusion."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Stable API"},{"line_number":21,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a80dd14_5fbde6d6","line":18,"updated":"2015-03-20 17:40:41.000000000","message":"Recommend removing this paragraph.","commit_id":"2c17bee82c341862c862a47e53aae32b0db57672"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"742504c16124afc7f1b288407f5189ecd7b65b21","unresolved":false,"context_lines":[{"line_number":15,"context_line":"The V2.1 API already includes some improvements that Nova team expected. But"},{"line_number":16,"context_line":"there still have something old things in the V2.1 that inherit from V2 API."},{"line_number":17,"context_line":"And Nova team figure out those old things step by step. This doc is going to"},{"line_number":18,"context_line":"explain those confusion."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Stable API"},{"line_number":21,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7ad32947_c05f160d","line":18,"in_reply_to":"9a80dd14_5fbde6d6","updated":"2015-04-28 09:36:16.000000000","message":"Done","commit_id":"2c17bee82c341862c862a47e53aae32b0db57672"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"07eb0ae25aeb579c8bc4968a72e113e5f6a406a4","unresolved":false,"context_lines":[{"line_number":20,"context_line":"Stable API"},{"line_number":21,"context_line":"----------"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"In the V2 API, there is concept called \u0027extension\u0027. The operator can use it"},{"line_number":24,"context_line":"to enable/disable part of Nova REST API based on requirements. And User need"},{"line_number":25,"context_line":"use \u0027/extensions\u0027 API discover what is supported for one openstack"},{"line_number":26,"context_line":"development."}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a80dd14_9f859e09","line":23,"updated":"2015-03-20 17:40:41.000000000","message":"s/is concept called/is a concept called an/\n\ns/The operator/An operator/","commit_id":"2c17bee82c341862c862a47e53aae32b0db57672"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"742504c16124afc7f1b288407f5189ecd7b65b21","unresolved":false,"context_lines":[{"line_number":20,"context_line":"Stable API"},{"line_number":21,"context_line":"----------"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"In the V2 API, there is concept called \u0027extension\u0027. The operator can use it"},{"line_number":24,"context_line":"to enable/disable part of Nova REST API based on requirements. And User need"},{"line_number":25,"context_line":"use \u0027/extensions\u0027 API discover what is supported for one openstack"},{"line_number":26,"context_line":"development."}],"source_content_type":"text/x-rst","patch_set":1,"id":"7ad32947_40aae6d5","line":23,"in_reply_to":"9a80dd14_9f859e09","updated":"2015-04-28 09:36:16.000000000","message":"Done","commit_id":"2c17bee82c341862c862a47e53aae32b0db57672"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"07eb0ae25aeb579c8bc4968a72e113e5f6a406a4","unresolved":false,"context_lines":[{"line_number":21,"context_line":"----------"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"In the V2 API, there is concept called \u0027extension\u0027. The operator can use it"},{"line_number":24,"context_line":"to enable/disable part of Nova REST API based on requirements. And User need"},{"line_number":25,"context_line":"use \u0027/extensions\u0027 API discover what is supported for one openstack"},{"line_number":26,"context_line":"development."},{"line_number":27,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a80dd14_9f9cbe5f","line":24,"updated":"2015-03-20 17:40:41.000000000","message":"s/And User need use/An end user may query the/","commit_id":"2c17bee82c341862c862a47e53aae32b0db57672"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"742504c16124afc7f1b288407f5189ecd7b65b21","unresolved":false,"context_lines":[{"line_number":21,"context_line":"----------"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"In the V2 API, there is concept called \u0027extension\u0027. The operator can use it"},{"line_number":24,"context_line":"to enable/disable part of Nova REST API based on requirements. And User need"},{"line_number":25,"context_line":"use \u0027/extensions\u0027 API discover what is supported for one openstack"},{"line_number":26,"context_line":"development."},{"line_number":27,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7ad32947_20b00a43","line":24,"in_reply_to":"9a80dd14_9f9cbe5f","updated":"2015-04-28 09:36:16.000000000","message":"Done","commit_id":"2c17bee82c341862c862a47e53aae32b0db57672"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"07eb0ae25aeb579c8bc4968a72e113e5f6a406a4","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"In the V2 API, there is concept called \u0027extension\u0027. The operator can use it"},{"line_number":24,"context_line":"to enable/disable part of Nova REST API based on requirements. And User need"},{"line_number":25,"context_line":"use \u0027/extensions\u0027 API discover what is supported for one openstack"},{"line_number":26,"context_line":"development."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Nova team found that is totally wrong direct. The extension can lead Nova to"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a80dd14_1fa8ce76","line":25,"updated":"2015-03-20 17:40:41.000000000","message":"s/discover/to discover/\n\ns/for one openstack/by the OpenStack/","commit_id":"2c17bee82c341862c862a47e53aae32b0db57672"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"742504c16124afc7f1b288407f5189ecd7b65b21","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"In the V2 API, there is concept called \u0027extension\u0027. The operator can use it"},{"line_number":24,"context_line":"to enable/disable part of Nova REST API based on requirements. And User need"},{"line_number":25,"context_line":"use \u0027/extensions\u0027 API discover what is supported for one openstack"},{"line_number":26,"context_line":"development."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Nova team found that is totally wrong direct. The extension can lead Nova to"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7ad32947_e0b9f22f","line":25,"in_reply_to":"9a80dd14_1fa8ce76","updated":"2015-04-28 09:36:16.000000000","message":"Done","commit_id":"2c17bee82c341862c862a47e53aae32b0db57672"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"07eb0ae25aeb579c8bc4968a72e113e5f6a406a4","unresolved":false,"context_lines":[{"line_number":23,"context_line":"In the V2 API, there is concept called \u0027extension\u0027. The operator can use it"},{"line_number":24,"context_line":"to enable/disable part of Nova REST API based on requirements. And User need"},{"line_number":25,"context_line":"use \u0027/extensions\u0027 API discover what is supported for one openstack"},{"line_number":26,"context_line":"development."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Nova team found that is totally wrong direct. The extension can lead Nova to"},{"line_number":29,"context_line":"form a un-stable API. For the view of User, that means the different"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a80dd14_3fb4b2d3","line":26,"updated":"2015-03-20 17:40:41.000000000","message":"s/development/deployment/","commit_id":"2c17bee82c341862c862a47e53aae32b0db57672"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"742504c16124afc7f1b288407f5189ecd7b65b21","unresolved":false,"context_lines":[{"line_number":23,"context_line":"In the V2 API, there is concept called \u0027extension\u0027. The operator can use it"},{"line_number":24,"context_line":"to enable/disable part of Nova REST API based on requirements. And User need"},{"line_number":25,"context_line":"use \u0027/extensions\u0027 API discover what is supported for one openstack"},{"line_number":26,"context_line":"development."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Nova team found that is totally wrong direct. The extension can lead Nova to"},{"line_number":29,"context_line":"form a un-stable API. For the view of User, that means the different"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7ad32947_c0b6f63c","line":26,"in_reply_to":"9a80dd14_3fb4b2d3","updated":"2015-04-28 09:36:16.000000000","message":"Done","commit_id":"2c17bee82c341862c862a47e53aae32b0db57672"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"07eb0ae25aeb579c8bc4968a72e113e5f6a406a4","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Nova team found that is totally wrong direct. The extension can lead Nova to"},{"line_number":29,"context_line":"form a un-stable API. For the view of User, that means the different"},{"line_number":30,"context_line":"development of Nova may incompatible each other."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"The extension didn\u0027t totally removed from the V2.1 API. But the Nova team"},{"line_number":33,"context_line":"is going forward to the goal eliminate extension totally from Nova REST API."}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a80dd14_9f383e3f","line":30,"updated":"2015-03-20 17:40:41.000000000","message":"How about this instead?\n\n Unfortunately, because V2 API extensions could be enabled or disabled\n from one deployment to another -- as well as custom API extensions added\n to one deployment and not another -- it was impossible for an end user to\n know what the OpenStack Compute API actually included. No two OpenStack\n deployments were consistent, which made cloud interoperability impossible.","commit_id":"2c17bee82c341862c862a47e53aae32b0db57672"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"742504c16124afc7f1b288407f5189ecd7b65b21","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Nova team found that is totally wrong direct. The extension can lead Nova to"},{"line_number":29,"context_line":"form a un-stable API. For the view of User, that means the different"},{"line_number":30,"context_line":"development of Nova may incompatible each other."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"The extension didn\u0027t totally removed from the V2.1 API. But the Nova team"},{"line_number":33,"context_line":"is going forward to the goal eliminate extension totally from Nova REST API."}],"source_content_type":"text/x-rst","patch_set":1,"id":"7ad32947_80d59e44","line":30,"in_reply_to":"9a80dd14_9f383e3f","updated":"2015-04-28 09:36:16.000000000","message":"ok, thanks","commit_id":"2c17bee82c341862c862a47e53aae32b0db57672"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"07eb0ae25aeb579c8bc4968a72e113e5f6a406a4","unresolved":false,"context_lines":[{"line_number":30,"context_line":"development of Nova may incompatible each other."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"The extension didn\u0027t totally removed from the V2.1 API. But the Nova team"},{"line_number":33,"context_line":"is going forward to the goal eliminate extension totally from Nova REST API."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"The extension is considered as two things in the Nova V2.1 API:"},{"line_number":36,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a80dd14_1ff7ee5a","line":33,"updated":"2015-03-20 17:40:41.000000000","message":"Recommend rewording the above to:\n\n API extensions, while not (yet) removed from the V2.1 API, are no longer\n needed to evolve the REST API, and no new API functionality should use\n the API extension classes to implement new functionality. Instead, new\n API functionality should use the microversioning decorators to add or change\n the REST API.","commit_id":"2c17bee82c341862c862a47e53aae32b0db57672"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"f80c38f745b275445bc98f674d6e061f43e7d241","unresolved":false,"context_lines":[{"line_number":30,"context_line":"development of Nova may incompatible each other."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"The extension didn\u0027t totally removed from the V2.1 API. But the Nova team"},{"line_number":33,"context_line":"is going forward to the goal eliminate extension totally from Nova REST API."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"The extension is considered as two things in the Nova V2.1 API:"},{"line_number":36,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a80dd14_6c72ca12","line":33,"updated":"2015-03-11 20:49:05.000000000","message":"to eliminate","commit_id":"2c17bee82c341862c862a47e53aae32b0db57672"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"742504c16124afc7f1b288407f5189ecd7b65b21","unresolved":false,"context_lines":[{"line_number":30,"context_line":"development of Nova may incompatible each other."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"The extension didn\u0027t totally removed from the V2.1 API. But the Nova team"},{"line_number":33,"context_line":"is going forward to the goal eliminate extension totally from Nova REST API."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"The extension is considered as two things in the Nova V2.1 API:"},{"line_number":36,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7ad32947_803c7e94","line":33,"in_reply_to":"9a80dd14_1ff7ee5a","updated":"2015-04-28 09:36:16.000000000","message":"ok ,thanks","commit_id":"2c17bee82c341862c862a47e53aae32b0db57672"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"f80c38f745b275445bc98f674d6e061f43e7d241","unresolved":false,"context_lines":[{"line_number":37,"context_line":"* The \u0027/extensions\u0027 API"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"  The User can use it determine what APIs is supported by current openstack"},{"line_number":40,"context_line":"  development. That make Sperator have confidence to custom his development"},{"line_number":41,"context_line":"  without break User. But that isn\u0027t expected for the Nova stable API as the"},{"line_number":42,"context_line":"  describe sa above."},{"line_number":43,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a80dd14_2cd612c4","line":40,"updated":"2015-03-11 20:49:05.000000000","message":"Sperator -\u003e Operator?\n\ncustom --\u003ecustomize","commit_id":"2c17bee82c341862c862a47e53aae32b0db57672"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"742504c16124afc7f1b288407f5189ecd7b65b21","unresolved":false,"context_lines":[{"line_number":37,"context_line":"* The \u0027/extensions\u0027 API"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"  The User can use it determine what APIs is supported by current openstack"},{"line_number":40,"context_line":"  development. That make Sperator have confidence to custom his development"},{"line_number":41,"context_line":"  without break User. But that isn\u0027t expected for the Nova stable API as the"},{"line_number":42,"context_line":"  describe sa above."},{"line_number":43,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7ad32947_6041620b","line":40,"in_reply_to":"9a80dd14_2cd612c4","updated":"2015-04-28 09:36:16.000000000","message":"thanks","commit_id":"2c17bee82c341862c862a47e53aae32b0db57672"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"f80c38f745b275445bc98f674d6e061f43e7d241","unresolved":false,"context_lines":[{"line_number":39,"context_line":"  The User can use it determine what APIs is supported by current openstack"},{"line_number":40,"context_line":"  development. That make Sperator have confidence to custom his development"},{"line_number":41,"context_line":"  without break User. But that isn\u0027t expected for the Nova stable API as the"},{"line_number":42,"context_line":"  describe sa above."},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"  The this API also can be used to discover an new feature whether enabled"},{"line_number":45,"context_line":"  in the development. In the V2.1 API, the micro-version can totally instead"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a80dd14_0c022e3e","line":42,"updated":"2015-03-11 20:49:05.000000000","message":"s/sa//d","commit_id":"2c17bee82c341862c862a47e53aae32b0db57672"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"742504c16124afc7f1b288407f5189ecd7b65b21","unresolved":false,"context_lines":[{"line_number":39,"context_line":"  The User can use it determine what APIs is supported by current openstack"},{"line_number":40,"context_line":"  development. That make Sperator have confidence to custom his development"},{"line_number":41,"context_line":"  without break User. But that isn\u0027t expected for the Nova stable API as the"},{"line_number":42,"context_line":"  describe sa above."},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"  The this API also can be used to discover an new feature whether enabled"},{"line_number":45,"context_line":"  in the development. In the V2.1 API, the micro-version can totally instead"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7ad32947_00498e31","line":42,"in_reply_to":"9a80dd14_0c022e3e","updated":"2015-04-28 09:36:16.000000000","message":"thanks","commit_id":"2c17bee82c341862c862a47e53aae32b0db57672"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"f80c38f745b275445bc98f674d6e061f43e7d241","unresolved":false,"context_lines":[{"line_number":41,"context_line":"  without break User. But that isn\u0027t expected for the Nova stable API as the"},{"line_number":42,"context_line":"  describe sa above."},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"  The this API also can be used to discover an new feature whether enabled"},{"line_number":45,"context_line":"  in the development. In the V2.1 API, the micro-version can totally instead"},{"line_number":46,"context_line":"  of that. And micro-version not only enable us add new future by"},{"line_number":47,"context_line":"  back-compatible method, also can be added by appropriate back-incompatible"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a80dd14_8c953ee6","line":44,"updated":"2015-03-11 20:49:05.000000000","message":"s/The this/This API/","commit_id":"2c17bee82c341862c862a47e53aae32b0db57672"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"742504c16124afc7f1b288407f5189ecd7b65b21","unresolved":false,"context_lines":[{"line_number":41,"context_line":"  without break User. But that isn\u0027t expected for the Nova stable API as the"},{"line_number":42,"context_line":"  describe sa above."},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"  The this API also can be used to discover an new feature whether enabled"},{"line_number":45,"context_line":"  in the development. In the V2.1 API, the micro-version can totally instead"},{"line_number":46,"context_line":"  of that. And micro-version not only enable us add new future by"},{"line_number":47,"context_line":"  back-compatible method, also can be added by appropriate back-incompatible"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7ad32947_e05572c6","line":44,"in_reply_to":"9a80dd14_8c953ee6","updated":"2015-04-28 09:36:16.000000000","message":"thanks","commit_id":"2c17bee82c341862c862a47e53aae32b0db57672"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"f80c38f745b275445bc98f674d6e061f43e7d241","unresolved":false,"context_lines":[{"line_number":48,"context_line":"  method."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"  The \u0027/extensions\u0027 API should be freezed and depreciated(keep it just for"},{"line_number":51,"context_line":"  back-compatible) in the future."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"* The plugin framework"},{"line_number":54,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a80dd14_ac668227","line":51,"updated":"2015-03-11 20:49:05.000000000","message":"I think we should say something like \nThe new changes should not use extension any more\nnot \u0027in the future\u0027","commit_id":"2c17bee82c341862c862a47e53aae32b0db57672"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"6e01d7fa5c42992000f7977baaaafb36d1e25b01","unresolved":false,"context_lines":[{"line_number":48,"context_line":"  method."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"  The \u0027/extensions\u0027 API should be freezed and depreciated(keep it just for"},{"line_number":51,"context_line":"  back-compatible) in the future."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"* The plugin framework"},{"line_number":54,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a80dd14_39bac0e1","line":51,"in_reply_to":"9a80dd14_ac668227","updated":"2015-03-12 04:56:43.000000000","message":"yea, but let see what discussion going on","commit_id":"2c17bee82c341862c862a47e53aae32b0db57672"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"e16519993a34cdfc09d9da69692a62e09b530b14","unresolved":false,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":"  So Nova team think the plugin should be keeped, Because...blablabla......"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"  So Nova team think the plugin should be removed, Because...blablabla....."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"As the extension will be removed from Nove REST API. So the concept of core API"},{"line_number":74,"context_line":"and extension API is eliminated also. There is no different between Nova REST"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a80dd14_59bc38bb","line":71,"updated":"2015-03-10 11:54:58.000000000","message":"I guess the main argument at here.","commit_id":"2c17bee82c341862c862a47e53aae32b0db57672"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"f80c38f745b275445bc98f674d6e061f43e7d241","unresolved":false,"context_lines":[{"line_number":71,"context_line":"  So Nova team think the plugin should be removed, Because...blablabla....."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"As the extension will be removed from Nove REST API. So the concept of core API"},{"line_number":74,"context_line":"and extension API is eliminated also. There is no different between Nova REST"},{"line_number":75,"context_line":"API, All of them are part of Nova stable REST API."}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a80dd14_c7355147","line":74,"updated":"2015-03-11 20:49:05.000000000","message":"different --\u003e difference","commit_id":"2c17bee82c341862c862a47e53aae32b0db57672"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"742504c16124afc7f1b288407f5189ecd7b65b21","unresolved":false,"context_lines":[{"line_number":71,"context_line":"  So Nova team think the plugin should be removed, Because...blablabla....."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"As the extension will be removed from Nove REST API. So the concept of core API"},{"line_number":74,"context_line":"and extension API is eliminated also. There is no different between Nova REST"},{"line_number":75,"context_line":"API, All of them are part of Nova stable REST API."}],"source_content_type":"text/x-rst","patch_set":1,"id":"7ad32947_a0053ac3","line":74,"in_reply_to":"9a80dd14_c7355147","updated":"2015-04-28 09:36:16.000000000","message":"Done","commit_id":"2c17bee82c341862c862a47e53aae32b0db57672"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"6ce4affecf17ff58566271b1c2bc146c956b33f9","unresolved":false,"context_lines":[{"line_number":1,"context_line":"Nova Stable REST API"},{"line_number":2,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"This document describes both the current state of the Nova REST API -- as"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3acd31a7_ad562ad0","line":1,"updated":"2015-05-06 09:10:00.000000000","message":"you need the licence added in here.","commit_id":"c7451732c722e25db6f167dae16467e2a7c09149"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"125dd37f0bd2bed173ac1ac26bdb22731e1031b1","unresolved":false,"context_lines":[{"line_number":18,"context_line":"----------"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"In the V2 API, there is a concept called \u0027extension\u0027. An operator can use it"},{"line_number":21,"context_line":"to enable/disable part of Nova REST API based on requirements. And end User"},{"line_number":22,"context_line":"may the \u0027/extensions\u0027 API to discover what is supported by the openstack"},{"line_number":23,"context_line":"deployment."},{"line_number":24,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7ad32947_e4d8dff1","line":21,"updated":"2015-04-28 12:53:33.000000000","message":"s/User/user/","commit_id":"c7451732c722e25db6f167dae16467e2a7c09149"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"3871bd6137002b17876b6ef971d0dbc547437421","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"In the V2 API, there is a concept called \u0027extension\u0027. An operator can use it"},{"line_number":21,"context_line":"to enable/disable part of Nova REST API based on requirements. And end User"},{"line_number":22,"context_line":"may the \u0027/extensions\u0027 API to discover what is supported by the openstack"},{"line_number":23,"context_line":"deployment."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Unfortunately, because V2 API extensions could be enabled or disabled"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7ad32947_97039f0f","line":22,"updated":"2015-04-28 13:10:25.000000000","message":"may the \u003d\u003e may use the","commit_id":"c7451732c722e25db6f167dae16467e2a7c09149"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"125dd37f0bd2bed173ac1ac26bdb22731e1031b1","unresolved":false,"context_lines":[{"line_number":26,"context_line":"from one deployment to another -- as well as custom API extensions added"},{"line_number":27,"context_line":"to one deployment and not another -- it was impossible for an end user to"},{"line_number":28,"context_line":"know what the OpenStack Compute API actually included. No two OpenStack"},{"line_number":29,"context_line":"deployments were consistent, which made cloud interoperability impossible."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"API extensions, while not (yet) removed from the V2.1 API, are no longer"},{"line_number":32,"context_line":"needed to evolve the REST API, and no new API functionality should use"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7ad32947_d7da3778","line":29,"updated":"2015-04-28 12:53:33.000000000","message":"I don\u0027t think extension is a problem against interoperability.\n\nOperators should be able to select favorite extensions as they like based on their service menu or something.\nFor example, resize extension is disable on hp cloud.\n\nOperator original extension(meaning non-upstream extension) should be a problem, but I think operator can select favorite ones from upstream extensions.\n\nDefCore/RefStack is trying to resolve interoperability problems by defining what are core functions for OpenStack.","commit_id":"c7451732c722e25db6f167dae16467e2a7c09149"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"938ac36860590fd92773cb182603d4760c4b76b9","unresolved":false,"context_lines":[{"line_number":26,"context_line":"from one deployment to another -- as well as custom API extensions added"},{"line_number":27,"context_line":"to one deployment and not another -- it was impossible for an end user to"},{"line_number":28,"context_line":"know what the OpenStack Compute API actually included. No two OpenStack"},{"line_number":29,"context_line":"deployments were consistent, which made cloud interoperability impossible."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"API extensions, while not (yet) removed from the V2.1 API, are no longer"},{"line_number":32,"context_line":"needed to evolve the REST API, and no new API functionality should use"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aca2d91_259ed156","line":29,"in_reply_to":"3acd31a7_0d2abe2c","updated":"2015-05-06 22:13:39.000000000","message":"@John\n\nThis is related to JSON-Home spec.\nJSON-Home provides API resources\u0027 information(/servers, /keypairs, etc).\nIf we will customize available resources with policy error checks only, JSON-Home will provide disabled API resources also because current policy error checks\u0027 implementation doesn\u0027t affect API routing.\nThe loading condition of API extensions affects it.","commit_id":"c7451732c722e25db6f167dae16467e2a7c09149"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"6ce4affecf17ff58566271b1c2bc146c956b33f9","unresolved":false,"context_lines":[{"line_number":26,"context_line":"from one deployment to another -- as well as custom API extensions added"},{"line_number":27,"context_line":"to one deployment and not another -- it was impossible for an end user to"},{"line_number":28,"context_line":"know what the OpenStack Compute API actually included. No two OpenStack"},{"line_number":29,"context_line":"deployments were consistent, which made cloud interoperability impossible."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"API extensions, while not (yet) removed from the V2.1 API, are no longer"},{"line_number":32,"context_line":"needed to evolve the REST API, and no new API functionality should use"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3acd31a7_0d2abe2c","line":29,"in_reply_to":"7ad32947_70300957","updated":"2015-05-06 09:10:00.000000000","message":"So...\n\nI think we need to get rid of turning off extensions. That leaves only policy changes to disable things.\n\nWe could then update tempest to \"skip\" tests if they raise policy errors, or something like that?","commit_id":"c7451732c722e25db6f167dae16467e2a7c09149"},{"author":{"_account_id":9420,"name":"Matthew Gilliard","email":"matthew.gilliard@hp.com","username":"gilliard"},"change_message_id":"11e849a735924f874ae029b565ffe0371265dded","unresolved":false,"context_lines":[{"line_number":26,"context_line":"from one deployment to another -- as well as custom API extensions added"},{"line_number":27,"context_line":"to one deployment and not another -- it was impossible for an end user to"},{"line_number":28,"context_line":"know what the OpenStack Compute API actually included. No two OpenStack"},{"line_number":29,"context_line":"deployments were consistent, which made cloud interoperability impossible."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"API extensions, while not (yet) removed from the V2.1 API, are no longer"},{"line_number":32,"context_line":"needed to evolve the REST API, and no new API functionality should use"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7ad32947_f593eba1","line":29,"in_reply_to":"7ad32947_d7da3778","updated":"2015-04-28 13:29:06.000000000","message":"I suppose, by definition, anything in an optional extension is not \"Core\". But the core functions are interoperable.","commit_id":"c7451732c722e25db6f167dae16467e2a7c09149"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"abbb019c57ec0d5bc4c50fb79022abc8c5f4bf6d","unresolved":false,"context_lines":[{"line_number":26,"context_line":"from one deployment to another -- as well as custom API extensions added"},{"line_number":27,"context_line":"to one deployment and not another -- it was impossible for an end user to"},{"line_number":28,"context_line":"know what the OpenStack Compute API actually included. No two OpenStack"},{"line_number":29,"context_line":"deployments were consistent, which made cloud interoperability impossible."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"API extensions, while not (yet) removed from the V2.1 API, are no longer"},{"line_number":32,"context_line":"needed to evolve the REST API, and no new API functionality should use"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7ad32947_70300957","line":29,"in_reply_to":"7ad32947_f593eba1","updated":"2015-04-28 13:52:52.000000000","message":"Yeah, completely right.\nbut the point is \"what are core or optional?\" DefCore is it ;-)","commit_id":"c7451732c722e25db6f167dae16467e2a7c09149"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"125dd37f0bd2bed173ac1ac26bdb22731e1031b1","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"* The \u0027/extensions\u0027 API"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"  The User can use it determine what APIs is supported by current openstack"},{"line_number":42,"context_line":"  development. That make Operator have confidence to custom his development"},{"line_number":43,"context_line":"  without break User. But that isn\u0027t expected for the Nova stable API as the"},{"line_number":44,"context_line":"  described above."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7ad32947_e4869fb8","line":41,"updated":"2015-04-28 12:53:33.000000000","message":"ditto","commit_id":"c7451732c722e25db6f167dae16467e2a7c09149"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"3871bd6137002b17876b6ef971d0dbc547437421","unresolved":false,"context_lines":[{"line_number":39,"context_line":"* The \u0027/extensions\u0027 API"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"  The User can use it determine what APIs is supported by current openstack"},{"line_number":42,"context_line":"  development. That make Operator have confidence to custom his development"},{"line_number":43,"context_line":"  without break User. But that isn\u0027t expected for the Nova stable API as the"},{"line_number":44,"context_line":"  described above."},{"line_number":45,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7ad32947_5aa08ef4","line":42,"range":{"start_line":42,"start_character":20,"end_line":42,"end_character":38},"updated":"2015-04-28 13:10:25.000000000","message":"make Operator have \u003d\u003e enables Operators to have confidence\ncustom \u003d\u003e customize\nhis \u003d\u003e his/her","commit_id":"c7451732c722e25db6f167dae16467e2a7c09149"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"125dd37f0bd2bed173ac1ac26bdb22731e1031b1","unresolved":false,"context_lines":[{"line_number":39,"context_line":"* The \u0027/extensions\u0027 API"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"  The User can use it determine what APIs is supported by current openstack"},{"line_number":42,"context_line":"  development. That make Operator have confidence to custom his development"},{"line_number":43,"context_line":"  without break User. But that isn\u0027t expected for the Nova stable API as the"},{"line_number":44,"context_line":"  described above."},{"line_number":45,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7ad32947_64c16fe4","line":42,"updated":"2015-04-28 12:53:33.000000000","message":"s/make/makes/","commit_id":"c7451732c722e25db6f167dae16467e2a7c09149"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"3871bd6137002b17876b6ef971d0dbc547437421","unresolved":false,"context_lines":[{"line_number":39,"context_line":"* The \u0027/extensions\u0027 API"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"  The User can use it determine what APIs is supported by current openstack"},{"line_number":42,"context_line":"  development. That make Operator have confidence to custom his development"},{"line_number":43,"context_line":"  without break User. But that isn\u0027t expected for the Nova stable API as the"},{"line_number":44,"context_line":"  described above."},{"line_number":45,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7ad32947_fa419a3a","line":42,"in_reply_to":"7ad32947_64c16fe4","updated":"2015-04-28 13:10:25.000000000","message":"development \u003d\u003e deployment","commit_id":"c7451732c722e25db6f167dae16467e2a7c09149"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"3871bd6137002b17876b6ef971d0dbc547437421","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"  The User can use it determine what APIs is supported by current openstack"},{"line_number":42,"context_line":"  development. That make Operator have confidence to custom his development"},{"line_number":43,"context_line":"  without break User. But that isn\u0027t expected for the Nova stable API as the"},{"line_number":44,"context_line":"  described above."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"  This API also can be used to discover an new feature whether enabled"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7ad32947_3a7cb271","line":43,"updated":"2015-04-28 13:10:25.000000000","message":"break User \u003d\u003e breaking the user experience\n\nas the \u003d\u003e as","commit_id":"c7451732c722e25db6f167dae16467e2a7c09149"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"3871bd6137002b17876b6ef971d0dbc547437421","unresolved":false,"context_lines":[{"line_number":44,"context_line":"  described above."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"  This API also can be used to discover an new feature whether enabled"},{"line_number":47,"context_line":"  in the development. In the V2.1 API, the micro-version can totally instead"},{"line_number":48,"context_line":"  of that. And micro-version not only enable us add new future by"},{"line_number":49,"context_line":"  back-compatible method, also can be added by appropriate back-incompatible"},{"line_number":50,"context_line":"  method."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7ad32947_7a37cab0","line":47,"range":{"start_line":47,"start_character":5,"end_line":47,"end_character":8},"updated":"2015-04-28 13:10:25.000000000","message":"can totally instead \u003d\u003e does not really make sense ...","commit_id":"c7451732c722e25db6f167dae16467e2a7c09149"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"3871bd6137002b17876b6ef971d0dbc547437421","unresolved":false,"context_lines":[{"line_number":44,"context_line":"  described above."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"  This API also can be used to discover an new feature whether enabled"},{"line_number":47,"context_line":"  in the development. In the V2.1 API, the micro-version can totally instead"},{"line_number":48,"context_line":"  of that. And micro-version not only enable us add new future by"},{"line_number":49,"context_line":"  back-compatible method, also can be added by appropriate back-incompatible"},{"line_number":50,"context_line":"  method."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7ad32947_bae7a23f","line":47,"updated":"2015-04-28 13:10:25.000000000","message":"in the \u003d\u003e in","commit_id":"c7451732c722e25db6f167dae16467e2a7c09149"},{"author":{"_account_id":9420,"name":"Matthew Gilliard","email":"matthew.gilliard@hp.com","username":"gilliard"},"change_message_id":"11e849a735924f874ae029b565ffe0371265dded","unresolved":false,"context_lines":[{"line_number":44,"context_line":"  described above."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"  This API also can be used to discover an new feature whether enabled"},{"line_number":47,"context_line":"  in the development. In the V2.1 API, the micro-version can totally instead"},{"line_number":48,"context_line":"  of that. And micro-version not only enable us add new future by"},{"line_number":49,"context_line":"  back-compatible method, also can be added by appropriate back-incompatible"},{"line_number":50,"context_line":"  method."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7ad32947_3a44b272","line":47,"in_reply_to":"7ad32947_7a37cab0","updated":"2015-04-28 13:29:06.000000000","message":"\"can totally instead of\" \u003d\u003e \"can totally replace\", I think.","commit_id":"c7451732c722e25db6f167dae16467e2a7c09149"},{"author":{"_account_id":9420,"name":"Matthew Gilliard","email":"matthew.gilliard@hp.com","username":"gilliard"},"change_message_id":"11e849a735924f874ae029b565ffe0371265dded","unresolved":false,"context_lines":[{"line_number":49,"context_line":"  back-compatible method, also can be added by appropriate back-incompatible"},{"line_number":50,"context_line":"  method."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"  The \u0027/extensions\u0027 API should be freezed and depreciated(keep it just for"},{"line_number":53,"context_line":"  back-compatible) in the future."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* The plugin framework"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7ad32947_55f3bf0a","line":52,"updated":"2015-04-28 13:29:06.000000000","message":"spelling: deprecated","commit_id":"c7451732c722e25db6f167dae16467e2a7c09149"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"125dd37f0bd2bed173ac1ac26bdb22731e1031b1","unresolved":false,"context_lines":[{"line_number":50,"context_line":"  method."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"  The \u0027/extensions\u0027 API should be freezed and depreciated(keep it just for"},{"line_number":53,"context_line":"  back-compatible) in the future."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* The plugin framework"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7ad32947_370f2be3","line":53,"updated":"2015-04-28 12:53:33.000000000","message":"As I mentioned above, I don\u0027t think all upstream extensions(functions) should be enabled on all cloud environments. So at this time, we cannot deprecate /extensions API if we don\u0027t have alternative way like JSON-Home or something.","commit_id":"c7451732c722e25db6f167dae16467e2a7c09149"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"6ce4affecf17ff58566271b1c2bc146c956b33f9","unresolved":false,"context_lines":[{"line_number":50,"context_line":"  method."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"  The \u0027/extensions\u0027 API should be freezed and depreciated(keep it just for"},{"line_number":53,"context_line":"  back-compatible) in the future."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* The plugin framework"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3acd31a7_8d16ceef","line":53,"in_reply_to":"7ad32947_370f2be3","updated":"2015-05-06 09:10:00.000000000","message":"-1 lets get rid of extensions, we don\u0027t need it.","commit_id":"c7451732c722e25db6f167dae16467e2a7c09149"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"3871bd6137002b17876b6ef971d0dbc547437421","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* The plugin framework"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"  The one of improvement in the V2.1 API is consider as use stevedore to load"},{"line_number":58,"context_line":"  Nova REST API extensions instead of old V2 handcraft extension load"},{"line_number":59,"context_line":"  mechansim."},{"line_number":60,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7ad32947_5a3c0e93","line":57,"range":{"start_line":57,"start_character":12,"end_line":57,"end_character":24},"updated":"2015-04-28 13:10:25.000000000","message":"improvement \u003d\u003e  improvements\n\nis consider as use stevedore - does not make sense","commit_id":"c7451732c722e25db6f167dae16467e2a7c09149"},{"author":{"_account_id":9420,"name":"Matthew Gilliard","email":"matthew.gilliard@hp.com","username":"gilliard"},"change_message_id":"11e849a735924f874ae029b565ffe0371265dded","unresolved":false,"context_lines":[{"line_number":63,"context_line":"  the Nova REST API."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"  But The plugin framework is not only for load extension. It is also support"},{"line_number":66,"context_line":"  how to extend REST API Resource. That can make the Nova REST API modularity."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"  Remove the extension from the Nova REST API, not means we put all the code"},{"line_number":69,"context_line":"  into one file, we still need modularity."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7ad32947_fa0cfa43","line":66,"updated":"2015-04-28 13:29:06.000000000","message":"modularity \u003d\u003e modular","commit_id":"c7451732c722e25db6f167dae16467e2a7c09149"},{"author":{"_account_id":9420,"name":"Matthew Gilliard","email":"matthew.gilliard@hp.com","username":"gilliard"},"change_message_id":"11e849a735924f874ae029b565ffe0371265dded","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":"  So Nova team think the plugin should be keeped, Because...blablabla......"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"  So Nova team think the plugin should be removed, Because...blablabla....."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"As the extension will be removed from Nove REST API. So the concept of core API"},{"line_number":76,"context_line":"and extension API is eliminated also. There is no difference between Nova REST"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7ad32947_75d59b41","line":73,"updated":"2015-04-28 13:29:06.000000000","message":"I look forward to reviewing the finished version :)","commit_id":"c7451732c722e25db6f167dae16467e2a7c09149"}],"doc/source/stable_api.rst":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"5c8f7a98027d97f051c7080074a3a774fd7e26d7","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":"* The \u0027/extensions\u0027 API"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"  The user can use it determine what APIs is supported by current openstack"},{"line_number":59,"context_line":"  development. That enables Operator to have confidence to custom his"},{"line_number":60,"context_line":"  deployment without breaking the user experience. But that isn\u0027t expected"},{"line_number":61,"context_line":"  for the Nova stable API as the described above."}],"source_content_type":"text/x-rst","patch_set":5,"id":"5afe65bd_e5dc29e6","line":58,"updated":"2015-06-03 07:25:43.000000000","message":"is \u003d\u003e are","commit_id":"d4a99e9dbd9dde6d8f310eb5d93bc4b5c7143aa2"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"b95a62f9b59d669d85063695ff9fe68f55bfe9f5","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":"* The \u0027/extensions\u0027 API"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"  The user can use it determine what APIs is supported by current openstack"},{"line_number":59,"context_line":"  development. That enables Operator to have confidence to custom his"},{"line_number":60,"context_line":"  deployment without breaking the user experience. But that isn\u0027t expected"},{"line_number":61,"context_line":"  for the Nova stable API as the described above."}],"source_content_type":"text/x-rst","patch_set":5,"id":"5afe65bd_a0305f02","line":58,"in_reply_to":"5afe65bd_e5dc29e6","updated":"2015-06-03 08:06:20.000000000","message":"yea....why I use \u0027is\u0027","commit_id":"d4a99e9dbd9dde6d8f310eb5d93bc4b5c7143aa2"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"5c8f7a98027d97f051c7080074a3a774fd7e26d7","unresolved":false,"context_lines":[{"line_number":56,"context_line":"* The \u0027/extensions\u0027 API"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"  The user can use it determine what APIs is supported by current openstack"},{"line_number":59,"context_line":"  development. That enables Operator to have confidence to custom his"},{"line_number":60,"context_line":"  deployment without breaking the user experience. But that isn\u0027t expected"},{"line_number":61,"context_line":"  for the Nova stable API as the described above."},{"line_number":62,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"5afe65bd_05ece58d","line":59,"range":{"start_line":59,"start_character":28,"end_line":59,"end_character":36},"updated":"2015-06-03 07:25:43.000000000","message":"Operator \u003d\u003e the operarot","commit_id":"d4a99e9dbd9dde6d8f310eb5d93bc4b5c7143aa2"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"5c8f7a98027d97f051c7080074a3a774fd7e26d7","unresolved":false,"context_lines":[{"line_number":56,"context_line":"* The \u0027/extensions\u0027 API"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"  The user can use it determine what APIs is supported by current openstack"},{"line_number":59,"context_line":"  development. That enables Operator to have confidence to custom his"},{"line_number":60,"context_line":"  deployment without breaking the user experience. But that isn\u0027t expected"},{"line_number":61,"context_line":"  for the Nova stable API as the described above."},{"line_number":62,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"5afe65bd_c5fecd37","line":59,"range":{"start_line":59,"start_character":28,"end_line":59,"end_character":36},"updated":"2015-06-03 07:25:43.000000000","message":"custom \u003d\u003e customize","commit_id":"d4a99e9dbd9dde6d8f310eb5d93bc4b5c7143aa2"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"5c8f7a98027d97f051c7080074a3a774fd7e26d7","unresolved":false,"context_lines":[{"line_number":56,"context_line":"* The \u0027/extensions\u0027 API"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"  The user can use it determine what APIs is supported by current openstack"},{"line_number":59,"context_line":"  development. That enables Operator to have confidence to custom his"},{"line_number":60,"context_line":"  deployment without breaking the user experience. But that isn\u0027t expected"},{"line_number":61,"context_line":"  for the Nova stable API as the described above."},{"line_number":62,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"5afe65bd_65ef1988","line":59,"updated":"2015-06-03 07:25:43.000000000","message":"development \u003d\u003e deployment","commit_id":"d4a99e9dbd9dde6d8f310eb5d93bc4b5c7143aa2"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"5c8f7a98027d97f051c7080074a3a774fd7e26d7","unresolved":false,"context_lines":[{"line_number":56,"context_line":"* The \u0027/extensions\u0027 API"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"  The user can use it determine what APIs is supported by current openstack"},{"line_number":59,"context_line":"  development. That enables Operator to have confidence to custom his"},{"line_number":60,"context_line":"  deployment without breaking the user experience. But that isn\u0027t expected"},{"line_number":61,"context_line":"  for the Nova stable API as the described above."},{"line_number":62,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"5afe65bd_a5fd113c","line":59,"range":{"start_line":59,"start_character":28,"end_line":59,"end_character":36},"updated":"2015-06-03 07:25:43.000000000","message":"his \u003d\u003e her/his","commit_id":"d4a99e9dbd9dde6d8f310eb5d93bc4b5c7143aa2"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"b95a62f9b59d669d85063695ff9fe68f55bfe9f5","unresolved":false,"context_lines":[{"line_number":56,"context_line":"* The \u0027/extensions\u0027 API"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"  The user can use it determine what APIs is supported by current openstack"},{"line_number":59,"context_line":"  development. That enables Operator to have confidence to custom his"},{"line_number":60,"context_line":"  deployment without breaking the user experience. But that isn\u0027t expected"},{"line_number":61,"context_line":"  for the Nova stable API as the described above."},{"line_number":62,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"5afe65bd_9bbf16fb","line":59,"in_reply_to":"5afe65bd_05ece58d","updated":"2015-06-03 08:06:20.000000000","message":"Done","commit_id":"d4a99e9dbd9dde6d8f310eb5d93bc4b5c7143aa2"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"b95a62f9b59d669d85063695ff9fe68f55bfe9f5","unresolved":false,"context_lines":[{"line_number":56,"context_line":"* The \u0027/extensions\u0027 API"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"  The user can use it determine what APIs is supported by current openstack"},{"line_number":59,"context_line":"  development. That enables Operator to have confidence to custom his"},{"line_number":60,"context_line":"  deployment without breaking the user experience. But that isn\u0027t expected"},{"line_number":61,"context_line":"  for the Nova stable API as the described above."},{"line_number":62,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"5afe65bd_bbc0927d","line":59,"in_reply_to":"5afe65bd_65ef1988","updated":"2015-06-03 08:06:20.000000000","message":"Done","commit_id":"d4a99e9dbd9dde6d8f310eb5d93bc4b5c7143aa2"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"b95a62f9b59d669d85063695ff9fe68f55bfe9f5","unresolved":false,"context_lines":[{"line_number":56,"context_line":"* The \u0027/extensions\u0027 API"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"  The user can use it determine what APIs is supported by current openstack"},{"line_number":59,"context_line":"  development. That enables Operator to have confidence to custom his"},{"line_number":60,"context_line":"  deployment without breaking the user experience. But that isn\u0027t expected"},{"line_number":61,"context_line":"  for the Nova stable API as the described above."},{"line_number":62,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"5afe65bd_dbc58e8e","line":59,"in_reply_to":"5afe65bd_a5fd113c","updated":"2015-06-03 08:06:20.000000000","message":"Done","commit_id":"d4a99e9dbd9dde6d8f310eb5d93bc4b5c7143aa2"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"b95a62f9b59d669d85063695ff9fe68f55bfe9f5","unresolved":false,"context_lines":[{"line_number":56,"context_line":"* The \u0027/extensions\u0027 API"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"  The user can use it determine what APIs is supported by current openstack"},{"line_number":59,"context_line":"  development. That enables Operator to have confidence to custom his"},{"line_number":60,"context_line":"  deployment without breaking the user experience. But that isn\u0027t expected"},{"line_number":61,"context_line":"  for the Nova stable API as the described above."},{"line_number":62,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"5afe65bd_7bba1a0c","line":59,"in_reply_to":"5afe65bd_c5fecd37","updated":"2015-06-03 08:06:20.000000000","message":"Done","commit_id":"d4a99e9dbd9dde6d8f310eb5d93bc4b5c7143aa2"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"5c8f7a98027d97f051c7080074a3a774fd7e26d7","unresolved":false,"context_lines":[{"line_number":61,"context_line":"  for the Nova stable API as the described above."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"  This API also can be used to discover an new feature whether enabled in the"},{"line_number":64,"context_line":"  deployment. In V2.1 API, the micro-version can totally replace of that. And"},{"line_number":65,"context_line":"  micro-version not only enable us add new future by back-compatible method,"},{"line_number":66,"context_line":"  also can be added by appropriate back-incompatible method."},{"line_number":67,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"5afe65bd_4599bd1e","line":64,"updated":"2015-06-03 07:25:43.000000000","message":"replace of \u003d\u003e replaces","commit_id":"d4a99e9dbd9dde6d8f310eb5d93bc4b5c7143aa2"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"b95a62f9b59d669d85063695ff9fe68f55bfe9f5","unresolved":false,"context_lines":[{"line_number":61,"context_line":"  for the Nova stable API as the described above."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"  This API also can be used to discover an new feature whether enabled in the"},{"line_number":64,"context_line":"  deployment. In V2.1 API, the micro-version can totally replace of that. And"},{"line_number":65,"context_line":"  micro-version not only enable us add new future by back-compatible method,"},{"line_number":66,"context_line":"  also can be added by appropriate back-incompatible method."},{"line_number":67,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"5afe65bd_5b387ea0","line":64,"in_reply_to":"5afe65bd_4599bd1e","updated":"2015-06-03 08:06:20.000000000","message":"Done","commit_id":"d4a99e9dbd9dde6d8f310eb5d93bc4b5c7143aa2"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"5c8f7a98027d97f051c7080074a3a774fd7e26d7","unresolved":false,"context_lines":[{"line_number":62,"context_line":""},{"line_number":63,"context_line":"  This API also can be used to discover an new feature whether enabled in the"},{"line_number":64,"context_line":"  deployment. In V2.1 API, the micro-version can totally replace of that. And"},{"line_number":65,"context_line":"  micro-version not only enable us add new future by back-compatible method,"},{"line_number":66,"context_line":"  also can be added by appropriate back-incompatible method."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"  The \u0027/extensions\u0027 API is freezed in Nova V2.1 API and will be deprecated"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5afe65bd_65bdd967","line":65,"updated":"2015-06-03 07:25:43.000000000","message":"enable us \u003d\u003e enables us to","commit_id":"d4a99e9dbd9dde6d8f310eb5d93bc4b5c7143aa2"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"5c8f7a98027d97f051c7080074a3a774fd7e26d7","unresolved":false,"context_lines":[{"line_number":62,"context_line":""},{"line_number":63,"context_line":"  This API also can be used to discover an new feature whether enabled in the"},{"line_number":64,"context_line":"  deployment. In V2.1 API, the micro-version can totally replace of that. And"},{"line_number":65,"context_line":"  micro-version not only enable us add new future by back-compatible method,"},{"line_number":66,"context_line":"  also can be added by appropriate back-incompatible method."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"  The \u0027/extensions\u0027 API is freezed in Nova V2.1 API and will be deprecated"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5afe65bd_45c09de0","line":65,"range":{"start_line":65,"start_character":25,"end_line":65,"end_character":34},"updated":"2015-06-03 07:25:43.000000000","message":"future \u003d\u003e features","commit_id":"d4a99e9dbd9dde6d8f310eb5d93bc4b5c7143aa2"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"b95a62f9b59d669d85063695ff9fe68f55bfe9f5","unresolved":false,"context_lines":[{"line_number":62,"context_line":""},{"line_number":63,"context_line":"  This API also can be used to discover an new feature whether enabled in the"},{"line_number":64,"context_line":"  deployment. In V2.1 API, the micro-version can totally replace of that. And"},{"line_number":65,"context_line":"  micro-version not only enable us add new future by back-compatible method,"},{"line_number":66,"context_line":"  also can be added by appropriate back-incompatible method."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"  The \u0027/extensions\u0027 API is freezed in Nova V2.1 API and will be deprecated"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5afe65bd_3b3b829e","line":65,"in_reply_to":"5afe65bd_45c09de0","updated":"2015-06-03 08:06:20.000000000","message":"Done","commit_id":"d4a99e9dbd9dde6d8f310eb5d93bc4b5c7143aa2"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"b95a62f9b59d669d85063695ff9fe68f55bfe9f5","unresolved":false,"context_lines":[{"line_number":62,"context_line":""},{"line_number":63,"context_line":"  This API also can be used to discover an new feature whether enabled in the"},{"line_number":64,"context_line":"  deployment. In V2.1 API, the micro-version can totally replace of that. And"},{"line_number":65,"context_line":"  micro-version not only enable us add new future by back-compatible method,"},{"line_number":66,"context_line":"  also can be added by appropriate back-incompatible method."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"  The \u0027/extensions\u0027 API is freezed in Nova V2.1 API and will be deprecated"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5afe65bd_1b420611","line":65,"in_reply_to":"5afe65bd_65bdd967","updated":"2015-06-03 08:06:20.000000000","message":"Done","commit_id":"d4a99e9dbd9dde6d8f310eb5d93bc4b5c7143aa2"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"5c8f7a98027d97f051c7080074a3a774fd7e26d7","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":"* The plugin framework"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"  The one of improvements in the V2.1 API is consider as use stevedore to load"},{"line_number":74,"context_line":"  Nova REST API extensions instead of old V2 handcraft extension load"},{"line_number":75,"context_line":"  mechansim."},{"line_number":76,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"5afe65bd_45677d25","line":73,"updated":"2015-06-03 07:25:43.000000000","message":"consider as \u003d\u003e is using","commit_id":"d4a99e9dbd9dde6d8f310eb5d93bc4b5c7143aa2"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"b95a62f9b59d669d85063695ff9fe68f55bfe9f5","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":"* The plugin framework"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"  The one of improvements in the V2.1 API is consider as use stevedore to load"},{"line_number":74,"context_line":"  Nova REST API extensions instead of old V2 handcraft extension load"},{"line_number":75,"context_line":"  mechansim."},{"line_number":76,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"5afe65bd_9b04b6c0","line":73,"in_reply_to":"5afe65bd_45677d25","updated":"2015-06-03 08:06:20.000000000","message":"Done","commit_id":"d4a99e9dbd9dde6d8f310eb5d93bc4b5c7143aa2"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"5c8f7a98027d97f051c7080074a3a774fd7e26d7","unresolved":false,"context_lines":[{"line_number":71,"context_line":"* The plugin framework"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"  The one of improvements in the V2.1 API is consider as use stevedore to load"},{"line_number":74,"context_line":"  Nova REST API extensions instead of old V2 handcraft extension load"},{"line_number":75,"context_line":"  mechansim."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"  So there is argument about the plugin framework is considered as part of"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5afe65bd_057185e0","line":74,"updated":"2015-06-03 07:25:43.000000000","message":"handcraft \u003d\u003e handcrafted","commit_id":"d4a99e9dbd9dde6d8f310eb5d93bc4b5c7143aa2"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"b95a62f9b59d669d85063695ff9fe68f55bfe9f5","unresolved":false,"context_lines":[{"line_number":71,"context_line":"* The plugin framework"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"  The one of improvements in the V2.1 API is consider as use stevedore to load"},{"line_number":74,"context_line":"  Nova REST API extensions instead of old V2 handcraft extension load"},{"line_number":75,"context_line":"  mechansim."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"  So there is argument about the plugin framework is considered as part of"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5afe65bd_bbf532cc","line":74,"in_reply_to":"5afe65bd_057185e0","updated":"2015-06-03 08:06:20.000000000","message":"Done","commit_id":"d4a99e9dbd9dde6d8f310eb5d93bc4b5c7143aa2"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"5c8f7a98027d97f051c7080074a3a774fd7e26d7","unresolved":false,"context_lines":[{"line_number":84,"context_line":"  Remove the extension from the Nova REST API, not means we put all the code"},{"line_number":85,"context_line":"  into one file, we still need modularity."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"  So Nova team think the plugin should be keeped."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"As the extension will be removed from Nove REST API. So the concept of core API"},{"line_number":90,"context_line":"and extension API is eliminated also. There is no difference between Nova REST"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5afe65bd_857d75b3","line":87,"updated":"2015-06-03 07:25:43.000000000","message":"Not sure I understand this line. keeped \u003d\u003e kept","commit_id":"d4a99e9dbd9dde6d8f310eb5d93bc4b5c7143aa2"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"b95a62f9b59d669d85063695ff9fe68f55bfe9f5","unresolved":false,"context_lines":[{"line_number":84,"context_line":"  Remove the extension from the Nova REST API, not means we put all the code"},{"line_number":85,"context_line":"  into one file, we still need modularity."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"  So Nova team think the plugin should be keeped."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"As the extension will be removed from Nove REST API. So the concept of core API"},{"line_number":90,"context_line":"and extension API is eliminated also. There is no difference between Nova REST"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5afe65bd_7bed7aee","line":87,"in_reply_to":"5afe65bd_857d75b3","updated":"2015-06-03 08:06:20.000000000","message":"let me remove this line, I think we are already describe clearly above.","commit_id":"d4a99e9dbd9dde6d8f310eb5d93bc4b5c7143aa2"},{"author":{"_account_id":9420,"name":"Matthew Gilliard","email":"matthew.gilliard@hp.com","username":"gilliard"},"change_message_id":"d3f2d91c710f9abe40f6d1548cdf8c18ebd32e09","unresolved":false,"context_lines":[{"line_number":52,"context_line":"the REST API."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"The extension is considered as two things in the Nova V2.1 API:"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"* The \u0027/extensions\u0027 API"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"  The user can use it determine what APIs are supported by current openstack"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5afe65bd_fbebaa76","line":55,"updated":"2015-06-03 08:24:23.000000000","message":"Up to this point - I really like this devref.","commit_id":"5de5bcec3ea4e2a402ba04ba3eb43f40c5a57cca"},{"author":{"_account_id":9420,"name":"Matthew Gilliard","email":"matthew.gilliard@hp.com","username":"gilliard"},"change_message_id":"d3f2d91c710f9abe40f6d1548cdf8c18ebd32e09","unresolved":false,"context_lines":[{"line_number":58,"context_line":"  The user can use it determine what APIs are supported by current openstack"},{"line_number":59,"context_line":"  deployment. That enables the operator to have confidence to customize her/his"},{"line_number":60,"context_line":"  deployment without breaking the user experience. But that isn\u0027t expected"},{"line_number":61,"context_line":"  for the Nova stable API as the described above."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"  This API also can be used to discover an new feature whether enabled in the"},{"line_number":64,"context_line":"  deployment. In V2.1 API, the micro-version can totally replaces of that. And"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5afe65bd_fb472a75","line":61,"updated":"2015-06-03 08:24:23.000000000","message":"This section confuses me. We\u0027re talking specifically about the v2.1 api (line 54 says so). So the /extensions api should _not_ be used to determine what features are available, right?  Everything is discoverable using microversions, isn\u0027t it?","commit_id":"5de5bcec3ea4e2a402ba04ba3eb43f40c5a57cca"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"6a12de9c3561dce3e3867400c8792bfd131a710c","unresolved":false,"context_lines":[{"line_number":58,"context_line":"  The user can use it determine what APIs are supported by current openstack"},{"line_number":59,"context_line":"  deployment. That enables the operator to have confidence to customize her/his"},{"line_number":60,"context_line":"  deployment without breaking the user experience. But that isn\u0027t expected"},{"line_number":61,"context_line":"  for the Nova stable API as the described above."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"  This API also can be used to discover an new feature whether enabled in the"},{"line_number":64,"context_line":"  deployment. In V2.1 API, the micro-version can totally replaces of that. And"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3afb71cf_27677b4e","line":61,"in_reply_to":"5afe65bd_fb472a75","updated":"2015-06-10 07:11:57.000000000","message":"yes...I should add word like \u0027before user use it for....\u0027","commit_id":"5de5bcec3ea4e2a402ba04ba3eb43f40c5a57cca"},{"author":{"_account_id":9420,"name":"Matthew Gilliard","email":"matthew.gilliard@hp.com","username":"gilliard"},"change_message_id":"d3f2d91c710f9abe40f6d1548cdf8c18ebd32e09","unresolved":false,"context_lines":[{"line_number":72,"context_line":""},{"line_number":73,"context_line":"  The one of improvements in the V2.1 API is using stevedore to load"},{"line_number":74,"context_line":"  Nova REST API extensions instead of old V2 handcrafted extension load"},{"line_number":75,"context_line":"  mechansim."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"  So there is argument about the plugin framework is considered as part of"},{"line_number":78,"context_line":"  support for extension. From the operator\u0027s view, it enabled a way to custom"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5afe65bd_bb21b2b6","line":75,"updated":"2015-06-03 08:24:23.000000000","message":"Can you explain why we need plugin loading at all? In v2.1 all extensions are always loaded, and microversions are just code which is either present or not. So I don\u0027t see why we need a special \"loading\" mechanism, as there is no operator-configurable behaviour any more.","commit_id":"5de5bcec3ea4e2a402ba04ba3eb43f40c5a57cca"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"f386aa99f45bb60eb5213aa8715039aa82ee367e","unresolved":false,"context_lines":[{"line_number":72,"context_line":""},{"line_number":73,"context_line":"  The one of improvements in the V2.1 API is using stevedore to load"},{"line_number":74,"context_line":"  Nova REST API extensions instead of old V2 handcrafted extension load"},{"line_number":75,"context_line":"  mechansim."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"  So there is argument about the plugin framework is considered as part of"},{"line_number":78,"context_line":"  support for extension. From the operator\u0027s view, it enabled a way to custom"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3afb71cf_8a9196f3","line":75,"in_reply_to":"5afe65bd_bb21b2b6","updated":"2015-06-10 07:39:19.000000000","message":"yea, we needn\u0027t the loading mechanism anymore. I think we leave this at here just for our rest api framework already work very well. I think we shouldn\u0027t spend time to remove it, and rewrite another mechanism to instead of it.","commit_id":"5de5bcec3ea4e2a402ba04ba3eb43f40c5a57cca"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"f4bda3bd453c76146665c31b15f682e69c7e550c","unresolved":false,"context_lines":[{"line_number":35,"context_line":"The code tree of V2 API will be removed in the future also."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"The V2.1 API is the new Nova REST API with a set of improvements which"},{"line_number":38,"context_line":"includes Mircoversion and JSON-Schema. Also the V2.1 API is totally backward"},{"line_number":39,"context_line":"compatible with V2 API (That should be the reason we call it as V2.1 API)."},{"line_number":40,"context_line":"Actually the new Nova REST API\u0027s version won\u0027t stop at \"2.1\", it will bump"},{"line_number":41,"context_line":"for bug fix and new future by Microversion."}],"source_content_type":"text/x-rst","patch_set":7,"id":"3afb71cf_64abdfd7","line":38,"updated":"2015-06-11 17:30:52.000000000","message":"s/JSON-Schema/standardized validation of inputs using JSON-Schema/\n\ns/backward/backwards/","commit_id":"dd44d04e997a27032db902ea20292958f06d843d"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"76dcf97e98d1daca3a7926515610d7abc18158ae","unresolved":false,"context_lines":[{"line_number":35,"context_line":"The code tree of V2 API will be removed in the future also."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"The V2.1 API is the new Nova REST API with a set of improvements which"},{"line_number":38,"context_line":"includes Mircoversion and JSON-Schema. Also the V2.1 API is totally backward"},{"line_number":39,"context_line":"compatible with V2 API (That should be the reason we call it as V2.1 API)."},{"line_number":40,"context_line":"Actually the new Nova REST API\u0027s version won\u0027t stop at \"2.1\", it will bump"},{"line_number":41,"context_line":"for bug fix and new future by Microversion."}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa32b979_14a58145","line":38,"in_reply_to":"3afb71cf_64abdfd7","updated":"2015-06-18 08:20:28.000000000","message":"Done","commit_id":"dd44d04e997a27032db902ea20292958f06d843d"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"f4bda3bd453c76146665c31b15f682e69c7e550c","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"The V2.1 API is the new Nova REST API with a set of improvements which"},{"line_number":38,"context_line":"includes Mircoversion and JSON-Schema. Also the V2.1 API is totally backward"},{"line_number":39,"context_line":"compatible with V2 API (That should be the reason we call it as V2.1 API)."},{"line_number":40,"context_line":"Actually the new Nova REST API\u0027s version won\u0027t stop at \"2.1\", it will bump"},{"line_number":41,"context_line":"for bug fix and new future by Microversion."},{"line_number":42,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"3afb71cf_04e8ab15","line":39,"updated":"2015-06-11 17:30:52.000000000","message":"s/with V2/with the V2/\n\ns/should be/is/","commit_id":"dd44d04e997a27032db902ea20292958f06d843d"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"76dcf97e98d1daca3a7926515610d7abc18158ae","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"The V2.1 API is the new Nova REST API with a set of improvements which"},{"line_number":38,"context_line":"includes Mircoversion and JSON-Schema. Also the V2.1 API is totally backward"},{"line_number":39,"context_line":"compatible with V2 API (That should be the reason we call it as V2.1 API)."},{"line_number":40,"context_line":"Actually the new Nova REST API\u0027s version won\u0027t stop at \"2.1\", it will bump"},{"line_number":41,"context_line":"for bug fix and new future by Microversion."},{"line_number":42,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa32b979_f4801d8d","line":39,"in_reply_to":"3afb71cf_04e8ab15","updated":"2015-06-18 08:20:28.000000000","message":"Done","commit_id":"dd44d04e997a27032db902ea20292958f06d843d"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"f4bda3bd453c76146665c31b15f682e69c7e550c","unresolved":false,"context_lines":[{"line_number":38,"context_line":"includes Mircoversion and JSON-Schema. Also the V2.1 API is totally backward"},{"line_number":39,"context_line":"compatible with V2 API (That should be the reason we call it as V2.1 API)."},{"line_number":40,"context_line":"Actually the new Nova REST API\u0027s version won\u0027t stop at \"2.1\", it will bump"},{"line_number":41,"context_line":"for bug fix and new future by Microversion."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Stable API"},{"line_number":44,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3afb71cf_a4f677f7","line":41,"updated":"2015-06-11 17:30:52.000000000","message":"You can remove this last sentence. It doesn\u0027t really add anything that isn\u0027t fully covered below.","commit_id":"dd44d04e997a27032db902ea20292958f06d843d"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"76dcf97e98d1daca3a7926515610d7abc18158ae","unresolved":false,"context_lines":[{"line_number":38,"context_line":"includes Mircoversion and JSON-Schema. Also the V2.1 API is totally backward"},{"line_number":39,"context_line":"compatible with V2 API (That should be the reason we call it as V2.1 API)."},{"line_number":40,"context_line":"Actually the new Nova REST API\u0027s version won\u0027t stop at \"2.1\", it will bump"},{"line_number":41,"context_line":"for bug fix and new future by Microversion."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Stable API"},{"line_number":44,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa32b979_147ca1b3","line":41,"in_reply_to":"3afb71cf_a4f677f7","updated":"2015-06-18 08:20:28.000000000","message":"Done","commit_id":"dd44d04e997a27032db902ea20292958f06d843d"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"f4bda3bd453c76146665c31b15f682e69c7e550c","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"In the V2 API, there is a concept called \u0027extension\u0027. An operator can use it"},{"line_number":47,"context_line":"to enable/disable part of Nova REST API based on requirements. And end user"},{"line_number":48,"context_line":"may use the \u0027/extensions\u0027 API to discover what is supported by the openstack"},{"line_number":49,"context_line":"deployment."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"Unfortunately, because V2 API extensions could be enabled or disabled"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3afb71cf_e4d34f5e","line":48,"updated":"2015-06-11 17:30:52.000000000","message":"s/use the/query the/\n\ns/what is supported/what *API functionality* is exposed/\n\ns/openstack deployment/Nova deployment/","commit_id":"dd44d04e997a27032db902ea20292958f06d843d"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"76dcf97e98d1daca3a7926515610d7abc18158ae","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"In the V2 API, there is a concept called \u0027extension\u0027. An operator can use it"},{"line_number":47,"context_line":"to enable/disable part of Nova REST API based on requirements. And end user"},{"line_number":48,"context_line":"may use the \u0027/extensions\u0027 API to discover what is supported by the openstack"},{"line_number":49,"context_line":"deployment."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"Unfortunately, because V2 API extensions could be enabled or disabled"}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa32b979_d4507934","line":48,"in_reply_to":"3afb71cf_e4d34f5e","updated":"2015-06-18 08:20:28.000000000","message":"Done","commit_id":"dd44d04e997a27032db902ea20292958f06d843d"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"f4bda3bd453c76146665c31b15f682e69c7e550c","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"* The \u0027/extensions\u0027 API"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"  In V2 API the user can use it determine what APIs are supported by current"},{"line_number":68,"context_line":"  openstack deployment. That enables the operator to have confidence to"},{"line_number":69,"context_line":"  customize her/his deployment without breaking the user experience. But that"},{"line_number":70,"context_line":"  isn\u0027t expected for the Nova stable API as the described above."}],"source_content_type":"text/x-rst","patch_set":7,"id":"3afb71cf_64f51fca","line":67,"updated":"2015-06-11 17:30:52.000000000","message":"s/V2 API/the V2 API/\n\ns/use it determine/query it to determine/\n\ns/by current/by the current/","commit_id":"dd44d04e997a27032db902ea20292958f06d843d"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"76dcf97e98d1daca3a7926515610d7abc18158ae","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"* The \u0027/extensions\u0027 API"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"  In V2 API the user can use it determine what APIs are supported by current"},{"line_number":68,"context_line":"  openstack deployment. That enables the operator to have confidence to"},{"line_number":69,"context_line":"  customize her/his deployment without breaking the user experience. But that"},{"line_number":70,"context_line":"  isn\u0027t expected for the Nova stable API as the described above."}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa32b979_c753e915","line":67,"in_reply_to":"3afb71cf_64f51fca","updated":"2015-06-18 08:20:28.000000000","message":"Done","commit_id":"dd44d04e997a27032db902ea20292958f06d843d"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"f4bda3bd453c76146665c31b15f682e69c7e550c","unresolved":false,"context_lines":[{"line_number":65,"context_line":"* The \u0027/extensions\u0027 API"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"  In V2 API the user can use it determine what APIs are supported by current"},{"line_number":68,"context_line":"  openstack deployment. That enables the operator to have confidence to"},{"line_number":69,"context_line":"  customize her/his deployment without breaking the user experience. But that"},{"line_number":70,"context_line":"  isn\u0027t expected for the Nova stable API as the described above."},{"line_number":71,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"3afb71cf_042b0b35","line":68,"updated":"2015-06-11 17:30:52.000000000","message":"s/openstack deployment/Nova deployment/","commit_id":"dd44d04e997a27032db902ea20292958f06d843d"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"76dcf97e98d1daca3a7926515610d7abc18158ae","unresolved":false,"context_lines":[{"line_number":65,"context_line":"* The \u0027/extensions\u0027 API"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"  In V2 API the user can use it determine what APIs are supported by current"},{"line_number":68,"context_line":"  openstack deployment. That enables the operator to have confidence to"},{"line_number":69,"context_line":"  customize her/his deployment without breaking the user experience. But that"},{"line_number":70,"context_line":"  isn\u0027t expected for the Nova stable API as the described above."},{"line_number":71,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa32b979_c77a0988","line":68,"in_reply_to":"3afb71cf_042b0b35","updated":"2015-06-18 08:20:28.000000000","message":"Done","commit_id":"dd44d04e997a27032db902ea20292958f06d843d"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"f4bda3bd453c76146665c31b15f682e69c7e550c","unresolved":false,"context_lines":[{"line_number":67,"context_line":"  In V2 API the user can use it determine what APIs are supported by current"},{"line_number":68,"context_line":"  openstack deployment. That enables the operator to have confidence to"},{"line_number":69,"context_line":"  customize her/his deployment without breaking the user experience. But that"},{"line_number":70,"context_line":"  isn\u0027t expected for the Nova stable API as the described above."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"  In V2.1 API, the micro-version can totally replaces of that. And"},{"line_number":73,"context_line":"  micro-version not only enable us to add new futures by back-compatible"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3afb71cf_841ffb08","line":70,"updated":"2015-06-11 17:30:52.000000000","message":"I would remove the sentence that start with \"That enables..\" It\u0027s not necessary.","commit_id":"dd44d04e997a27032db902ea20292958f06d843d"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"76dcf97e98d1daca3a7926515610d7abc18158ae","unresolved":false,"context_lines":[{"line_number":67,"context_line":"  In V2 API the user can use it determine what APIs are supported by current"},{"line_number":68,"context_line":"  openstack deployment. That enables the operator to have confidence to"},{"line_number":69,"context_line":"  customize her/his deployment without breaking the user experience. But that"},{"line_number":70,"context_line":"  isn\u0027t expected for the Nova stable API as the described above."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"  In V2.1 API, the micro-version can totally replaces of that. And"},{"line_number":73,"context_line":"  micro-version not only enable us to add new futures by back-compatible"}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa32b979_67a45d07","line":70,"in_reply_to":"3afb71cf_841ffb08","updated":"2015-06-18 08:20:28.000000000","message":"Should we describe the problem of \u0027extensions\u0027?","commit_id":"dd44d04e997a27032db902ea20292958f06d843d"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"f4bda3bd453c76146665c31b15f682e69c7e550c","unresolved":false,"context_lines":[{"line_number":69,"context_line":"  customize her/his deployment without breaking the user experience. But that"},{"line_number":70,"context_line":"  isn\u0027t expected for the Nova stable API as the described above."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"  In V2.1 API, the micro-version can totally replaces of that. And"},{"line_number":73,"context_line":"  micro-version not only enable us to add new futures by back-compatible"},{"line_number":74,"context_line":"  method, also can be added by appropriate back-incompatible method."},{"line_number":75,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"3afb71cf_04b9cbec","line":72,"updated":"2015-06-11 17:30:52.000000000","message":"Recommend re-wording this paragraph to be just this:\n\n In the V2.1 API, microversions enable us to add new features\n in backwards-compatible ways.","commit_id":"dd44d04e997a27032db902ea20292958f06d843d"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"76dcf97e98d1daca3a7926515610d7abc18158ae","unresolved":false,"context_lines":[{"line_number":69,"context_line":"  customize her/his deployment without breaking the user experience. But that"},{"line_number":70,"context_line":"  isn\u0027t expected for the Nova stable API as the described above."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"  In V2.1 API, the micro-version can totally replaces of that. And"},{"line_number":73,"context_line":"  micro-version not only enable us to add new futures by back-compatible"},{"line_number":74,"context_line":"  method, also can be added by appropriate back-incompatible method."},{"line_number":75,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa32b979_875ac1f0","line":72,"in_reply_to":"3afb71cf_04b9cbec","updated":"2015-06-18 08:20:28.000000000","message":"Done","commit_id":"dd44d04e997a27032db902ea20292958f06d843d"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"f4bda3bd453c76146665c31b15f682e69c7e550c","unresolved":false,"context_lines":[{"line_number":73,"context_line":"  micro-version not only enable us to add new futures by back-compatible"},{"line_number":74,"context_line":"  method, also can be added by appropriate back-incompatible method."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"  The \u0027/extensions\u0027 API is freezed in Nova V2.1 API and will be deprecated"},{"line_number":77,"context_line":"  (keep it just for back-compatible) in the future."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"* The plugin framework"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3afb71cf_e4bd8fd8","line":76,"updated":"2015-06-11 17:30:52.000000000","message":"s/is frreezed/is frozen/","commit_id":"dd44d04e997a27032db902ea20292958f06d843d"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"76dcf97e98d1daca3a7926515610d7abc18158ae","unresolved":false,"context_lines":[{"line_number":73,"context_line":"  micro-version not only enable us to add new futures by back-compatible"},{"line_number":74,"context_line":"  method, also can be added by appropriate back-incompatible method."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"  The \u0027/extensions\u0027 API is freezed in Nova V2.1 API and will be deprecated"},{"line_number":77,"context_line":"  (keep it just for back-compatible) in the future."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"* The plugin framework"}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa32b979_27765570","line":76,"in_reply_to":"3afb71cf_e4bd8fd8","updated":"2015-06-18 08:20:28.000000000","message":"Done","commit_id":"dd44d04e997a27032db902ea20292958f06d843d"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"f4bda3bd453c76146665c31b15f682e69c7e550c","unresolved":false,"context_lines":[{"line_number":74,"context_line":"  method, also can be added by appropriate back-incompatible method."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"  The \u0027/extensions\u0027 API is freezed in Nova V2.1 API and will be deprecated"},{"line_number":77,"context_line":"  (keep it just for back-compatible) in the future."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"* The plugin framework"},{"line_number":80,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"3afb71cf_c4a97392","line":77,"updated":"2015-06-11 17:30:52.000000000","message":"Remove \"(keep it just for back-compatible)\"","commit_id":"dd44d04e997a27032db902ea20292958f06d843d"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"76dcf97e98d1daca3a7926515610d7abc18158ae","unresolved":false,"context_lines":[{"line_number":74,"context_line":"  method, also can be added by appropriate back-incompatible method."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"  The \u0027/extensions\u0027 API is freezed in Nova V2.1 API and will be deprecated"},{"line_number":77,"context_line":"  (keep it just for back-compatible) in the future."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"* The plugin framework"},{"line_number":80,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa32b979_67577dca","line":77,"in_reply_to":"3afb71cf_c4a97392","updated":"2015-06-18 08:20:28.000000000","message":"Done","commit_id":"dd44d04e997a27032db902ea20292958f06d843d"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"f4bda3bd453c76146665c31b15f682e69c7e550c","unresolved":false,"context_lines":[{"line_number":78,"context_line":""},{"line_number":79,"context_line":"* The plugin framework"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"  The one of improvements in the V2.1 API is using stevedore to load"},{"line_number":82,"context_line":"  Nova REST API extensions instead of old V2 handcrafted extension load"},{"line_number":83,"context_line":"  mechansim."},{"line_number":84,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"3afb71cf_64919f52","line":81,"updated":"2015-06-11 17:30:52.000000000","message":"s/The one of/One of the/\n\ns/is using stevedore/was using stevedore/","commit_id":"dd44d04e997a27032db902ea20292958f06d843d"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"f4bda3bd453c76146665c31b15f682e69c7e550c","unresolved":false,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":"  The one of improvements in the V2.1 API is using stevedore to load"},{"line_number":82,"context_line":"  Nova REST API extensions instead of old V2 handcrafted extension load"},{"line_number":83,"context_line":"  mechansim."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"  So there is argument about the plugin framework is considered as part of"},{"line_number":86,"context_line":"  support for extension. From the operator\u0027s view, it enabled a way to custom"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3afb71cf_44758330","line":83,"updated":"2015-06-11 17:30:52.000000000","message":"s/mechansim/mechanism/","commit_id":"dd44d04e997a27032db902ea20292958f06d843d"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"76dcf97e98d1daca3a7926515610d7abc18158ae","unresolved":false,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":"  The one of improvements in the V2.1 API is using stevedore to load"},{"line_number":82,"context_line":"  Nova REST API extensions instead of old V2 handcrafted extension load"},{"line_number":83,"context_line":"  mechansim."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"  So there is argument about the plugin framework is considered as part of"},{"line_number":86,"context_line":"  support for extension. From the operator\u0027s view, it enabled a way to custom"}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa32b979_a72fc53d","line":83,"in_reply_to":"3afb71cf_44758330","updated":"2015-06-18 08:20:28.000000000","message":"Done","commit_id":"dd44d04e997a27032db902ea20292958f06d843d"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"f4bda3bd453c76146665c31b15f682e69c7e550c","unresolved":false,"context_lines":[{"line_number":84,"context_line":""},{"line_number":85,"context_line":"  So there is argument about the plugin framework is considered as part of"},{"line_number":86,"context_line":"  support for extension. From the operator\u0027s view, it enabled a way to custom"},{"line_number":87,"context_line":"  the Nova REST API."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"  But The plugin framework is not only for load extension. It is also support"},{"line_number":90,"context_line":"  how to extend REST API Resource. That can make the Nova REST API modular."}],"source_content_type":"text/x-rst","patch_set":7,"id":"3afb71cf_c4ae1381","line":87,"updated":"2015-06-11 17:30:52.000000000","message":"The above paragraph is really awkward. I think you meant this instead?\n\n There was an argument that the plugin framework supported\n extensibility in the Nova API to allow deployers to publish custom\n API resources.","commit_id":"dd44d04e997a27032db902ea20292958f06d843d"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"76dcf97e98d1daca3a7926515610d7abc18158ae","unresolved":false,"context_lines":[{"line_number":84,"context_line":""},{"line_number":85,"context_line":"  So there is argument about the plugin framework is considered as part of"},{"line_number":86,"context_line":"  support for extension. From the operator\u0027s view, it enabled a way to custom"},{"line_number":87,"context_line":"  the Nova REST API."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"  But The plugin framework is not only for load extension. It is also support"},{"line_number":90,"context_line":"  how to extend REST API Resource. That can make the Nova REST API modular."}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa32b979_47d039f6","line":87,"in_reply_to":"3afb71cf_c4ae1381","updated":"2015-06-18 08:20:28.000000000","message":"Done","commit_id":"dd44d04e997a27032db902ea20292958f06d843d"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"f4bda3bd453c76146665c31b15f682e69c7e550c","unresolved":false,"context_lines":[{"line_number":92,"context_line":"  Remove the extension from the Nova REST API, not means we put all the code"},{"line_number":93,"context_line":"  into one file, we still need modularity."},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"  So the existed plugin framework for V2.1 API will be kept for modular."},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"As the extension will be removed from Nove V2.1 REST API. So the concept of"},{"line_number":98,"context_line":"core API and extension API is eliminated also. There is no difference between"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3afb71cf_a438b73e","line":95,"updated":"2015-06-11 17:30:52.000000000","message":"The above three paragraphs can be rewritten to just this:\n\n We will keep the existing plugin mechanisms in place within Nova\n but only to enable modularity in the codebase, not to allow\n extending of the Nova REST API.","commit_id":"dd44d04e997a27032db902ea20292958f06d843d"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"76dcf97e98d1daca3a7926515610d7abc18158ae","unresolved":false,"context_lines":[{"line_number":92,"context_line":"  Remove the extension from the Nova REST API, not means we put all the code"},{"line_number":93,"context_line":"  into one file, we still need modularity."},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"  So the existed plugin framework for V2.1 API will be kept for modular."},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"As the extension will be removed from Nove V2.1 REST API. So the concept of"},{"line_number":98,"context_line":"core API and extension API is eliminated also. There is no difference between"}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa32b979_e7daad16","line":95,"in_reply_to":"3afb71cf_a438b73e","updated":"2015-06-18 08:20:28.000000000","message":"Done","commit_id":"dd44d04e997a27032db902ea20292958f06d843d"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"8f0abc01f31ef0d1a7119f6a72375704eb49258e","unresolved":false,"context_lines":[{"line_number":21,"context_line":"This document describes both the current state of the Nova REST API -- as"},{"line_number":22,"context_line":"of the Kilo release -- and also attempts to describe how the Nova team intends"},{"line_number":23,"context_line":"to evolve the REST API\u0027s implementation over time and remove some of the"},{"line_number":24,"context_line":"cruft that has crept in over the years."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Background"},{"line_number":27,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa32b979_0af79859","line":24,"updated":"2015-06-18 08:51:02.000000000","message":"Personally I would change \"and remove some of the\ncruft that has crept in over the years\". I do not think that we need to bitch about stuff in the past and take our destiny into our own hands.","commit_id":"322c6f398ae2eacd5da0e89a3f1cb634f25f7703"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"0cbcc1aa2c0c0b8db80f677b0e6233be0a204809","unresolved":false,"context_lines":[{"line_number":21,"context_line":"This document describes both the current state of the Nova REST API -- as"},{"line_number":22,"context_line":"of the Kilo release -- and also attempts to describe how the Nova team intends"},{"line_number":23,"context_line":"to evolve the REST API\u0027s implementation over time and remove some of the"},{"line_number":24,"context_line":"cruft that has crept in over the years."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Background"},{"line_number":27,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa32b979_1d8ec427","line":24,"in_reply_to":"fa32b979_0af79859","updated":"2015-06-19 12:58:05.000000000","message":"so its actually important here, while we could re-word it, lets leave that.","commit_id":"322c6f398ae2eacd5da0e89a3f1cb634f25f7703"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"8f0abc01f31ef0d1a7119f6a72375704eb49258e","unresolved":false,"context_lines":[{"line_number":31,"context_line":"/nova/api/openstack/compute/contrib/ directory. Newer code is called the"},{"line_number":32,"context_line":"\"v2.1 API\" and exists in the /nova/api/openstack/compute/plugins directory."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"The V2 API is the old Nova REST API. It will be replaced by V2.1 API totally."},{"line_number":35,"context_line":"The code tree of V2 API will be removed in the future also."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"The V2.1 API is the new Nova REST API with a set of improvements which"}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa32b979_0a8eb8cf","line":34,"updated":"2015-06-18 08:51:02.000000000","message":"you can drop totally here","commit_id":"322c6f398ae2eacd5da0e89a3f1cb634f25f7703"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"8f0abc01f31ef0d1a7119f6a72375704eb49258e","unresolved":false,"context_lines":[{"line_number":35,"context_line":"The code tree of V2 API will be removed in the future also."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"The V2.1 API is the new Nova REST API with a set of improvements which"},{"line_number":38,"context_line":"includes Mircoversion and standardized validation of inputs using JSON-Schema."},{"line_number":39,"context_line":"Also the V2.1 API is totally backwards compatible with the V2 API (That is the"},{"line_number":40,"context_line":"reason we call it as V2.1 API)."},{"line_number":41,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa32b979_4a7600d8","line":38,"updated":"2015-06-18 08:51:02.000000000","message":"includes \u003d\u003e include\nMircoversion \u003d\u003e microversioning","commit_id":"322c6f398ae2eacd5da0e89a3f1cb634f25f7703"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"8f0abc01f31ef0d1a7119f6a72375704eb49258e","unresolved":false,"context_lines":[{"line_number":37,"context_line":"The V2.1 API is the new Nova REST API with a set of improvements which"},{"line_number":38,"context_line":"includes Mircoversion and standardized validation of inputs using JSON-Schema."},{"line_number":39,"context_line":"Also the V2.1 API is totally backwards compatible with the V2 API (That is the"},{"line_number":40,"context_line":"reason we call it as V2.1 API)."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Stable API"},{"line_number":43,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa32b979_0a7c78b3","line":40,"updated":"2015-06-18 08:51:02.000000000","message":"That \u003d\u003e that","commit_id":"322c6f398ae2eacd5da0e89a3f1cb634f25f7703"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"0cbcc1aa2c0c0b8db80f677b0e6233be0a204809","unresolved":false,"context_lines":[{"line_number":37,"context_line":"The V2.1 API is the new Nova REST API with a set of improvements which"},{"line_number":38,"context_line":"includes Mircoversion and standardized validation of inputs using JSON-Schema."},{"line_number":39,"context_line":"Also the V2.1 API is totally backwards compatible with the V2 API (That is the"},{"line_number":40,"context_line":"reason we call it as V2.1 API)."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Stable API"},{"line_number":43,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa32b979_bd9f984f","line":40,"in_reply_to":"fa32b979_0a7c78b3","updated":"2015-06-19 12:58:05.000000000","message":"we can fix these nits later.","commit_id":"322c6f398ae2eacd5da0e89a3f1cb634f25f7703"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"8f0abc01f31ef0d1a7119f6a72375704eb49258e","unresolved":false,"context_lines":[{"line_number":80,"context_line":"  Nova REST API extensions instead of old V2 handcrafted extension load"},{"line_number":81,"context_line":"  mechanisim."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"  There was an argument that the plugin framework supported extensibility in"},{"line_number":84,"context_line":"  the Nova API to allow deployers to publish custom API resources."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"  We will keep the existing plugin mechanisms in place within Nova but only"}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa32b979_ca1e906f","line":83,"updated":"2015-06-18 08:51:02.000000000","message":"lines 83 - 84 can be removed. I do not see any point to indicate that there was an argument :)","commit_id":"322c6f398ae2eacd5da0e89a3f1cb634f25f7703"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"0cbcc1aa2c0c0b8db80f677b0e6233be0a204809","unresolved":false,"context_lines":[{"line_number":80,"context_line":"  Nova REST API extensions instead of old V2 handcrafted extension load"},{"line_number":81,"context_line":"  mechanisim."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"  There was an argument that the plugin framework supported extensibility in"},{"line_number":84,"context_line":"  the Nova API to allow deployers to publish custom API resources."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"  We will keep the existing plugin mechanisms in place within Nova but only"}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa32b979_bde31805","line":83,"in_reply_to":"fa32b979_ca1e906f","updated":"2015-06-19 12:58:05.000000000","message":"we totally need that here I am afraid.","commit_id":"322c6f398ae2eacd5da0e89a3f1cb634f25f7703"}]}
