)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b4b0719fd7030dfbe50feb96db94baae1f4fc588","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Include requested_resources to allocation candidate query"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The RequestSpec.requested_resources now can hold RequestGroup objects"},{"line_number":10,"context_line":"describing extra resources that needed for this instance. So this patch"},{"line_number":11,"context_line":"makes sure that such RequestGroups are included into the allocation"},{"line_number":12,"context_line":"candidate query."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3f79a3b5_339c2200","line":10,"range":{"start_line":10,"start_character":27,"end_line":10,"end_character":31},"updated":"2018-12-18 16:17:45.000000000","message":"that are","commit_id":"c637958a0e1ab7839be560fa4430d73968d66336"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"98e8644e9dc789b391df2e3ef875ab3a881d60b9","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Include requested_resources to allocation candidate query"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The RequestSpec.requested_resources now can hold RequestGroup objects"},{"line_number":10,"context_line":"describing extra resources that needed for this instance. So this patch"},{"line_number":11,"context_line":"makes sure that such RequestGroups are included into the allocation"},{"line_number":12,"context_line":"candidate query."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3f79a3b5_f6e68348","line":10,"range":{"start_line":10,"start_character":27,"end_line":10,"end_character":31},"in_reply_to":"3f79a3b5_339c2200","updated":"2018-12-19 15:49:54.000000000","message":"Done","commit_id":"c637958a0e1ab7839be560fa4430d73968d66336"}],"nova/scheduler/utils.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"132fb38c8452173332d0fbee6aab1bacc100f8d1","unresolved":false,"context_lines":[{"line_number":467,"context_line":"    for rclass, amount in spec_resources.items():"},{"line_number":468,"context_line":"        res_req.get_request_group(None).resources[rclass] \u003d amount"},{"line_number":469,"context_line":""},{"line_number":470,"context_line":"    for group in spec_obj.requested_resources:"},{"line_number":471,"context_line":"        res_req.add_request_group(group)"},{"line_number":472,"context_line":""},{"line_number":473,"context_line":"    if \u0027requested_destination\u0027 in spec_obj:"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_bf71d09b","line":470,"range":{"start_line":470,"start_character":17,"end_line":470,"end_character":45},"updated":"2018-12-18 21:24:24.000000000","message":"Ah you forgot to check for None here as mentioned earlier:\n\nhttp://logs.openstack.org/42/625942/1/check/tempest-full/5fcb021/controller/logs/screen-n-api.txt.gz?level\u003dTRACE#_Dec_18_18_33_51_556093","commit_id":"c637958a0e1ab7839be560fa4430d73968d66336"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"98e8644e9dc789b391df2e3ef875ab3a881d60b9","unresolved":false,"context_lines":[{"line_number":467,"context_line":"    for rclass, amount in spec_resources.items():"},{"line_number":468,"context_line":"        res_req.get_request_group(None).resources[rclass] \u003d amount"},{"line_number":469,"context_line":""},{"line_number":470,"context_line":"    for group in spec_obj.requested_resources:"},{"line_number":471,"context_line":"        res_req.add_request_group(group)"},{"line_number":472,"context_line":""},{"line_number":473,"context_line":"    if \u0027requested_destination\u0027 in spec_obj:"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_f307751f","line":470,"range":{"start_line":470,"start_character":17,"end_line":470,"end_character":45},"in_reply_to":"3f79a3b5_bf71d09b","updated":"2018-12-19 15:49:54.000000000","message":"Done","commit_id":"c637958a0e1ab7839be560fa4430d73968d66336"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"0b84825c8e1fb8126f7cc8a53f727a6b687895bd","unresolved":false,"context_lines":[{"line_number":467,"context_line":"    for rclass, amount in spec_resources.items():"},{"line_number":468,"context_line":"        res_req.get_request_group(None).resources[rclass] \u003d amount"},{"line_number":469,"context_line":""},{"line_number":470,"context_line":"    requested_resources \u003d (spec_obj.requested_resources"},{"line_number":471,"context_line":"                           if \u0027requested_resources\u0027 in spec_obj"},{"line_number":472,"context_line":"                              and spec_obj.requested_resources"},{"line_number":473,"context_line":"                           else [])"},{"line_number":474,"context_line":"    for group in requested_resources:"},{"line_number":475,"context_line":"        res_req.add_request_group(group)"},{"line_number":476,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_c23061ed","line":473,"range":{"start_line":470,"start_character":4,"end_line":473,"end_character":35},"updated":"2018-12-19 15:52:05.000000000","message":"Since this was missed in tests before, we should probably have a test case where we hit this code with spec_obj.requested_resources set to None.","commit_id":"a0fd2af6a0e3022cd94afca555223980b3d70b30"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"9bd7cc17c206f7f4dd7c3cdbc032199faf60540d","unresolved":false,"context_lines":[{"line_number":467,"context_line":"    for rclass, amount in spec_resources.items():"},{"line_number":468,"context_line":"        res_req.get_request_group(None).resources[rclass] \u003d amount"},{"line_number":469,"context_line":""},{"line_number":470,"context_line":"    requested_resources \u003d (spec_obj.requested_resources"},{"line_number":471,"context_line":"                           if \u0027requested_resources\u0027 in spec_obj"},{"line_number":472,"context_line":"                              and spec_obj.requested_resources"},{"line_number":473,"context_line":"                           else [])"},{"line_number":474,"context_line":"    for group in requested_resources:"},{"line_number":475,"context_line":"        res_req.add_request_group(group)"},{"line_number":476,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_f453c939","line":473,"range":{"start_line":470,"start_character":4,"end_line":473,"end_character":35},"in_reply_to":"3f79a3b5_c23061ed","updated":"2018-12-20 10:18:25.000000000","message":"Done","commit_id":"a0fd2af6a0e3022cd94afca555223980b3d70b30"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"23daa8cbf1214a1a20d58877c7180ee42b8c397f","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        \"\"\""},{"line_number":83,"context_line":"        # NOTE(gibi) [0] just here to always have a defined maximum"},{"line_number":84,"context_line":"        group_idents \u003d [0] + [int(ident) for ident in self._rg_by_id if ident]"},{"line_number":85,"context_line":"        ident \u003d max(group_idents) + 1"},{"line_number":86,"context_line":"        self._rg_by_id[ident] \u003d request_group"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    def _add_resource(self, groupid, rclass, amount):"}],"source_content_type":"text/x-python","patch_set":7,"id":"9fdfeff1_9564c023","line":85,"updated":"2019-01-29 13:44:12.000000000","message":"An easier-to-read way of doing the above would be:\n\n int_keys \u003d map(int, self._rg_by_id)\n ident \u003d max(0, *int_keys) + 1\n\nor just:\n\n ident \u003d max(0, *map(int, self._rg_by_id)) + 1","commit_id":"a5d6833d77c961ea75488f0992b91d3166424381"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"cba0982822741af3aaf3386738d671b96d08d11a","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        \"\"\""},{"line_number":83,"context_line":"        # NOTE(gibi) [0] just here to always have a defined maximum"},{"line_number":84,"context_line":"        group_idents \u003d [0] + [int(ident) for ident in self._rg_by_id if ident]"},{"line_number":85,"context_line":"        ident \u003d max(group_idents) + 1"},{"line_number":86,"context_line":"        self._rg_by_id[ident] \u003d request_group"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    def _add_resource(self, groupid, rclass, amount):"}],"source_content_type":"text/x-python","patch_set":7,"id":"9fdfeff1_1d25525c","line":85,"in_reply_to":"9fdfeff1_0723c5be","updated":"2019-01-29 17:10:36.000000000","message":"ugh. yeah. why do we use None again for the unnumbered request group index instead of 0?","commit_id":"a5d6833d77c961ea75488f0992b91d3166424381"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"0357f6d71266fbe2fc5ce281f284508d7925f3e1","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        \"\"\""},{"line_number":83,"context_line":"        # NOTE(gibi) [0] just here to always have a defined maximum"},{"line_number":84,"context_line":"        group_idents \u003d [0] + [int(ident) for ident in self._rg_by_id if ident]"},{"line_number":85,"context_line":"        ident \u003d max(group_idents) + 1"},{"line_number":86,"context_line":"        self._rg_by_id[ident] \u003d request_group"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    def _add_resource(self, groupid, rclass, amount):"}],"source_content_type":"text/x-python","patch_set":7,"id":"9fdfeff1_0723c5be","line":85,"in_reply_to":"9fdfeff1_9564c023","updated":"2019-01-29 16:19:56.000000000","message":"I think you missed the `if ident` part of the list comprehension. The ident can be None for the unnumbered group hence the conditional.","commit_id":"a5d6833d77c961ea75488f0992b91d3166424381"}]}
