)]}'
{"specs/newton/approved/api-no-more-extensions.rst":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"dca57819162605cd6472384840438772cef3d52e","unresolved":false,"context_lines":[{"line_number":30,"context_line":"can now very easily have a home to collaborate and thrive."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"With thousands of OpenStack clouds in the wild, interoperability is a"},{"line_number":33,"context_line":"key important value for OpenStack\u0027s long term success. It is want"},{"line_number":34,"context_line":"enables an Application Ecosystem consuming standard OpenStack APIs to"},{"line_number":35,"context_line":"thrive, which further expands the OpenStack ecosystem."},{"line_number":36,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7aa08908_025de146","line":33,"range":{"start_line":33,"start_character":61,"end_line":33,"end_character":65},"updated":"2016-06-13 14:02:18.000000000","message":"s/want/what/","commit_id":"8950b581b39ab42955a2a625af7a3c42e0ebaa76"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"c7d1774dbf34fb6aeb995d32904dc82e50b707ee","unresolved":false,"context_lines":[{"line_number":52,"context_line":"involved in the upstream conversations around API changes, because"},{"line_number":53,"context_line":"they had the option to just turn things off later. Even worse, it"},{"line_number":54,"context_line":"makes it easy to change things like servers, which makes our API"},{"line_number":55,"context_line":"definitions of these critical resources not guarunteed to be"},{"line_number":56,"context_line":"universal."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"In the pre microversion days the extensions facility was used as a"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7aa08908_e28095c1","line":55,"range":{"start_line":55,"start_character":44,"end_line":55,"end_character":54},"updated":"2016-06-13 14:10:09.000000000","message":"that doesn\u0027t looks quite right.","commit_id":"8950b581b39ab42955a2a625af7a3c42e0ebaa76"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"c7d1774dbf34fb6aeb995d32904dc82e50b707ee","unresolved":false,"context_lines":[{"line_number":72,"context_line":"understandable so that it is easy to ensure future changes don\u0027t break"},{"line_number":73,"context_line":"existing users."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"As a create of OpenStack Applications, I would like convergence in the"},{"line_number":76,"context_line":"APIs of OpenStack to make it possible for my OpenStack Application to"},{"line_number":77,"context_line":"be used broadly in public and private clouds."},{"line_number":78,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7aa08908_22dd7de0","line":75,"range":{"start_line":75,"start_character":5,"end_line":75,"end_character":11},"updated":"2016-06-13 14:10:09.000000000","message":"creator or developer?","commit_id":"8950b581b39ab42955a2a625af7a3c42e0ebaa76"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"237881e3afae2b910b523fbc132f209ff0dfecbb","unresolved":false,"context_lines":[{"line_number":72,"context_line":"understandable so that it is easy to ensure future changes don\u0027t break"},{"line_number":73,"context_line":"existing users."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"As a create of OpenStack Applications, I would like convergence in the"},{"line_number":76,"context_line":"APIs of OpenStack to make it possible for my OpenStack Application to"},{"line_number":77,"context_line":"be used broadly in public and private clouds."},{"line_number":78,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7aa08908_3d15a2e4","line":75,"range":{"start_line":75,"start_character":5,"end_line":75,"end_character":11},"updated":"2016-06-13 14:27:01.000000000","message":"s/create/creator/","commit_id":"8950b581b39ab42955a2a625af7a3c42e0ebaa76"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"c7d1774dbf34fb6aeb995d32904dc82e50b707ee","unresolved":false,"context_lines":[{"line_number":110,"context_line":"modification facilities."},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"In Ocata we will eliminate the remaining API extension loading"},{"line_number":113,"context_line":"points."},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"Alternatives"},{"line_number":116,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7aa08908_dd061e1b","line":113,"updated":"2016-06-13 14:10:09.000000000","message":"Maybe add an example of those other things, so its clear whats left in Ocata? I think it is the system that adds new resources as extensions?","commit_id":"8950b581b39ab42955a2a625af7a3c42e0ebaa76"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"237881e3afae2b910b523fbc132f209ff0dfecbb","unresolved":false,"context_lines":[{"line_number":136,"context_line":"was a policy point made for every extension, even if that extension"},{"line_number":137,"context_line":"merely added a *single* display attribute to the servers"},{"line_number":138,"context_line":"structure. These policy rules will largely be removed, and each"},{"line_number":139,"context_line":"removal will include a reno. Judgement will be used when we appear to"},{"line_number":140,"context_line":"be exposing a sensitive element, and in those cases we\u0027ll leave some"},{"line_number":141,"context_line":"policy control over it."},{"line_number":142,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7aa08908_5dc22e35","line":139,"range":{"start_line":139,"start_character":23,"end_line":139,"end_character":27},"updated":"2016-06-13 14:27:01.000000000","message":"nit: For non-developers reading this, I might just say release note.","commit_id":"8950b581b39ab42955a2a625af7a3c42e0ebaa76"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"c7d1774dbf34fb6aeb995d32904dc82e50b707ee","unresolved":false,"context_lines":[{"line_number":138,"context_line":"structure. These policy rules will largely be removed, and each"},{"line_number":139,"context_line":"removal will include a reno. Judgement will be used when we appear to"},{"line_number":140,"context_line":"be exposing a sensitive element, and in those cases we\u0027ll leave some"},{"line_number":141,"context_line":"policy control over it."},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"Notifications impact"},{"line_number":144,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7aa08908_dd0c5eee","line":141,"updated":"2016-06-13 14:10:09.000000000","message":"+1, lets not go through the details here, this is a case by case thing.","commit_id":"8950b581b39ab42955a2a625af7a3c42e0ebaa76"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"237881e3afae2b910b523fbc132f209ff0dfecbb","unresolved":false,"context_lines":[{"line_number":180,"context_line":"Upstream your needs"},{"line_number":181,"context_line":"-------------------"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"Come with you needs to the upstream community. We have a pretty well"},{"line_number":184,"context_line":"established facility for adding features to the API now, and have been"},{"line_number":185,"context_line":"landing about 10 microversions per release since it\u0027s inception. If"},{"line_number":186,"context_line":"your change to the resource model is really something that"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7aa08908_d83e2c8a","line":183,"range":{"start_line":183,"start_character":10,"end_line":183,"end_character":13},"updated":"2016-06-13 14:27:01.000000000","message":"s/you/your/","commit_id":"8950b581b39ab42955a2a625af7a3c42e0ebaa76"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"c7d1774dbf34fb6aeb995d32904dc82e50b707ee","unresolved":false,"context_lines":[{"line_number":212,"context_line":"come up with a generic facility that supports your use. Even if that"},{"line_number":213,"context_line":"is simply adding additional URL sized fields that allows references to"},{"line_number":214,"context_line":"additional services."},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"Implementation"},{"line_number":217,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":218,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7aa08908_9dd49620","line":215,"updated":"2016-06-13 14:10:09.000000000","message":"++ all that","commit_id":"8950b581b39ab42955a2a625af7a3c42e0ebaa76"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"c7d1774dbf34fb6aeb995d32904dc82e50b707ee","unresolved":false,"context_lines":[{"line_number":224,"context_line":"Work Items"},{"line_number":225,"context_line":"----------"},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"TBD"},{"line_number":228,"context_line":""},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7aa08908_bddfd238","line":227,"updated":"2016-06-13 14:10:09.000000000","message":"Nit: we should put something here.","commit_id":"8950b581b39ab42955a2a625af7a3c42e0ebaa76"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"237881e3afae2b910b523fbc132f209ff0dfecbb","unresolved":false,"context_lines":[{"line_number":224,"context_line":"Work Items"},{"line_number":225,"context_line":"----------"},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"TBD"},{"line_number":228,"context_line":""},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7aa08908_d823cc56","line":227,"range":{"start_line":227,"start_character":0,"end_line":227,"end_character":3},"updated":"2016-06-13 14:27:01.000000000","message":"The history above shows a bunch of this is already done, I think what\u0027s probably remaining is the folding of the existing extensions into the main flows, and then in ocata dropping the stevedore plugin ability altogether.","commit_id":"8950b581b39ab42955a2a625af7a3c42e0ebaa76"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"c7d1774dbf34fb6aeb995d32904dc82e50b707ee","unresolved":false,"context_lines":[{"line_number":247,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"The documentation mostly already reflects this reality. We no longer"},{"line_number":250,"context_line":"talk about the extensions facility in Nova publicly."},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"References"},{"line_number":253,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7aa08908_9da2d6ac","line":250,"updated":"2016-06-13 14:10:09.000000000","message":"You could argue some of the structure is still extensions rather than resource based, but lets not expand the scope here, that is covered elsewhere.","commit_id":"8950b581b39ab42955a2a625af7a3c42e0ebaa76"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"256a27511e82c1b87b6f6a265e110bd672b607bb","unresolved":false,"context_lines":[{"line_number":44,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"The Nova API extensions framework encourages all the wrong behavior in"},{"line_number":47,"context_line":"deploying Nova. It adds a ton of really complicated code debt, that"},{"line_number":48,"context_line":"few people understand, and requires Nova not use any of the standard"},{"line_number":49,"context_line":"wsgi frameworks. It encourages people to add new resources to Nova,"},{"line_number":50,"context_line":"out of tree, instead of collaborating around common constructs in"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7aa08908_7ff9d44d","line":47,"range":{"start_line":47,"start_character":19,"end_line":47,"end_character":23},"updated":"2016-06-13 18:37:53.000000000","message":"\"adds\" seems wrong here. Perhaps \"brings\" or \"encompasses\". It sounds like you\u0027re talking about something being proposed that adds complexity, instead of something we currently carry which does.","commit_id":"a88cfec3b43e0f59e57c39b720815c88ef18a620"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"256a27511e82c1b87b6f6a265e110bd672b607bb","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"The Nova API extensions framework encourages all the wrong behavior in"},{"line_number":47,"context_line":"deploying Nova. It adds a ton of really complicated code debt, that"},{"line_number":48,"context_line":"few people understand, and requires Nova not use any of the standard"},{"line_number":49,"context_line":"wsgi frameworks. It encourages people to add new resources to Nova,"},{"line_number":50,"context_line":"out of tree, instead of collaborating around common constructs in"},{"line_number":51,"context_line":"Nova, or a common separate service. It discourages people to be"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7aa08908_dfa0c844","line":48,"range":{"start_line":48,"start_character":27,"end_line":48,"end_character":35},"updated":"2016-06-13 18:37:53.000000000","message":"\"requires that\" ?","commit_id":"a88cfec3b43e0f59e57c39b720815c88ef18a620"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"256a27511e82c1b87b6f6a265e110bd672b607bb","unresolved":false,"context_lines":[{"line_number":48,"context_line":"few people understand, and requires Nova not use any of the standard"},{"line_number":49,"context_line":"wsgi frameworks. It encourages people to add new resources to Nova,"},{"line_number":50,"context_line":"out of tree, instead of collaborating around common constructs in"},{"line_number":51,"context_line":"Nova, or a common separate service. It discourages people to be"},{"line_number":52,"context_line":"involved in the upstream conversations around API changes, because"},{"line_number":53,"context_line":"they had the option to just turn things off later. Even worse, it"},{"line_number":54,"context_line":"makes it easy to change core objects like servers or flavors, and"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7aa08908_9fc120e7","line":51,"range":{"start_line":51,"start_character":58,"end_line":51,"end_character":63},"updated":"2016-06-13 18:37:53.000000000","message":"\"from being\"","commit_id":"a88cfec3b43e0f59e57c39b720815c88ef18a620"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"256a27511e82c1b87b6f6a265e110bd672b607bb","unresolved":false,"context_lines":[{"line_number":50,"context_line":"out of tree, instead of collaborating around common constructs in"},{"line_number":51,"context_line":"Nova, or a common separate service. It discourages people to be"},{"line_number":52,"context_line":"involved in the upstream conversations around API changes, because"},{"line_number":53,"context_line":"they had the option to just turn things off later. Even worse, it"},{"line_number":54,"context_line":"makes it easy to change core objects like servers or flavors, and"},{"line_number":55,"context_line":"change their behavior and representation."},{"line_number":56,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7aa08908_1faed02d","line":53,"range":{"start_line":53,"start_character":5,"end_line":53,"end_character":8},"updated":"2016-06-13 18:37:53.000000000","message":"\"have\"","commit_id":"a88cfec3b43e0f59e57c39b720815c88ef18a620"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"256a27511e82c1b87b6f6a265e110bd672b607bb","unresolved":false,"context_lines":[{"line_number":54,"context_line":"makes it easy to change core objects like servers or flavors, and"},{"line_number":55,"context_line":"change their behavior and representation."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"In the pre microversion days the extensions facility was used as a"},{"line_number":58,"context_line":"really terrible versioning mechanism in tree, which led to a model of"},{"line_number":59,"context_line":"extensions on extensions on extensions to attempt to make the API"},{"line_number":60,"context_line":"discoverable in some way. We changed tact 4 cycles ago and built an"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7aa08908_3f78ecc3","line":57,"range":{"start_line":57,"start_character":7,"end_line":57,"end_character":23},"updated":"2016-06-13 18:37:53.000000000","message":"\"pre-microversion\"","commit_id":"a88cfec3b43e0f59e57c39b720815c88ef18a620"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"256a27511e82c1b87b6f6a265e110bd672b607bb","unresolved":false,"context_lines":[{"line_number":85,"context_line":"from the documentation -"},{"line_number":86,"context_line":"http://docs.openstack.org/developer/nova/stable_api.html. In Liberty"},{"line_number":87,"context_line":"we also deprecated the use of the v2 legacy code stack (which most"},{"line_number":88,"context_line":"extensions were written against). This was an attempt to stem the tide"},{"line_number":89,"context_line":"of new folks to the OpenStack Ecosystem."},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"In Mitaka we deprecated the configuration options in the v2.1 that"},{"line_number":92,"context_line":"allowed configuration based control of which extensions are"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7aa08908_1f2370be","line":89,"range":{"start_line":88,"start_character":34,"end_line":89,"end_character":40},"updated":"2016-06-13 18:37:53.000000000","message":"You\u0027re not stemming the tide of new folks, you\u0027re stemming the tide of new folks thinking our api is extensible, right?","commit_id":"a88cfec3b43e0f59e57c39b720815c88ef18a620"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"256a27511e82c1b87b6f6a265e110bd672b607bb","unresolved":false,"context_lines":[{"line_number":88,"context_line":"extensions were written against). This was an attempt to stem the tide"},{"line_number":89,"context_line":"of new folks to the OpenStack Ecosystem."},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"In Mitaka we deprecated the configuration options in the v2.1 that"},{"line_number":92,"context_line":"allowed configuration based control of which extensions are"},{"line_number":93,"context_line":"loaded. This was an additional signal of this direction."},{"line_number":94,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7aa08908_9f1da075","line":91,"range":{"start_line":91,"start_character":52,"end_line":91,"end_character":61},"updated":"2016-06-13 18:37:53.000000000","message":"\"the v2.1 API\"","commit_id":"a88cfec3b43e0f59e57c39b720815c88ef18a620"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"256a27511e82c1b87b6f6a265e110bd672b607bb","unresolved":false,"context_lines":[{"line_number":103,"context_line":""},{"line_number":104,"context_line":"In Newton we will eliminate the ability to stevedore load extensions"},{"line_number":105,"context_line":"that modify existing resources (servers / flavors), and start"},{"line_number":106,"context_line":"refolding these extensions into the core servers / flavors code. This"},{"line_number":107,"context_line":"will greatly simplify the API code stack and testing, and make future"},{"line_number":108,"context_line":"additions much easier. We will remove the pre / post resource"},{"line_number":109,"context_line":"modification facilities."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7aa08908_0206731b","line":106,"range":{"start_line":106,"start_character":0,"end_line":106,"end_character":9},"updated":"2016-06-13 18:37:53.000000000","message":"\"re-folding\" ?","commit_id":"a88cfec3b43e0f59e57c39b720815c88ef18a620"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"783d2d4a1eab3d1b52026fdf561a2e77cb5bf64f","unresolved":false,"context_lines":[{"line_number":113,"context_line":"@wsgi.extends facility used by extensions to modify the requests /"},{"line_number":114,"context_line":"responses of other parts of the API."},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"In Ocata we will eliminate the used of the \"nova.api.v21.extensions\""},{"line_number":117,"context_line":"stevedore hook. This is postponed to Ocata mostly because the removal"},{"line_number":118,"context_line":"of the extends facility is a higher priority, and based on the work"},{"line_number":119,"context_line":"ahead of us, it\u0027s not realistic that we\u0027d get this far in Newton."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7aa08908_ff782480","line":116,"range":{"start_line":116,"start_character":31,"end_line":116,"end_character":35},"updated":"2016-06-13 18:18:55.000000000","message":"s/used/use/","commit_id":"a88cfec3b43e0f59e57c39b720815c88ef18a620"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"256a27511e82c1b87b6f6a265e110bd672b607bb","unresolved":false,"context_lines":[{"line_number":121,"context_line":"Alternatives"},{"line_number":122,"context_line":"------------"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"We could keep the status quo. However, this has been long term"},{"line_number":125,"context_line":"direction for standardization of Nova."},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"Alternatives for extension owners"},{"line_number":128,"context_line":"---------------------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7aa08908_423b5bd1","line":125,"range":{"start_line":124,"start_character":0,"end_line":125,"end_character":38},"updated":"2016-06-13 18:37:53.000000000","message":"I propose you remove this as an alternative, since it\u0027s not :)","commit_id":"a88cfec3b43e0f59e57c39b720815c88ef18a620"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"256a27511e82c1b87b6f6a265e110bd672b607bb","unresolved":false,"context_lines":[{"line_number":148,"context_line":"^^^^^^^^^^^^^^^^^^^"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"If you were just using the extension facility to add brand new"},{"line_number":151,"context_line":"resources to Nova, can easily be done in a new service with a new"},{"line_number":152,"context_line":"endpoint. If these are resources that reference servers, the validity"},{"line_number":153,"context_line":"of those servers can be checked using a Nova API call much in the same"},{"line_number":154,"context_line":"way that Neutron / Nova / Cinder cross communicate."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7aa08908_02a2f3fb","line":151,"range":{"start_line":151,"start_character":19,"end_line":151,"end_character":22},"updated":"2016-06-13 18:37:53.000000000","message":"\"that can just as\" ?","commit_id":"a88cfec3b43e0f59e57c39b720815c88ef18a620"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"256a27511e82c1b87b6f6a265e110bd672b607bb","unresolved":false,"context_lines":[{"line_number":151,"context_line":"resources to Nova, can easily be done in a new service with a new"},{"line_number":152,"context_line":"endpoint. If these are resources that reference servers, the validity"},{"line_number":153,"context_line":"of those servers can be checked using a Nova API call much in the same"},{"line_number":154,"context_line":"way that Neutron / Nova / Cinder cross communicate."},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"If there are additional elements of the Nova data model which need to"},{"line_number":157,"context_line":"be exposed via the API, or via notifications, please bring these"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7aa08908_22ad6fe9","line":154,"range":{"start_line":154,"start_character":33,"end_line":154,"end_character":50},"updated":"2016-06-13 18:37:53.000000000","message":"\"cross-communicate\"","commit_id":"a88cfec3b43e0f59e57c39b720815c88ef18a620"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"256a27511e82c1b87b6f6a265e110bd672b607bb","unresolved":false,"context_lines":[{"line_number":187,"context_line":"was a policy point made for every extension, even if that extension"},{"line_number":188,"context_line":"merely added a *single* display attribute to the servers"},{"line_number":189,"context_line":"structure. These policy rules will largely be removed, and each"},{"line_number":190,"context_line":"removal will include a release note. Judgement will be used when we"},{"line_number":191,"context_line":"appear to be exposing a sensitive element, and in those cases we\u0027ll"},{"line_number":192,"context_line":"leave some policy control over it."},{"line_number":193,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7aa08908_22944f89","line":190,"range":{"start_line":190,"start_character":37,"end_line":190,"end_character":46},"updated":"2016-06-13 18:37:53.000000000","message":"\"judgment\"","commit_id":"a88cfec3b43e0f59e57c39b720815c88ef18a620"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"256a27511e82c1b87b6f6a265e110bd672b607bb","unresolved":false,"context_lines":[{"line_number":199,"context_line":"Other end user impact"},{"line_number":200,"context_line":"---------------------"},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"From an end user perspective this massively moves forward knowing"},{"line_number":203,"context_line":"exactly what you will get from the compute API."},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"Performance Impact"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7aa08908_62e1372a","line":202,"range":{"start_line":202,"start_character":34,"end_line":202,"end_character":65},"updated":"2016-06-13 18:37:53.000000000","message":"This is really clumsy (for me) to read.","commit_id":"a88cfec3b43e0f59e57c39b720815c88ef18a620"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"256a27511e82c1b87b6f6a265e110bd672b607bb","unresolved":false,"context_lines":[{"line_number":206,"context_line":"------------------"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"This simplication of resource processing may lead to better"},{"line_number":209,"context_line":"performance on the API. However performance is not a leading driver"},{"line_number":210,"context_line":"here."},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"Other deployer impact"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7aa08908_a2d5df43","line":209,"range":{"start_line":209,"start_character":12,"end_line":209,"end_character":14},"updated":"2016-06-13 18:37:53.000000000","message":"\"of\"","commit_id":"a88cfec3b43e0f59e57c39b720815c88ef18a620"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"256a27511e82c1b87b6f6a265e110bd672b607bb","unresolved":false,"context_lines":[{"line_number":234,"context_line":""},{"line_number":235,"context_line":"Newton"},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"* Fold in tree server extensions back into the main servers.py flow"},{"line_number":238,"context_line":"  (the hard part is getting unit tests to pass)"},{"line_number":239,"context_line":"* Remove wsgi.extends support on servers resources"},{"line_number":240,"context_line":"* Remove loading of nova.api.v21.extensions.server.* content"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7aa08908_023e738a","line":237,"range":{"start_line":237,"start_character":7,"end_line":237,"end_character":14},"updated":"2016-06-13 18:37:53.000000000","message":"\"in-tree\"","commit_id":"a88cfec3b43e0f59e57c39b720815c88ef18a620"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"256a27511e82c1b87b6f6a265e110bd672b607bb","unresolved":false,"context_lines":[{"line_number":238,"context_line":"  (the hard part is getting unit tests to pass)"},{"line_number":239,"context_line":"* Remove wsgi.extends support on servers resources"},{"line_number":240,"context_line":"* Remove loading of nova.api.v21.extensions.server.* content"},{"line_number":241,"context_line":"* Fold in tree flavor extensions back into the main flavors.py flow"},{"line_number":242,"context_line":"* Remove wsgi.extends support on flavors"},{"line_number":243,"context_line":"* Remove pre_process / post_process resource logic from wsgi stack"},{"line_number":244,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7aa08908_2249ef31","line":241,"range":{"start_line":241,"start_character":7,"end_line":241,"end_character":14},"updated":"2016-06-13 18:37:53.000000000","message":"\"in-tree\"","commit_id":"a88cfec3b43e0f59e57c39b720815c88ef18a620"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"783d2d4a1eab3d1b52026fdf561a2e77cb5bf64f","unresolved":false,"context_lines":[{"line_number":244,"context_line":""},{"line_number":245,"context_line":"Ocata"},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"* Remove loading of nova.api.v21.extensions"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"Dependencies"},{"line_number":250,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7aa08908_bfd05c54","line":247,"updated":"2016-06-13 18:18:55.000000000","message":"How is this different from \"Remove loading of nova.api.v21.extensions.server.* content\" above?\n\nI guess above is adding things to the server request/respones dict. This is about removing the support for new types of resources, right?","commit_id":"a88cfec3b43e0f59e57c39b720815c88ef18a620"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"256a27511e82c1b87b6f6a265e110bd672b607bb","unresolved":false,"context_lines":[{"line_number":256,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"Both Tempest and functional testing shouldn\u0027t need any further changes"},{"line_number":259,"context_line":"and will be used as a control that we\u0027ve not regressed our API."},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"Unit testing will be adjusted as in many case that used limited"},{"line_number":262,"context_line":"extension lists to simplify responses for testing."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7aa08908_42fa3bbe","line":259,"range":{"start_line":259,"start_character":22,"end_line":259,"end_character":29},"updated":"2016-06-13 18:37:53.000000000","message":"This use of control is a bit awkward. I know what you mean, but maybe just change this to \"demonstration\" or \"proof\" ?","commit_id":"a88cfec3b43e0f59e57c39b720815c88ef18a620"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"68ce1b5902fbad7fff39438746889ad405660190","unresolved":false,"context_lines":[{"line_number":256,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"Both Tempest and functional testing shouldn\u0027t need any further changes"},{"line_number":259,"context_line":"and will be used as a control that we\u0027ve not regressed our API."},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"Unit testing will be adjusted as in many case that used limited"},{"line_number":262,"context_line":"extension lists to simplify responses for testing."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7aa08908_5897ce8f","line":259,"range":{"start_line":259,"start_character":22,"end_line":259,"end_character":29},"in_reply_to":"7aa08908_42fa3bbe","updated":"2016-06-13 19:15:13.000000000","message":"Or just \u0027check\u0027.","commit_id":"a88cfec3b43e0f59e57c39b720815c88ef18a620"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"770cb0ec3920b075f53f0ec66565dec55607fba7","unresolved":false,"context_lines":[{"line_number":86,"context_line":"http://docs.openstack.org/developer/nova/stable_api.html. In Liberty"},{"line_number":87,"context_line":"we also deprecated the use of the v2 legacy code stack (which most"},{"line_number":88,"context_line":"extensions were written against). This was an attempt to prevent the"},{"line_number":89,"context_line":"use of extensions by new member of the OpenStack Ecosystem."},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"In Mitaka we deprecated the configuration options in the v2.1 API that"},{"line_number":92,"context_line":"allowed configuration based control of which extensions are"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7aa08908_b3f37372","line":89,"range":{"start_line":89,"start_character":25,"end_line":89,"end_character":31},"updated":"2016-06-13 19:53:47.000000000","message":"\"members\"","commit_id":"03d5114f5fce342e144010e8a1e7a2a41416d9a2"}]}
