)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"5cb0dd7bcf81b6e4f866eeb7d3ca6879ce193b42","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add spec for symmetric GET and PUT of allocations"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The request and response bodies diverged when GET was implemented, this"},{"line_number":10,"context_line":"spec provided a plan for fixing it."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Id7ed89a24ff6e2fd7ab4eee5b117cb6b6c763c44"},{"line_number":13,"context_line":"Related-Bug: #1708204"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7f515b1d_755e72ea","line":10,"range":{"start_line":10,"start_character":5,"end_line":10,"end_character":13},"updated":"2017-10-03 16:53:14.000000000","message":"provides?","commit_id":"df3a8d3e2db428dbd001773cff461f71e2986995"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"974b60b3f7a71465e311582b3690b87209ee624d","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add spec for symmetric GET and PUT of allocations"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The request and response bodies diverged when GET was implemented, this"},{"line_number":10,"context_line":"spec provided a plan for fixing it."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Id7ed89a24ff6e2fd7ab4eee5b117cb6b6c763c44"},{"line_number":13,"context_line":"Related-Bug: #1708204"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7f515b1d_95dfaed5","line":10,"range":{"start_line":10,"start_character":5,"end_line":10,"end_character":13},"in_reply_to":"7f515b1d_755e72ea","updated":"2017-10-03 16:58:03.000000000","message":"ah yeah","commit_id":"df3a8d3e2db428dbd001773cff461f71e2986995"}],"specs/queens/approved/symmetric-allocations.rst":[{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"559e81e16c1969d58de7dda0cd248305ac3165b3","unresolved":false,"context_lines":[{"line_number":50,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"The JSON schema for the request body to ``PUT /allocations/{consumer_uuid}``"},{"line_number":53,"context_line":"will be versioned (in a new Placement service microversion) to allow data to be"},{"line_number":54,"context_line":"input in the same form as retrieved from ``GET /allocations/{consumer_uuid}``."},{"line_number":55,"context_line":"The format is described below."},{"line_number":56,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_4fc1a5e4","line":53,"updated":"2017-10-03 15:33:14.000000000","message":"\"to allow data...\" makes it sound like both ways are accepted.  Maybe \"..to expect data to be...\" would be more clear.","commit_id":"59114d2c0d15f0c31fa4a862b3a54b1114187442"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"559e81e16c1969d58de7dda0cd248305ac3165b3","unresolved":false,"context_lines":[{"line_number":68,"context_line":"---------------"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"The existing JSON schema for the request body to ``PUT"},{"line_number":71,"context_line":"/allocations/{consumer_uuid}`` will be updated to allow data in the following"},{"line_number":72,"context_line":"form:"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":".. code-block:: javascript"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_0fbbad72","line":71,"range":{"start_line":71,"start_character":50,"end_line":71,"end_character":55},"updated":"2017-10-03 15:33:14.000000000","message":"maybe \"expect\" instead of \"allow\" to make it clear that the new microversion will only accept the dict format","commit_id":"59114d2c0d15f0c31fa4a862b3a54b1114187442"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"559e81e16c1969d58de7dda0cd248305ac3165b3","unresolved":false,"context_lines":[{"line_number":125,"context_line":"Developer impact"},{"line_number":126,"context_line":"----------------"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"Developers will now have a choice of formats and thus microversions when"},{"line_number":129,"context_line":"sending allocations to the Placement service."},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"At some point, either during the implementation of this spec, or later as"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7f515b1d_8fa67d53","line":128,"range":{"start_line":128,"start_character":27,"end_line":128,"end_character":67},"updated":"2017-10-03 15:33:14.000000000","message":"maybe clearer as \"...choice of formats (by specifying the appropriate microversion) when...\"","commit_id":"59114d2c0d15f0c31fa4a862b3a54b1114187442"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"5cb0dd7bcf81b6e4f866eeb7d3ca6879ce193b42","unresolved":false,"context_lines":[{"line_number":142,"context_line":"  cdent"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"Other contributors:"},{"line_number":145,"context_line":"  you"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"Work Items"},{"line_number":148,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_55bb76c3","line":145,"range":{"start_line":145,"start_character":2,"end_line":145,"end_character":5},"updated":"2017-10-03 16:53:14.000000000","message":"moi??","commit_id":"df3a8d3e2db428dbd001773cff461f71e2986995"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"974b60b3f7a71465e311582b3690b87209ee624d","unresolved":false,"context_lines":[{"line_number":142,"context_line":"  cdent"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"Other contributors:"},{"line_number":145,"context_line":"  you"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"Work Items"},{"line_number":148,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_b5fbca45","line":145,"range":{"start_line":145,"start_character":2,"end_line":145,"end_character":5},"in_reply_to":"7f515b1d_55bb76c3","updated":"2017-10-03 16:58:03.000000000","message":"yes you","commit_id":"df3a8d3e2db428dbd001773cff461f71e2986995"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"5cb0dd7bcf81b6e4f866eeb7d3ca6879ce193b42","unresolved":false,"context_lines":[{"line_number":149,"context_line":""},{"line_number":150,"context_line":"* Write JSON shema representing the desired format."},{"line_number":151,"context_line":"* Add support for a new microversion which validates ``PUT"},{"line_number":152,"context_line":"  /allocations/{consumer_uuid}`` bodies against that new schema."},{"line_number":153,"context_line":"* Add gabbi tests exercising the new microversion."},{"line_number":154,"context_line":"* Add placment-api-ref documentation for the new microversion."},{"line_number":155,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_d5c6464a","line":152,"updated":"2017-10-03 16:53:14.000000000","message":"Seems like we\u0027re missing the work item that interprets the new format to do the allocation.  Do we somehow get that for free?","commit_id":"df3a8d3e2db428dbd001773cff461f71e2986995"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"ca83e3ac66ebbff36f3d23050d546890ad3949d0","unresolved":false,"context_lines":[{"line_number":149,"context_line":""},{"line_number":150,"context_line":"* Write JSON shema representing the desired format."},{"line_number":151,"context_line":"* Add support for a new microversion which validates ``PUT"},{"line_number":152,"context_line":"  /allocations/{consumer_uuid}`` bodies against that new schema."},{"line_number":153,"context_line":"* Add gabbi tests exercising the new microversion."},{"line_number":154,"context_line":"* Add placment-api-ref documentation for the new microversion."},{"line_number":155,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_ed229601","line":152,"in_reply_to":"7f515b1d_d5c6464a","updated":"2017-10-03 19:23:00.000000000","message":"Done","commit_id":"df3a8d3e2db428dbd001773cff461f71e2986995"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"974b60b3f7a71465e311582b3690b87209ee624d","unresolved":false,"context_lines":[{"line_number":149,"context_line":""},{"line_number":150,"context_line":"* Write JSON shema representing the desired format."},{"line_number":151,"context_line":"* Add support for a new microversion which validates ``PUT"},{"line_number":152,"context_line":"  /allocations/{consumer_uuid}`` bodies against that new schema."},{"line_number":153,"context_line":"* Add gabbi tests exercising the new microversion."},{"line_number":154,"context_line":"* Add placment-api-ref documentation for the new microversion."},{"line_number":155,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_35391af2","line":152,"in_reply_to":"7f515b1d_d5c6464a","updated":"2017-10-03 16:58:03.000000000","message":"It\u0027s implied in this bullet point, but yes, it is very nearly free because of the way the existing _set_allocations code works.  I can clarify if you think it is worth it?","commit_id":"df3a8d3e2db428dbd001773cff461f71e2986995"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"5cb0dd7bcf81b6e4f866eeb7d3ca6879ce193b42","unresolved":false,"context_lines":[{"line_number":168,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"The main documentation impact is in the placement api-ref where a new"},{"line_number":171,"context_line":"microversion will need to be noted."},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"References"},{"line_number":174,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_7577920a","line":171,"updated":"2017-10-03 16:53:14.000000000","message":"Not sure which you\u0027re referring to here, but both [1] and [2] should be updated.\n\n[1] https://docs.openstack.org/nova/latest/user/placement.html\n[2] https://developer.openstack.org/api-ref/placement/","commit_id":"df3a8d3e2db428dbd001773cff461f71e2986995"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"ca83e3ac66ebbff36f3d23050d546890ad3949d0","unresolved":false,"context_lines":[{"line_number":168,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"The main documentation impact is in the placement api-ref where a new"},{"line_number":171,"context_line":"microversion will need to be noted."},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"References"},{"line_number":174,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f515b1d_8dc5620d","line":171,"in_reply_to":"7f515b1d_7577920a","updated":"2017-10-03 19:23:00.000000000","message":"I list 2 explicitly, 1 is something that\u0027s \"just done\" so doesn\u0027t really need to be listed here explicitly.","commit_id":"df3a8d3e2db428dbd001773cff461f71e2986995"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"1d8af7a56267045986efe09bc9258c3838fe331c","unresolved":false,"context_lines":[{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Example Spec - The title of your blueprint"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Include the URL of your launchpad blueprint:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7f515b1d_ba279dc7","line":8,"updated":"2017-11-03 17:46:18.000000000","message":"I like this title.","commit_id":"dbd9c262619babf277f20e071d2212a0081ba692"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"ddc9bf2851d8e1a5dd0eb49a79372349e7bea4e6","unresolved":false,"context_lines":[{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Example Spec - The title of your blueprint"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Include the URL of your launchpad blueprint:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3f4b6375_59884f70","line":8,"range":{"start_line":8,"start_character":0,"end_line":8,"end_character":42},"updated":"2017-10-18 10:13:47.000000000","message":"It should be \"Symmetric GET and PUT of allocations in Placement \".\nThis title is listed in the following pasge.\n\nhttp://docs-draft.openstack.org/64/508164/4/check/gate-nova-specs-docs-ubuntu-xenial/bd33251//doc/build/html/specs/queens/index.html","commit_id":"dbd9c262619babf277f20e071d2212a0081ba692"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"952e86b8819de373795f00586a102a8ead746888","unresolved":false,"context_lines":[{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Example Spec - The title of your blueprint"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Include the URL of your launchpad blueprint:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3f4b6375_7fa528b5","line":8,"range":{"start_line":8,"start_character":0,"end_line":8,"end_character":42},"in_reply_to":"3f4b6375_59884f70","updated":"2017-10-18 13:32:31.000000000","message":"Done","commit_id":"dbd9c262619babf277f20e071d2212a0081ba692"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"ddc9bf2851d8e1a5dd0eb49a79372349e7bea4e6","unresolved":false,"context_lines":[{"line_number":8,"context_line":"Example Spec - The title of your blueprint"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Include the URL of your launchpad blueprint:"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"https://blueprints.launchpad.net/nova/+spec/symmetric-allocations"},{"line_number":14,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3f4b6375_397d936e","line":11,"range":{"start_line":11,"start_character":0,"end_line":11,"end_character":44},"updated":"2017-10-18 10:13:47.000000000","message":"Remove it.","commit_id":"dbd9c262619babf277f20e071d2212a0081ba692"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"1d8af7a56267045986efe09bc9258c3838fe331c","unresolved":false,"context_lines":[{"line_number":8,"context_line":"Example Spec - The title of your blueprint"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Include the URL of your launchpad blueprint:"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"https://blueprints.launchpad.net/nova/+spec/symmetric-allocations"},{"line_number":14,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"7f515b1d_5a10a959","line":11,"updated":"2017-11-03 17:46:18.000000000","message":"nix this line :)","commit_id":"dbd9c262619babf277f20e071d2212a0081ba692"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"952e86b8819de373795f00586a102a8ead746888","unresolved":false,"context_lines":[{"line_number":8,"context_line":"Example Spec - The title of your blueprint"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Include the URL of your launchpad blueprint:"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"https://blueprints.launchpad.net/nova/+spec/symmetric-allocations"},{"line_number":14,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3f4b6375_5faa6c85","line":11,"range":{"start_line":11,"start_character":0,"end_line":11,"end_character":44},"in_reply_to":"3f4b6375_397d936e","updated":"2017-10-18 13:32:31.000000000","message":"Done","commit_id":"dbd9c262619babf277f20e071d2212a0081ba692"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"1cc101626bde502a94f7153d03f6972522ecaa9b","unresolved":false,"context_lines":[{"line_number":91,"context_line":"           }"},{"line_number":92,"context_line":"         },"},{"line_number":93,"context_line":"         \"project_id\": \"PROJECT_ID\","},{"line_number":94,"context_line":"         \"user_id\": \"USER_ID\""},{"line_number":95,"context_line":"    }"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"``generation`` is optional and if present will be ignored. It is allowed to"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7f515b1d_7d523f15","line":94,"updated":"2017-10-09 14:11:10.000000000","message":"A question that comes up from working on the implementation of this is that the GET response does not currently include the project_id and user_id. We can make that the case if we like but two (mild) concerns there:\n\n* the sql gets a bit more complex\n* does returning the project_id and user_id mean that people will be inclined to re-use that info when doing a PUT when really they don\u0027t want that?","commit_id":"dbd9c262619babf277f20e071d2212a0081ba692"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"082ac5d992fa65ea2bba08fef44491293da5b70d","unresolved":false,"context_lines":[{"line_number":74,"context_line":"    {"},{"line_number":75,"context_line":"        \"allocations\": {"},{"line_number":76,"context_line":"            \"RP_UUID_1\": {"},{"line_number":77,"context_line":"                \"generation\": GENERATION,"},{"line_number":78,"context_line":"                \"resources\": {"},{"line_number":79,"context_line":"                    \"DISK_GB\": 4,"},{"line_number":80,"context_line":"                    \"VCPU\": 2"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3f4b6375_9249b2b8","line":77,"range":{"start_line":77,"start_character":16,"end_line":77,"end_character":41},"updated":"2017-10-31 19:10:32.000000000","message":"Today PUT /allocations/{consumer_uuid} does not take an RP generation at all, how are we getting around that? Are we just doing retries and letting Placement handle the generation for us? I think so:\n\nhttps://github.com/openstack/nova/blob/39e7ca322626f4b197de54e1ed83ce046c5fef26/nova/objects/resource_provider.py#L1835\n\nSo we can do easy retries without having to update the generation client-side:\n\nhttps://github.com/openstack/nova/blob/39e7ca322626f4b197de54e1ed83ce046c5fef26/nova/scheduler/client/report.py#L1009\n\nWhich also means the \"allocation_requests\" key in the GET /allocation_candidates response likely needs to also change with this microversion since that\u0027s going to have to include the current generation - which also means a given allocation_request is going to probably be stale by the time we try to use it, either in claim_resources during initial scheduling or during a reschedule via the Selection object Ed is working on.\n\n\u003clater\u003e\n\nOh look here L95 says generation is optional.\n\nStill, the question remains about the allocation_requests key in the allocation_candidates response - shouldn\u0027t the format on that also change to match the new PUT /allocations/{consumer_id} format?","commit_id":"805061bcfd6ff90a8905f3233f73256bc9f3a159"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"082ac5d992fa65ea2bba08fef44491293da5b70d","unresolved":false,"context_lines":[{"line_number":151,"context_line":"* Integrate processing that data to compose a call to"},{"line_number":152,"context_line":"  ``AllocationList.create_all()``."},{"line_number":153,"context_line":"* Add gabbi tests exercising the new microversion."},{"line_number":154,"context_line":"* Add placment-api-ref documentation for the new microversion."},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"Dependencies"},{"line_number":157,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3f4b6375_7294f6e8","line":154,"range":{"start_line":154,"start_character":6,"end_line":154,"end_character":14},"updated":"2017-10-31 19:10:32.000000000","message":"placement","commit_id":"805061bcfd6ff90a8905f3233f73256bc9f3a159"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"b4b8c87988f2ac60a46eff64e2a667a80b3b6ae3","unresolved":false,"context_lines":[{"line_number":57,"context_line":"are designed to be opaquely sent as bodies in ``PUT /allocations/{consumer_uuid}``"},{"line_number":58,"context_line":"the format of that response will be updated in the same microversion to reflect"},{"line_number":59,"context_line":"the dict-based format. See example below."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Alternatives"},{"line_number":62,"context_line":"------------"},{"line_number":63,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f4b6375_d00a26d0","line":60,"updated":"2017-11-03 14:48:18.000000000","message":"And GET /allocations/{consumer_uuid} will have project_id and user_id added.","commit_id":"05da44b81cb6cb92c100bc4fec29eae9f0ad5b3f"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"1d8af7a56267045986efe09bc9258c3838fe331c","unresolved":false,"context_lines":[{"line_number":80,"context_line":"    {"},{"line_number":81,"context_line":"        \"allocations\": {"},{"line_number":82,"context_line":"            \"RP_UUID_1\": {"},{"line_number":83,"context_line":"                \"generation\": GENERATION,"},{"line_number":84,"context_line":"                \"resources\": {"},{"line_number":85,"context_line":"                    \"DISK_GB\": 4,"},{"line_number":86,"context_line":"                    \"VCPU\": 2"},{"line_number":87,"context_line":"                }"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f4b6375_642854e1","line":84,"range":{"start_line":83,"start_character":16,"end_line":84,"end_character":16},"updated":"2017-11-03 17:46:18.000000000","message":"As Matt indicated in a previous comment, the existing PUT /allocations/{consumer_uuid} request payload does *not* include a generation for the resource provider.","commit_id":"05da44b81cb6cb92c100bc4fec29eae9f0ad5b3f"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"b4b8c87988f2ac60a46eff64e2a667a80b3b6ae3","unresolved":false,"context_lines":[{"line_number":103,"context_line":"the same URL will include the ``project_id`` and ``user_id`` fields."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"The response body for ``GET /allocation_candidates`` will be updated so that"},{"line_number":106,"context_line":"the ``allocation_requests`` object will change from this format (surrounding"},{"line_number":107,"context_line":"JSON, including ``provider summaries`` excluded (see the"},{"line_number":108,"context_line":"`list allocation candidates`_ docs for more detail):"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":".. code-block:: javascript"},{"line_number":111,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f4b6375_ed1aef7a","line":108,"range":{"start_line":106,"start_character":47,"end_line":108,"end_character":52},"updated":"2017-11-03 14:48:18.000000000","message":"garbled, mismatched parens","commit_id":"05da44b81cb6cb92c100bc4fec29eae9f0ad5b3f"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"1d8af7a56267045986efe09bc9258c3838fe331c","unresolved":false,"context_lines":[{"line_number":208,"context_line":"microversion) when sending allocations to the Placement service."},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"At some point, either during the implementation of this spec, or later as"},{"line_number":211,"context_line":"people find with worth doing, the microversion used when sending allocations"},{"line_number":212,"context_line":"from the scheduler report client should be updated."},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"Implementation"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f4b6375_84eb5076","line":211,"range":{"start_line":211,"start_character":12,"end_line":211,"end_character":17},"updated":"2017-11-03 17:46:18.000000000","message":"strike","commit_id":"05da44b81cb6cb92c100bc4fec29eae9f0ad5b3f"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"b4b8c87988f2ac60a46eff64e2a667a80b3b6ae3","unresolved":false,"context_lines":[{"line_number":226,"context_line":"Work Items"},{"line_number":227,"context_line":"----------"},{"line_number":228,"context_line":""},{"line_number":229,"context_line":"* Write JSON shema representing the desired format."},{"line_number":230,"context_line":"* Add support for a new microversion which validates ``PUT"},{"line_number":231,"context_line":"  /allocations/{consumer_uuid}`` bodies against that new schema."},{"line_number":232,"context_line":"* Modify ``GET /allocations/{consumer_uuid}`` to include `project_id`"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f4b6375_b07a0a74","line":229,"range":{"start_line":229,"start_character":13,"end_line":229,"end_character":18},"updated":"2017-11-03 14:48:18.000000000","message":"schema","commit_id":"05da44b81cb6cb92c100bc4fec29eae9f0ad5b3f"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"b4b8c87988f2ac60a46eff64e2a667a80b3b6ae3","unresolved":false,"context_lines":[{"line_number":253,"context_line":""},{"line_number":254,"context_line":"The main documentation impact is in the `placement api-ref`_ where a new"},{"line_number":255,"context_line":"microversion will need to be described for"},{"line_number":256,"context_line":"``PUT /allocations/{consumer_uuid}``."},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"References"},{"line_number":259,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f4b6375_30bcda04","line":256,"updated":"2017-11-03 14:48:18.000000000","message":"And the payload changes for GET /allocation_candidates; and the project_id/user_id adds to GET /allocations/{consumer_uuid}.","commit_id":"05da44b81cb6cb92c100bc4fec29eae9f0ad5b3f"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"5ebe573ed99b72c16d4960411f97e2476188be7d","unresolved":false,"context_lines":[{"line_number":102,"context_line":"         \"user_id\": \"USER_ID\""},{"line_number":103,"context_line":"    }"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"``generation`` is optional and if present will be ignored. It is allowed to"},{"line_number":106,"context_line":"preserve symmetry. To further preserve symmetry the response to a ``GET`` on"},{"line_number":107,"context_line":"the same URL will include the ``project_id`` and ``user_id`` fields."},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"The response body for ``GET /allocation_candidates`` will be updated so that"},{"line_number":110,"context_line":"the ``allocation_requests`` object will change from the following list-based"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3f4b6375_79bc3aba","line":107,"range":{"start_line":105,"start_character":1,"end_line":107,"end_character":68},"updated":"2017-11-07 23:01:53.000000000","message":"ah, OK, I missed this. :( ack.","commit_id":"e90de8bdfac20cb8d4559c0cbddeab2c55980e68"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"cc3a135066b548c1b33b8a816c6b86fc6b68c461","unresolved":false,"context_lines":[{"line_number":258,"context_line":""},{"line_number":259,"context_line":"The main documentation impact is in the `placement api-ref`_ where a new"},{"line_number":260,"context_line":"microversion will need to be described for"},{"line_number":261,"context_line":"``PUT /allocations/{consumer_uuid}``."},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"References"},{"line_number":264,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3f4b6375_c9e135d2","line":261,"updated":"2017-11-07 01:41:05.000000000","message":"And the payload changes for GET /allocation_candidates; and the project_id/user_id adds to GET /allocations/{consumer_uuid}","commit_id":"e90de8bdfac20cb8d4559c0cbddeab2c55980e68"}]}
