)]}'
{"doc/source/reference/stable-api.rst":[{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"61a9f051bfa37877920ba71625f126ab261dfe9f","unresolved":false,"context_lines":[{"line_number":19,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":20,"context_line":""},{"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 Pike 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"}],"source_content_type":"text/x-rst","patch_set":5,"id":"df3967d1_75171247","line":23,"range":{"start_line":22,"start_character":71,"end_line":23,"end_character":2},"updated":"2017-08-03 06:18:51.000000000","message":"Maybe we should remove \u0027intends to\u0027, since we already implement all the plan","commit_id":"0fffa47bfc38982e08c90b7c4419a191f23baf6b"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"455bb7b305f549ab1a9d4cb0e3ae78f24d193f53","unresolved":false,"context_lines":[{"line_number":19,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":20,"context_line":""},{"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 Pike 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"}],"source_content_type":"text/x-rst","patch_set":5,"id":"df3967d1_a7e4233d","line":23,"range":{"start_line":22,"start_character":71,"end_line":23,"end_character":2},"in_reply_to":"df3967d1_75171247","updated":"2017-08-03 12:33:44.000000000","message":"Done","commit_id":"0fffa47bfc38982e08c90b7c4419a191f23baf6b"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"61a9f051bfa37877920ba71625f126ab261dfe9f","unresolved":false,"context_lines":[{"line_number":43,"context_line":"Evolution of Nova REST API"},{"line_number":44,"context_line":"--------------------------"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":".. image:: /_static/images/evolution-of-api.png"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Nova v2 API + Extensions"},{"line_number":49,"context_line":"************************"}],"source_content_type":"text/x-rst","patch_set":5,"id":"df3967d1_753032e9","line":46,"updated":"2017-08-03 06:18:51.000000000","message":"In the picture, under the newton release, it said \u0027legacy v2 code is gong\u0027, maybe we should say \"V2 API based V2.1 Compatible mode\". I afraid people confuse on \u0027V2 API\u0027 and \u0027Legacy V2\u0027.","commit_id":"0fffa47bfc38982e08c90b7c4419a191f23baf6b"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"455bb7b305f549ab1a9d4cb0e3ae78f24d193f53","unresolved":false,"context_lines":[{"line_number":43,"context_line":"Evolution of Nova REST API"},{"line_number":44,"context_line":"--------------------------"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":".. image:: /_static/images/evolution-of-api.png"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Nova v2 API + Extensions"},{"line_number":49,"context_line":"************************"}],"source_content_type":"text/x-rst","patch_set":5,"id":"df3967d1_47da174c","line":46,"in_reply_to":"df3967d1_753032e9","updated":"2017-08-03 12:33:44.000000000","message":"Done","commit_id":"0fffa47bfc38982e08c90b7c4419a191f23baf6b"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"61a9f051bfa37877920ba71625f126ab261dfe9f","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":".. image:: /_static/images/evolution-of-api.png"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Nova v2 API + Extensions"},{"line_number":49,"context_line":"************************"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"Nova use to have v2 API. In v2 API, there was a concept called \u0027extension\u0027."}],"source_content_type":"text/x-rst","patch_set":5,"id":"df3967d1_155566fa","line":48,"updated":"2017-08-03 06:18:51.000000000","message":"We can have another section for \"V2 API based on  V2.1 Compatible mode\"","commit_id":"0fffa47bfc38982e08c90b7c4419a191f23baf6b"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"455bb7b305f549ab1a9d4cb0e3ae78f24d193f53","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":".. image:: /_static/images/evolution-of-api.png"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Nova v2 API + Extensions"},{"line_number":49,"context_line":"************************"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"Nova use to have v2 API. In v2 API, there was a concept called \u0027extension\u0027."}],"source_content_type":"text/x-rst","patch_set":5,"id":"df3967d1_07e08ff9","line":48,"in_reply_to":"df3967d1_155566fa","updated":"2017-08-03 12:33:44.000000000","message":"ok, that will be helpful","commit_id":"0fffa47bfc38982e08c90b7c4419a191f23baf6b"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"61a9f051bfa37877920ba71625f126ab261dfe9f","unresolved":false,"context_lines":[{"line_number":88,"context_line":""},{"line_number":89,"context_line":"In Newton release, config options of blacklist and whitelist extensions and"},{"line_number":90,"context_line":"stevedore things were deprecated and marked for removal."},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"The \u0027/extensions\u0027 API exposed the list of enabled API functions to users"},{"line_number":93,"context_line":"by GET method. However as the above, new API extensions should not be added"},{"line_number":94,"context_line":"to the list of this API. The \u0027/extensions\u0027 API is frozen in Nova V2.1 API and"}],"source_content_type":"text/x-rst","patch_set":5,"id":"df3967d1_755ef212","line":91,"updated":"2017-08-03 06:18:51.000000000","message":"and In Pike, finally, we decide to remove the stevedore based plugin framekwork.","commit_id":"0fffa47bfc38982e08c90b7c4419a191f23baf6b"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"455bb7b305f549ab1a9d4cb0e3ae78f24d193f53","unresolved":false,"context_lines":[{"line_number":88,"context_line":""},{"line_number":89,"context_line":"In Newton release, config options of blacklist and whitelist extensions and"},{"line_number":90,"context_line":"stevedore things were deprecated and marked for removal."},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"The \u0027/extensions\u0027 API exposed the list of enabled API functions to users"},{"line_number":93,"context_line":"by GET method. However as the above, new API extensions should not be added"},{"line_number":94,"context_line":"to the list of this API. The \u0027/extensions\u0027 API is frozen in Nova V2.1 API and"}],"source_content_type":"text/x-rst","patch_set":5,"id":"df3967d1_a7ee63ea","line":91,"in_reply_to":"df3967d1_755ef212","updated":"2017-08-03 12:33:44.000000000","message":"Done","commit_id":"0fffa47bfc38982e08c90b7c4419a191f23baf6b"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"61a9f051bfa37877920ba71625f126ab261dfe9f","unresolved":false,"context_lines":[{"line_number":94,"context_line":"to the list of this API. The \u0027/extensions\u0027 API is frozen in Nova V2.1 API and"},{"line_number":95,"context_line":"is deprecated."},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"Plain Router mapping"},{"line_number":98,"context_line":"********************"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"In Pike release, plain routing of url mapping has been implemented"},{"line_number":101,"context_line":"to remove the stevedore logic to load extensions."},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"History"},{"line_number":104,"context_line":"*******"}],"source_content_type":"text/x-rst","patch_set":5,"id":"df3967d1_d5b0fe45","line":101,"range":{"start_line":97,"start_character":0,"end_line":101,"end_character":49},"updated":"2017-08-03 06:18:51.000000000","message":"This doesn\u0027t sounds like same level topic with V2 API and V2.1 API. Maybe we just mention it at line 91\n\nWe can have detail about plain router mapping at http://docs-draft.openstack.org/26/489926/5/check/gate-nova-docs-ubuntu-xenial/22aa6ef//doc/build/html/contributor/api.html","commit_id":"0fffa47bfc38982e08c90b7c4419a191f23baf6b"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"455bb7b305f549ab1a9d4cb0e3ae78f24d193f53","unresolved":false,"context_lines":[{"line_number":94,"context_line":"to the list of this API. The \u0027/extensions\u0027 API is frozen in Nova V2.1 API and"},{"line_number":95,"context_line":"is deprecated."},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"Plain Router mapping"},{"line_number":98,"context_line":"********************"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"In Pike release, plain routing of url mapping has been implemented"},{"line_number":101,"context_line":"to remove the stevedore logic to load extensions."},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"History"},{"line_number":104,"context_line":"*******"}],"source_content_type":"text/x-rst","patch_set":5,"id":"df3967d1_07b9afe7","line":101,"range":{"start_line":97,"start_character":0,"end_line":101,"end_character":49},"in_reply_to":"df3967d1_d5b0fe45","updated":"2017-08-03 12:33:44.000000000","message":"Done","commit_id":"0fffa47bfc38982e08c90b7c4419a191f23baf6b"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"61a9f051bfa37877920ba71625f126ab261dfe9f","unresolved":false,"context_lines":[{"line_number":111,"context_line":" * Stevedore magic to load the extension/plugin dynamically."},{"line_number":112,"context_line":" * Configurable way to enable/disable APIs extensions."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"Current State"},{"line_number":115,"context_line":"-------------"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"Nova v2.1 REST API with Microversion concept is current state of NOVA REST API."},{"line_number":118,"context_line":"The concept of core API and extension API is no more valid and all of them are"},{"line_number":119,"context_line":"part of Nova stable REST API."}],"source_content_type":"text/x-rst","patch_set":5,"id":"df3967d1_f580a248","line":119,"range":{"start_line":114,"start_character":0,"end_line":119,"end_character":29},"updated":"2017-08-03 06:18:51.000000000","message":"Not sure we need this section, since this section doesn\u0027t include all the thing we said before this section...\n\nOr maybe we just say we already implement all the goals? Then people will know the picture about Pike release is the future.","commit_id":"0fffa47bfc38982e08c90b7c4419a191f23baf6b"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"455bb7b305f549ab1a9d4cb0e3ae78f24d193f53","unresolved":false,"context_lines":[{"line_number":111,"context_line":" * Stevedore magic to load the extension/plugin dynamically."},{"line_number":112,"context_line":" * Configurable way to enable/disable APIs extensions."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"Current State"},{"line_number":115,"context_line":"-------------"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"Nova v2.1 REST API with Microversion concept is current state of NOVA REST API."},{"line_number":118,"context_line":"The concept of core API and extension API is no more valid and all of them are"},{"line_number":119,"context_line":"part of Nova stable REST API."}],"source_content_type":"text/x-rst","patch_set":5,"id":"df3967d1_87a7dfa7","line":119,"range":{"start_line":114,"start_character":0,"end_line":119,"end_character":29},"in_reply_to":"df3967d1_f580a248","updated":"2017-08-03 12:33:44.000000000","message":"actually my intent here is to show current state of stable API. and what is currently available. may be i should change heading to \"Current Stable API\"","commit_id":"0fffa47bfc38982e08c90b7c4419a191f23baf6b"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"e5b2c892e02410dcf5679faf29ceb4ee3ed5fc55","unresolved":false,"context_lines":[{"line_number":43,"context_line":"Current Stable API"},{"line_number":44,"context_line":"------------------"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"* Nova v2.1 API + Microversion "},{"line_number":47,"context_line":"* /v2 \u0026 /v2.1 endpoint supported"},{"line_number":48,"context_line":"* v2 compatible mode for old v2 users"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"Evolution of Nova REST API"},{"line_number":51,"context_line":"--------------------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_148f8375","line":48,"range":{"start_line":46,"start_character":0,"end_line":48,"end_character":37},"updated":"2017-08-04 06:05:20.000000000","message":"This a little confuse me. \n\nActually, currently we only have two stable APIs, \u0027Nova V2 API\u0027 and \u0027Nova V2.1 API\u0027.\n\nThe \u0027Nova V2.1 API\u0027 is implemented as V2.1 API(also explain it is backward-compatible with V2 API, but more strict validation). The \u0027Nova V2 API\u0027 is implemented by V2 API and V2.1 legacy v2 compatible mode.","commit_id":"2b0352d68146cb8477ce1a48fa8ac0907625b18b"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"446cd6e8ab9c1764b49a8c3f29d9c75f26342f44","unresolved":false,"context_lines":[{"line_number":43,"context_line":"Current Stable API"},{"line_number":44,"context_line":"------------------"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"* Nova v2.1 API + Microversion "},{"line_number":47,"context_line":"* /v2 \u0026 /v2.1 endpoint supported"},{"line_number":48,"context_line":"* v2 compatible mode for old v2 users"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"Evolution of Nova REST API"},{"line_number":51,"context_line":"--------------------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9f436f4f_dec1c982","line":48,"range":{"start_line":46,"start_character":0,"end_line":48,"end_character":37},"in_reply_to":"df3967d1_148f8375","updated":"2017-08-08 05:52:43.000000000","message":"humm, terms of APIs and endpoints are confusing actually. When we say V2 API it means v2 implementation (correct me if its not true). There is no v2 API as such now, we support /v2 endpoint only by v2 compatible mode.\n\nBut from user point of view, till /v2 is supported it means v2 API is there(they do not know about code). But this doc is mainly for developers and considering v2 API as code implementation might be good.\n\n\u003ealso explain it is backward-compatible with V2 API, but more strict validation\nI will add compatible points.","commit_id":"2b0352d68146cb8477ce1a48fa8ac0907625b18b"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"45e3d90ac246b7848024c79635d730438135947a","unresolved":false,"context_lines":[{"line_number":128,"context_line":"Till Pike release, many deprecated things have been removed and became"},{"line_number":129,"context_line":"history in Nova API world:"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":" * v2 legacy framework."},{"line_number":132,"context_line":" * API extensions concept."},{"line_number":133,"context_line":" * Stevedore magic to load the extension/plugin dynamically."},{"line_number":134,"context_line":" * Configurable way to enable/disable APIs extensions."}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_54fbcb77","line":134,"range":{"start_line":131,"start_character":0,"end_line":134,"end_character":54},"updated":"2017-08-04 06:06:06.000000000","message":"This list doesn\u0027t render correctly. We just need to remove the space before \u0027*\u0027","commit_id":"2b0352d68146cb8477ce1a48fa8ac0907625b18b"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"7e49b2989e55f25b1f84d7147d422ae64cf00f5f","unresolved":false,"context_lines":[{"line_number":78,"context_line":"v2.1 API is exactly same as v2 API except strong input validation with no additional"},{"line_number":79,"context_line":"request parameter allowed and Microversion feature."},{"line_number":80,"context_line":"Since Newton, \u0027/v2\u0027 endpoint also started using v2.1 API implementation. But to keep the"},{"line_number":81,"context_line":"backward compatibility of v2 API, \u0027/v2\u0027 endpoint should not start error on additional"},{"line_number":82,"context_line":"request parameter or any new headers for Microversion. v2 API must be same as it has"},{"line_number":83,"context_line":"been since starting."},{"line_number":84,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"9f436f4f_88c52291","line":81,"range":{"start_line":81,"start_character":60,"end_line":81,"end_character":65},"updated":"2017-08-09 08:59:33.000000000","message":"return?","commit_id":"5d5ee41f15537ad174172590224fcb1d918d6025"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"a2073a2b8de31507e1cfb644bde95a9402ff8f14","unresolved":false,"context_lines":[{"line_number":78,"context_line":"v2.1 API is exactly same as v2 API except strong input validation with no additional"},{"line_number":79,"context_line":"request parameter allowed and Microversion feature."},{"line_number":80,"context_line":"Since Newton, \u0027/v2\u0027 endpoint also started using v2.1 API implementation. But to keep the"},{"line_number":81,"context_line":"backward compatibility of v2 API, \u0027/v2\u0027 endpoint should not start error on additional"},{"line_number":82,"context_line":"request parameter or any new headers for Microversion. v2 API must be same as it has"},{"line_number":83,"context_line":"been since starting."},{"line_number":84,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"9f436f4f_b1f60a8f","line":81,"range":{"start_line":81,"start_character":60,"end_line":81,"end_character":65},"in_reply_to":"9f436f4f_88c52291","updated":"2017-08-09 14:12:46.000000000","message":"Done","commit_id":"5d5ee41f15537ad174172590224fcb1d918d6025"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"7e49b2989e55f25b1f84d7147d422ae64cf00f5f","unresolved":false,"context_lines":[{"line_number":97,"context_line":"input validation using JSON Schema."},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"v2.1 API comes up with microversion concept which is a way to version"},{"line_number":100,"context_line":"the API changes. Each new feature or modification in API has to done"},{"line_number":101,"context_line":"via microversion bump."},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"API extensions concept was deprecated from the v2.1 API, are no longer"},{"line_number":104,"context_line":"needed to evolve the REST API, and no new API functionality should use"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9f436f4f_88ae42e5","line":101,"range":{"start_line":100,"start_character":17,"end_line":101,"end_character":21},"updated":"2017-08-09 08:59:33.000000000","message":"I think modification won\u0027t lead to bump, only backward incompatible modifications will?","commit_id":"5d5ee41f15537ad174172590224fcb1d918d6025"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"a2073a2b8de31507e1cfb644bde95a9402ff8f14","unresolved":false,"context_lines":[{"line_number":97,"context_line":"input validation using JSON Schema."},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"v2.1 API comes up with microversion concept which is a way to version"},{"line_number":100,"context_line":"the API changes. Each new feature or modification in API has to done"},{"line_number":101,"context_line":"via microversion bump."},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"API extensions concept was deprecated from the v2.1 API, are no longer"},{"line_number":104,"context_line":"needed to evolve the REST API, and no new API functionality should use"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9f436f4f_d194ee46","line":101,"range":{"start_line":100,"start_character":17,"end_line":101,"end_character":21},"in_reply_to":"9f436f4f_88ae42e5","updated":"2017-08-09 14:12:46.000000000","message":"no, sometime backward compatible changes also goes in microversion.","commit_id":"5d5ee41f15537ad174172590224fcb1d918d6025"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"3f4c7aa2c19ef167e8a7d8baeb5c284595edfa51","unresolved":false,"context_lines":[{"line_number":97,"context_line":"input validation using JSON Schema."},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"v2.1 API comes up with microversion concept which is a way to version"},{"line_number":100,"context_line":"the API changes. Each new feature or modification in API has to done"},{"line_number":101,"context_line":"via microversion bump."},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"API extensions concept was deprecated from the v2.1 API, are no longer"},{"line_number":104,"context_line":"needed to evolve the REST API, and no new API functionality should use"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9f436f4f_a6311ba5","line":101,"range":{"start_line":100,"start_character":17,"end_line":101,"end_character":21},"in_reply_to":"9f436f4f_d194ee46","updated":"2017-08-10 06:50:12.000000000","message":"sometimes we don\u0027t ... there\u0027s a section in rest api doc talk about the criteria whether we need micorversion or not\n\nso I\u0027d suggest not use \u0027each\u0027 keyword here","commit_id":"5d5ee41f15537ad174172590224fcb1d918d6025"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7426651cfa3370e47129c64a20293e94071f57b4","unresolved":false,"context_lines":[{"line_number":15,"context_line":"      under the License."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Nova Stable REST API"},{"line_number":19,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"This document describes both the current state of the Nova REST API -- as"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9f436f4f_23674628","line":18,"range":{"start_line":18,"start_character":0,"end_line":18,"end_character":20},"updated":"2017-08-10 20:45:30.000000000","message":"Where is this actually linked from? I don\u0027t see it from the home page:\n\nhttp://docs-draft.openstack.org/26/489926/9/check/gate-nova-docs-ubuntu-xenial/24e8cc4//doc/build/html/\n\nThese seem like places I\u0027d find this:\n\nhttps://developer.openstack.org/api-guide/compute/\n\nhttp://docs-draft.openstack.org/26/489926/9/check/gate-nova-docs-ubuntu-xenial/24e8cc4//doc/build/html/contributor/index.html#the-nova-api\n\n--\n\nOh I guess it\u0027s way down here now:\n\nhttp://docs-draft.openstack.org/26/489926/9/check/gate-nova-docs-ubuntu-xenial/24e8cc4//doc/build/html/reference/index.html","commit_id":"a03c66710969a713117b2fcdab960ebdef1f3905"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7426651cfa3370e47129c64a20293e94071f57b4","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"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 Pike release -- and also attempts to describe how the Nova team"},{"line_number":23,"context_line":"evolved 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"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9f436f4f_23f4e65a","line":23,"range":{"start_line":23,"start_character":52,"end_line":23,"end_character":58},"updated":"2017-08-10 20:45:30.000000000","message":"removed, if this is a story of things that are done.","commit_id":"a03c66710969a713117b2fcdab960ebdef1f3905"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7426651cfa3370e47129c64a20293e94071f57b4","unresolved":false,"context_lines":[{"line_number":56,"context_line":"Nova v2 API + Extensions"},{"line_number":57,"context_line":"************************"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"Nova use to have v2 API. In v2 API, there was a concept called \u0027extension\u0027."},{"line_number":60,"context_line":"An operator can use it to enable/disable part of Nova REST API based on requirements."},{"line_number":61,"context_line":"An end user may query the \u0027/extensions\u0027 API to discover what *API functionality* is"},{"line_number":62,"context_line":"supported by the Nova deployment."}],"source_content_type":"text/x-rst","patch_set":9,"id":"9f436f4f_46001802","line":59,"range":{"start_line":59,"start_character":5,"end_line":59,"end_character":8},"updated":"2017-08-10 20:45:30.000000000","message":"used","commit_id":"a03c66710969a713117b2fcdab960ebdef1f3905"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7426651cfa3370e47129c64a20293e94071f57b4","unresolved":false,"context_lines":[{"line_number":67,"context_line":"know what the OpenStack Compute API actually included. No two OpenStack"},{"line_number":68,"context_line":"deployments were consistent, which made cloud interoperability impossible."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"In Newton release, extensions magic was deprecated and marked for removal."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"In Newton release, v2 API code base has been removed and /v2 endpoints were"},{"line_number":73,"context_line":"directed to v2.1 code base."}],"source_content_type":"text/x-rst","patch_set":9,"id":"9f436f4f_863600e6","line":70,"range":{"start_line":70,"start_character":30,"end_line":70,"end_character":35},"updated":"2017-08-10 20:45:30.000000000","message":"Could we be more specific about what is \u0027magic\u0027 here? Is it the stevedore loading nature of the extensions, and/or the fact they were configurable per-deployment so they were \u0027magic\u0027 to the end cloud API user?","commit_id":"a03c66710969a713117b2fcdab960ebdef1f3905"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7426651cfa3370e47129c64a20293e94071f57b4","unresolved":false,"context_lines":[{"line_number":67,"context_line":"know what the OpenStack Compute API actually included. No two OpenStack"},{"line_number":68,"context_line":"deployments were consistent, which made cloud interoperability impossible."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"In Newton release, extensions magic was deprecated and marked for removal."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"In Newton release, v2 API code base has been removed and /v2 endpoints were"},{"line_number":73,"context_line":"directed to v2.1 code base."}],"source_content_type":"text/x-rst","patch_set":9,"id":"9f436f4f_46293888","line":70,"range":{"start_line":70,"start_character":3,"end_line":70,"end_character":9},"updated":"2017-08-10 20:45:30.000000000","message":"the Newton","commit_id":"a03c66710969a713117b2fcdab960ebdef1f3905"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7426651cfa3370e47129c64a20293e94071f57b4","unresolved":false,"context_lines":[{"line_number":69,"context_line":""},{"line_number":70,"context_line":"In Newton release, extensions magic was deprecated and marked for removal."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"In Newton release, v2 API code base has been removed and /v2 endpoints were"},{"line_number":73,"context_line":"directed to v2.1 code base."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"9f436f4f_6631dcec","line":72,"range":{"start_line":72,"start_character":3,"end_line":72,"end_character":9},"updated":"2017-08-10 20:45:30.000000000","message":"the Newton","commit_id":"a03c66710969a713117b2fcdab960ebdef1f3905"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7426651cfa3370e47129c64a20293e94071f57b4","unresolved":false,"context_lines":[{"line_number":69,"context_line":""},{"line_number":70,"context_line":"In Newton release, extensions magic was deprecated and marked for removal."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"In Newton release, v2 API code base has been removed and /v2 endpoints were"},{"line_number":73,"context_line":"directed to v2.1 code base."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"9f436f4f_2651940f","line":72,"range":{"start_line":72,"start_character":36,"end_line":72,"end_character":44},"updated":"2017-08-10 20:45:30.000000000","message":"was","commit_id":"a03c66710969a713117b2fcdab960ebdef1f3905"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7426651cfa3370e47129c64a20293e94071f57b4","unresolved":false,"context_lines":[{"line_number":96,"context_line":"is supposed to be backward compatible with v2 API with strong"},{"line_number":97,"context_line":"input validation using JSON Schema."},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"v2.1 API comes up with microversion concept which is a way to version"},{"line_number":100,"context_line":"the API changes. Each new feature or modification in API has to done"},{"line_number":101,"context_line":"via microversion bump."},{"line_number":102,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"9f436f4f_06f450f1","line":99,"range":{"start_line":99,"start_character":23,"end_line":99,"end_character":35},"updated":"2017-08-10 20:45:30.000000000","message":"The compute API guide also talks about microversions, so we\u0027re probably doubling content a bit:\n\nhttps://developer.openstack.org/api-guide/compute/microversions.html\n\nWe could link to that from this doc, or remove anything redundant in here that is overly detailed and covered in that doc.","commit_id":"a03c66710969a713117b2fcdab960ebdef1f3905"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7426651cfa3370e47129c64a20293e94071f57b4","unresolved":false,"context_lines":[{"line_number":114,"context_line":"In Newton release, config options of blacklist and whitelist extensions and"},{"line_number":115,"context_line":"stevedore things were deprecated and marked for removal."},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"In Pike, stevedore based plugin framekwork has been removed and url mapping"},{"line_number":118,"context_line":"is done with plain router list. No more dynamic magic of detecting API"},{"line_number":119,"context_line":"implementation for url."},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"The \u0027/extensions\u0027 API exposed the list of enabled API functions to users"},{"line_number":122,"context_line":"by GET method. However as the above, new API extensions should not be added"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9f436f4f_466138a9","line":119,"range":{"start_line":117,"start_character":0,"end_line":119,"end_character":23},"updated":"2017-08-10 20:45:30.000000000","message":"We could link to this doc for more details:\n\nhttp://docs-draft.openstack.org/26/489926/9/check/gate-nova-docs-ubuntu-xenial/24e8cc4//doc/build/html/contributor/api.html","commit_id":"a03c66710969a713117b2fcdab960ebdef1f3905"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7426651cfa3370e47129c64a20293e94071f57b4","unresolved":false,"context_lines":[{"line_number":120,"context_line":""},{"line_number":121,"context_line":"The \u0027/extensions\u0027 API exposed the list of enabled API functions to users"},{"line_number":122,"context_line":"by GET method. However as the above, new API extensions should not be added"},{"line_number":123,"context_line":"to the list of this API. The \u0027/extensions\u0027 API is frozen in Nova V2.1 API and"},{"line_number":124,"context_line":"is deprecated."},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"Things which are History now"},{"line_number":127,"context_line":"****************************"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9f436f4f_6669dc89","line":124,"range":{"start_line":123,"start_character":74,"end_line":124,"end_character":14},"updated":"2017-08-10 20:45:30.000000000","message":"OK, that\u0027s this:\n\nhttps://developer.openstack.org/api-ref/compute/#extensions-extensions-deprecated","commit_id":"a03c66710969a713117b2fcdab960ebdef1f3905"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7426651cfa3370e47129c64a20293e94071f57b4","unresolved":false,"context_lines":[{"line_number":126,"context_line":"Things which are History now"},{"line_number":127,"context_line":"****************************"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"Till Pike release, many deprecated things have been removed and became"},{"line_number":130,"context_line":"history in Nova API world:"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"* v2 legacy framework."}],"source_content_type":"text/x-rst","patch_set":9,"id":"9f436f4f_260994dc","line":129,"range":{"start_line":129,"start_character":0,"end_line":129,"end_character":4},"updated":"2017-08-10 20:45:30.000000000","message":"Is this up until the Pike release, or as of the Pike release? Looks like the latter, but \"until\" is confusing here then.","commit_id":"a03c66710969a713117b2fcdab960ebdef1f3905"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7426651cfa3370e47129c64a20293e94071f57b4","unresolved":false,"context_lines":[{"line_number":129,"context_line":"Till Pike release, many deprecated things have been removed and became"},{"line_number":130,"context_line":"history in Nova API world:"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"* v2 legacy framework."},{"line_number":133,"context_line":"* API extensions concept."},{"line_number":134,"context_line":"* Stevedore magic to load the extension/plugin dynamically."},{"line_number":135,"context_line":"* Configurable way to enable/disable APIs extensions."}],"source_content_type":"text/x-rst","patch_set":9,"id":"9f436f4f_a61d8410","line":132,"range":{"start_line":132,"start_character":21,"end_line":132,"end_character":22},"updated":"2017-08-10 20:45:30.000000000","message":"nit: drop periods in bulleted lists with a single sentence","commit_id":"a03c66710969a713117b2fcdab960ebdef1f3905"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7426651cfa3370e47129c64a20293e94071f57b4","unresolved":false,"context_lines":[{"line_number":131,"context_line":""},{"line_number":132,"context_line":"* v2 legacy framework."},{"line_number":133,"context_line":"* API extensions concept."},{"line_number":134,"context_line":"* Stevedore magic to load the extension/plugin dynamically."},{"line_number":135,"context_line":"* Configurable way to enable/disable APIs extensions."}],"source_content_type":"text/x-rst","patch_set":9,"id":"9f436f4f_06de903e","line":134,"range":{"start_line":134,"start_character":2,"end_line":134,"end_character":11},"updated":"2017-08-10 20:45:30.000000000","message":"stevedore","commit_id":"a03c66710969a713117b2fcdab960ebdef1f3905"}]}
