)]}'
{"guidelines/evaluating_api_changes.rst":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"09221ffd98dbbb52891b2909c993b9b71f674e55","unresolved":false,"context_lines":[{"line_number":21,"context_line":"* Fixing a bug so that a request which resulted in an error response before"},{"line_number":22,"context_line":"  is now successful."},{"line_number":23,"context_line":"* Adding a new response header."},{"line_number":24,"context_line":"* Changing an error response code to be more accurate."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"The following types of changes are acceptable when conditionally added as a"},{"line_number":27,"context_line":"new API extension:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1aca2d91_948f1923","line":24,"updated":"2015-05-06 21:01:03.000000000","message":"I have disagreed for a long time with the last bullet point above. Changing any response code, success or otherwise, is never a backwards-compatible change without a microversion increment.","commit_id":"57a42e5159e966983caaea0384293376ced37007"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"462e614a11c8287f3cf79a64108f38cf86e574dd","unresolved":false,"context_lines":[{"line_number":21,"context_line":"* Fixing a bug so that a request which resulted in an error response before"},{"line_number":22,"context_line":"  is now successful."},{"line_number":23,"context_line":"* Adding a new response header."},{"line_number":24,"context_line":"* Changing an error response code to be more accurate."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"The following types of changes are acceptable when conditionally added as a"},{"line_number":27,"context_line":"new API extension:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1aca2d91_c9305759","line":24,"in_reply_to":"1aca2d91_948f1923","updated":"2015-05-06 22:59:09.000000000","message":"so move that one down to the conditionally acceptable?","commit_id":"57a42e5159e966983caaea0384293376ced37007"},{"author":{"_account_id":12321,"name":"Ryan Brown","email":"rybrown@redhat.com","username":"ryansb"},"change_message_id":"674673b8600ea0f431467d9dff05415e294c136c","unresolved":false,"context_lines":[{"line_number":23,"context_line":"* Adding a new response header."},{"line_number":24,"context_line":"* Changing an error response code to be more accurate."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"The following types of changes are acceptable when conditionally added as a"},{"line_number":27,"context_line":"new API extension:"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"* Adding a property to a resource representation."}],"source_content_type":"text/x-rst","patch_set":1,"id":"1aca2d91_5d82cf01","line":26,"updated":"2015-05-06 17:02:34.000000000","message":"I believe we\u0027re trying to encourage microversions over extensions, can you change the wording here?","commit_id":"57a42e5159e966983caaea0384293376ced37007"},{"author":{"_account_id":12321,"name":"Ryan Brown","email":"rybrown@redhat.com","username":"ryansb"},"change_message_id":"b885608e33a8a85170129be2f82324be9bff40bf","unresolved":false,"context_lines":[{"line_number":23,"context_line":"* Adding a new response header."},{"line_number":24,"context_line":"* Changing an error response code to be more accurate."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"The following types of changes are acceptable when conditionally added as a"},{"line_number":27,"context_line":"new API extension:"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"* Adding a property to a resource representation."}],"source_content_type":"text/x-rst","patch_set":1,"id":"1aca2d91_99ee32eb","line":26,"in_reply_to":"1aca2d91_11d9e0f3","updated":"2015-05-06 20:24:11.000000000","message":"Yeah, just say we prefer microversions over extensions in general.","commit_id":"57a42e5159e966983caaea0384293376ced37007"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"f6c8cbf89f4dabfc8b3869303c1c188c87d82eed","unresolved":false,"context_lines":[{"line_number":23,"context_line":"* Adding a new response header."},{"line_number":24,"context_line":"* Changing an error response code to be more accurate."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"The following types of changes are acceptable when conditionally added as a"},{"line_number":27,"context_line":"new API extension:"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"* Adding a property to a resource representation."}],"source_content_type":"text/x-rst","patch_set":1,"id":"1aca2d91_11d9e0f3","line":26,"in_reply_to":"1aca2d91_5d82cf01","updated":"2015-05-06 18:21:40.000000000","message":"sure, would be appropriate to still mention extensions?","commit_id":"57a42e5159e966983caaea0384293376ced37007"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"462e614a11c8287f3cf79a64108f38cf86e574dd","unresolved":false,"context_lines":[{"line_number":23,"context_line":"* Adding a new response header."},{"line_number":24,"context_line":"* Changing an error response code to be more accurate."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"The following types of changes are acceptable when conditionally added as a"},{"line_number":27,"context_line":"new API extension:"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"* Adding a property to a resource representation."}],"source_content_type":"text/x-rst","patch_set":1,"id":"1aca2d91_694023a6","line":26,"in_reply_to":"1aca2d91_74635db2","updated":"2015-05-06 22:59:09.000000000","message":"i\u0027m fine with changing this say microversions instead.","commit_id":"57a42e5159e966983caaea0384293376ced37007"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"09221ffd98dbbb52891b2909c993b9b71f674e55","unresolved":false,"context_lines":[{"line_number":23,"context_line":"* Adding a new response header."},{"line_number":24,"context_line":"* Changing an error response code to be more accurate."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"The following types of changes are acceptable when conditionally added as a"},{"line_number":27,"context_line":"new API extension:"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"* Adding a property to a resource representation."}],"source_content_type":"text/x-rst","patch_set":1,"id":"1aca2d91_74635db2","line":26,"in_reply_to":"1aca2d91_99ee32eb","updated":"2015-05-06 21:01:03.000000000","message":"Actually, I\u0027d prefer to not mention API extensions at all.","commit_id":"57a42e5159e966983caaea0384293376ced37007"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"09221ffd98dbbb52891b2909c993b9b71f674e55","unresolved":false,"context_lines":[{"line_number":64,"context_line":"*\"The existing API is not well documented.\"*"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"If an API\u0027s behavior isn\u0027t adequately documented, then developers using"},{"line_number":67,"context_line":"the API have no choice but to go by what they observe the behavior to be."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"*\"The change does not impact users of OpenStack\u0027s client libraries or"},{"line_number":70,"context_line":"command line interfaces.\"*"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1aca2d91_d4f2319a","line":67,"updated":"2015-05-06 21:01:03.000000000","message":"This one I\u0027ve also always hated. If an API is not well-documented, it\u0027s a bug. Period.","commit_id":"57a42e5159e966983caaea0384293376ced37007"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"4a05740ab5c42f7d4fcd9f9ee989b9c94c35dccf","unresolved":false,"context_lines":[{"line_number":64,"context_line":"*\"The existing API is not well documented.\"*"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"If an API\u0027s behavior isn\u0027t adequately documented, then developers using"},{"line_number":67,"context_line":"the API have no choice but to go by what they observe the behavior to be."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"*\"The change does not impact users of OpenStack\u0027s client libraries or"},{"line_number":70,"context_line":"command line interfaces.\"*"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1aca2d91_94afde93","line":67,"in_reply_to":"1aca2d91_5004c8be","updated":"2015-05-08 03:56:35.000000000","message":"that sounds good to me","commit_id":"57a42e5159e966983caaea0384293376ced37007"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"6ca234643a4c21d2cf9b0fc0930203d8711a589f","unresolved":false,"context_lines":[{"line_number":64,"context_line":"*\"The existing API is not well documented.\"*"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"If an API\u0027s behavior isn\u0027t adequately documented, then developers using"},{"line_number":67,"context_line":"the API have no choice but to go by what they observe the behavior to be."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"*\"The change does not impact users of OpenStack\u0027s client libraries or"},{"line_number":70,"context_line":"command line interfaces.\"*"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1aca2d91_5004c8be","line":67,"in_reply_to":"1aca2d91_a93bdbea","updated":"2015-05-07 16:15:15.000000000","message":"I would frame it like: \"Inadequate documentation is not an excuse to bypass API versioning constraints.  While not adequate, the source code is the de facto documentation and changes still matter.\"","commit_id":"57a42e5159e966983caaea0384293376ced37007"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"462e614a11c8287f3cf79a64108f38cf86e574dd","unresolved":false,"context_lines":[{"line_number":64,"context_line":"*\"The existing API is not well documented.\"*"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"If an API\u0027s behavior isn\u0027t adequately documented, then developers using"},{"line_number":67,"context_line":"the API have no choice but to go by what they observe the behavior to be."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"*\"The change does not impact users of OpenStack\u0027s client libraries or"},{"line_number":70,"context_line":"command line interfaces.\"*"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1aca2d91_a93bdbea","line":67,"in_reply_to":"1aca2d91_d4f2319a","updated":"2015-05-06 22:59:09.000000000","message":"i agree.\n\ni\u0027m trying to think how, or if, this should be re-framed within the scope of making an incompatible api change in response  to the idea that api is not well documented.\n\nwould it appropriate to advise that; firstly the new change should follow the conventions of the in-place api, secondly that it could be used as an opportunity to start documenting the api?","commit_id":"57a42e5159e966983caaea0384293376ced37007"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"09221ffd98dbbb52891b2909c993b9b71f674e55","unresolved":false,"context_lines":[{"line_number":71,"context_line":""},{"line_number":72,"context_line":"We encourage developers to develop against OpenStack REST API. There will"},{"line_number":73,"context_line":"be many tools and applications which favor the REST API over our libraries"},{"line_number":74,"context_line":"or command line interfaces."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"Examples"},{"line_number":77,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1aca2d91_b41d75bf","line":74,"updated":"2015-05-06 21:01:03.000000000","message":"How is this final one any different from the \"It is unlikely that any existing users of the API would be affected\" justification above?","commit_id":"57a42e5159e966983caaea0384293376ced37007"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"462e614a11c8287f3cf79a64108f38cf86e574dd","unresolved":false,"context_lines":[{"line_number":71,"context_line":""},{"line_number":72,"context_line":"We encourage developers to develop against OpenStack REST API. There will"},{"line_number":73,"context_line":"be many tools and applications which favor the REST API over our libraries"},{"line_number":74,"context_line":"or command line interfaces."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"Examples"},{"line_number":77,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1aca2d91_0c32ddf1","line":74,"in_reply_to":"1aca2d91_b41d75bf","updated":"2015-05-06 22:59:09.000000000","message":"i guess it\u0027s not really, other than attempting to make the distinction about writing specifically for compatibility with the openstack rest api and not the clients.","commit_id":"57a42e5159e966983caaea0384293376ced37007"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"09221ffd98dbbb52891b2909c993b9b71f674e55","unresolved":false,"context_lines":[{"line_number":73,"context_line":"be many tools and applications which favor the REST API over our libraries"},{"line_number":74,"context_line":"or command line interfaces."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"Examples"},{"line_number":77,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"**Failing silently**"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1aca2d91_1455494f","line":76,"updated":"2015-05-06 21:01:03.000000000","message":"Examples of *what* exactly?\n\nHow about:\n\n Examples of Appropriately-Implemented Past API Changes","commit_id":"57a42e5159e966983caaea0384293376ced37007"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"462e614a11c8287f3cf79a64108f38cf86e574dd","unresolved":false,"context_lines":[{"line_number":73,"context_line":"be many tools and applications which favor the REST API over our libraries"},{"line_number":74,"context_line":"or command line interfaces."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"Examples"},{"line_number":77,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"**Failing silently**"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1aca2d91_8c738db1","line":76,"in_reply_to":"1aca2d91_1455494f","updated":"2015-05-06 22:59:09.000000000","message":"excellent point. i\u0027ll add a paragraph to the section describing the examples.","commit_id":"57a42e5159e966983caaea0384293376ced37007"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"09221ffd98dbbb52891b2909c993b9b71f674e55","unresolved":false,"context_lines":[{"line_number":93,"context_line":"spec, so it was moved into an extension which could be disabled."},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"* Launchpad bug - `OSAPI v1.1 needs to document config-drive as an"},{"line_number":96,"context_line":"  extension \u003chttps://bugs.launchpad.net/nova/+bug/833331\u003e`_"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"**Adding new header OK; changing response code not so much**"},{"line_number":99,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1aca2d91_9495d9e5","line":96,"updated":"2015-05-06 21:01:03.000000000","message":"Extensions should die in a fire. How about adding a comment to the above like \"in the past, API extensions were used to add attributes to responses, however nowadays, a new API microversion would be used to handle this situation\".\n\nBetter yet, ditch this example entirely and use a microversion that\u0027s already in Nova now :)","commit_id":"57a42e5159e966983caaea0384293376ced37007"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"462e614a11c8287f3cf79a64108f38cf86e574dd","unresolved":false,"context_lines":[{"line_number":93,"context_line":"spec, so it was moved into an extension which could be disabled."},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"* Launchpad bug - `OSAPI v1.1 needs to document config-drive as an"},{"line_number":96,"context_line":"  extension \u003chttps://bugs.launchpad.net/nova/+bug/833331\u003e`_"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"**Adding new header OK; changing response code not so much**"},{"line_number":99,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1aca2d91_0cb77d3a","line":96,"in_reply_to":"1aca2d91_9495d9e5","updated":"2015-05-06 22:59:09.000000000","message":"i\u0027m cool with that, do you have a specific bug/review that would be good here?","commit_id":"57a42e5159e966983caaea0384293376ced37007"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"09221ffd98dbbb52891b2909c993b9b71f674e55","unresolved":false,"context_lines":[{"line_number":102,"context_line":"it is safe to add the ``Location`` header, but not change the response code."},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"* Launchpad bug -  `Volume creation 201 API response does not include a"},{"line_number":105,"context_line":"  Location header \u003chttps://bugs.launchpad.net/nova/+bug/1026600\u003e`_"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"**Inappropriate extension**"},{"line_number":108,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1aca2d91_b4a7b54e","line":105,"updated":"2015-05-06 21:01:03.000000000","message":"It may have been \"safe\" to add the Location header, but in the new microversion world, version increments are cheap and enable the user to discover when a particular header was introduced and when to expect it in the response...","commit_id":"57a42e5159e966983caaea0384293376ced37007"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"462e614a11c8287f3cf79a64108f38cf86e574dd","unresolved":false,"context_lines":[{"line_number":102,"context_line":"it is safe to add the ``Location`` header, but not change the response code."},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"* Launchpad bug -  `Volume creation 201 API response does not include a"},{"line_number":105,"context_line":"  Location header \u003chttps://bugs.launchpad.net/nova/+bug/1026600\u003e`_"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"**Inappropriate extension**"},{"line_number":108,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1aca2d91_6c971191","line":105,"in_reply_to":"1aca2d91_b4a7b54e","updated":"2015-05-06 22:59:09.000000000","message":"is there a better example bug we could use here?","commit_id":"57a42e5159e966983caaea0384293376ced37007"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"09221ffd98dbbb52891b2909c993b9b71f674e55","unresolved":false,"context_lines":[{"line_number":122,"context_line":"**Extension aliases**"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"* Gerrit review - `Make extension aliases consistent"},{"line_number":125,"context_line":"  \u003chttps://review.openstack.org/#/c/10812/\u003e`_"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"**500 error**"},{"line_number":128,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1aca2d91_741d9d72","line":125,"updated":"2015-05-06 21:01:03.000000000","message":"Ugh, I\u0027d leave this off... it\u0027s not something we should be promoting in our guidance.","commit_id":"57a42e5159e966983caaea0384293376ced37007"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"462e614a11c8287f3cf79a64108f38cf86e574dd","unresolved":false,"context_lines":[{"line_number":122,"context_line":"**Extension aliases**"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"* Gerrit review - `Make extension aliases consistent"},{"line_number":125,"context_line":"  \u003chttps://review.openstack.org/#/c/10812/\u003e`_"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"**500 error**"},{"line_number":128,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1aca2d91_4c94558a","line":125,"in_reply_to":"1aca2d91_741d9d72","updated":"2015-05-06 22:59:09.000000000","message":"Done","commit_id":"57a42e5159e966983caaea0384293376ced37007"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"09221ffd98dbbb52891b2909c993b9b71f674e55","unresolved":false,"context_lines":[{"line_number":124,"context_line":"* Gerrit review - `Make extension aliases consistent"},{"line_number":125,"context_line":"  \u003chttps://review.openstack.org/#/c/10812/\u003e`_"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"**500 error**"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"* Launchpad bug - `Server create with malformed body yields a 500 error"},{"line_number":130,"context_line":"  \u003chttps://bugs.launchpad.net/nova/+bug/1035120\u003e`_"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1aca2d91_6f04a814","line":127,"updated":"2015-05-06 21:01:03.000000000","message":"Some text here would be appropriate. Perhaps something like \"A 500 Server Error should **never** be returned to a user due to some user-created condition\"","commit_id":"57a42e5159e966983caaea0384293376ced37007"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"462e614a11c8287f3cf79a64108f38cf86e574dd","unresolved":false,"context_lines":[{"line_number":124,"context_line":"* Gerrit review - `Make extension aliases consistent"},{"line_number":125,"context_line":"  \u003chttps://review.openstack.org/#/c/10812/\u003e`_"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"**500 error**"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"* Launchpad bug - `Server create with malformed body yields a 500 error"},{"line_number":130,"context_line":"  \u003chttps://bugs.launchpad.net/nova/+bug/1035120\u003e`_"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1aca2d91_acf3e909","line":127,"in_reply_to":"1aca2d91_6f04a814","updated":"2015-05-06 22:59:09.000000000","message":"ok, good suggestion. i was a little stumped about what to put here and it seemed odd being empty. same with the others too.","commit_id":"57a42e5159e966983caaea0384293376ced37007"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"09221ffd98dbbb52891b2909c993b9b71f674e55","unresolved":false,"context_lines":[{"line_number":131,"context_line":"* Launchpad bug - `malformed server update causes: KeyError: \u0027server\u0027"},{"line_number":132,"context_line":"  \u003chttps://bugs.launchpad.net/nova/+bug/1038227\u003e`_"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"**Inconsistent handling of volume attach device**"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"* Gerrit review - `Allow nova to guess device if not passed to attach"},{"line_number":137,"context_line":"  \u003chttps://review.openstack.org/#/c/10908/\u003e`_"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1aca2d91_2f0eb034","line":134,"updated":"2015-05-06 21:01:03.000000000","message":"What are we recommending here?","commit_id":"57a42e5159e966983caaea0384293376ced37007"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"462e614a11c8287f3cf79a64108f38cf86e574dd","unresolved":false,"context_lines":[{"line_number":131,"context_line":"* Launchpad bug - `malformed server update causes: KeyError: \u0027server\u0027"},{"line_number":132,"context_line":"  \u003chttps://bugs.launchpad.net/nova/+bug/1038227\u003e`_"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"**Inconsistent handling of volume attach device**"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"* Gerrit review - `Allow nova to guess device if not passed to attach"},{"line_number":137,"context_line":"  \u003chttps://review.openstack.org/#/c/10908/\u003e`_"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1aca2d91_ecd0c155","line":134,"in_reply_to":"1aca2d91_2f0eb034","updated":"2015-05-06 22:59:09.000000000","message":"i\u0027m not sure, i could definitely use some advice here.","commit_id":"57a42e5159e966983caaea0384293376ced37007"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"09221ffd98dbbb52891b2909c993b9b71f674e55","unresolved":false,"context_lines":[{"line_number":136,"context_line":"* Gerrit review - `Allow nova to guess device if not passed to attach"},{"line_number":137,"context_line":"  \u003chttps://review.openstack.org/#/c/10908/\u003e`_"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"**Missing Property From XML Representation**"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"* Launchpad bug - `hypervisor_hostname in extended server status doesn\u0027t"},{"line_number":142,"context_line":"  appear in xml \u003chttps://bugs.launchpad.net/nova/+bug/1039276\u003e`_"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1aca2d91_af1ac06c","line":139,"updated":"2015-05-06 21:01:03.000000000","message":"Die. Die. Die XML. I\u0027d remove this hideous reminder of a long-lost sad world.","commit_id":"57a42e5159e966983caaea0384293376ced37007"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"462e614a11c8287f3cf79a64108f38cf86e574dd","unresolved":false,"context_lines":[{"line_number":136,"context_line":"* Gerrit review - `Allow nova to guess device if not passed to attach"},{"line_number":137,"context_line":"  \u003chttps://review.openstack.org/#/c/10908/\u003e`_"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"**Missing Property From XML Representation**"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"* Launchpad bug - `hypervisor_hostname in extended server status doesn\u0027t"},{"line_number":142,"context_line":"  appear in xml \u003chttps://bugs.launchpad.net/nova/+bug/1039276\u003e`_"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1aca2d91_4cdb357d","line":139,"in_reply_to":"1aca2d91_af1ac06c","updated":"2015-05-06 22:59:09.000000000","message":"no argument from me","commit_id":"57a42e5159e966983caaea0384293376ced37007"}]}
