)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"c37fdd36c357b6de942ebe505830a014e02d062b","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Balazs Gibizer \u003cbalazs.gibizer@ericsson.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2019-03-13 16:28:19 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Refactor _heal_allocations_for_instance (2)"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When no allocation exist for an instance the current heal code uses a"},{"line_number":10,"context_line":"report client call that can only handle allocations from a single RP."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"5fc1f717_fd514137","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":8},"updated":"2019-03-15 16:52:48.000000000","message":"I don\u0027t consider this a refactor. You\u0027re replacing a method call with a call to a different method, which has different semantics and side effects.","commit_id":"399d0fa8b2837ed3e6be956983a44946f64f1216"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"e3fc0e963ec638fcd9d3e85013370872d1ee83ad","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Balazs Gibizer \u003cbalazs.gibizer@ericsson.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2019-03-13 16:28:19 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Refactor _heal_allocations_for_instance (2)"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When no allocation exist for an instance the current heal code uses a"},{"line_number":10,"context_line":"report client call that can only handle allocations from a single RP."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"5fc1f717_36ca6ca0","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":8},"in_reply_to":"5fc1f717_fd514137","updated":"2019-03-18 16:27:25.000000000","message":"Done","commit_id":"399d0fa8b2837ed3e6be956983a44946f64f1216"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"68f3e83d3c567ecc0bad1aa17a99b232f0090f9e","unresolved":false,"context_lines":[{"line_number":11,"context_line":"This call is now replaced with a more generic one so in a later patch"},{"line_number":12,"context_line":"port allocations can be added to this code path too."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"This remove the last caller of the report client\u0027s put_allocations()"},{"line_number":15,"context_line":"function. That unused code will be removed in a separate patch."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Related-Bug: #1819923"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"5fc1f717_5ccdd7b4","line":14,"range":{"start_line":14,"start_character":5,"end_line":14,"end_character":11},"updated":"2019-03-18 17:14:57.000000000","message":"nit: removes","commit_id":"35bbcb964595a5b830df04692624526e856af7ce"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"5be2ae0ce2ca94c0ff42137c02a081180be91fab","unresolved":false,"context_lines":[{"line_number":11,"context_line":"This call is now replaced with a more generic one so in a later patch"},{"line_number":12,"context_line":"port allocations can be added to this code path too."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"This remove the last caller of the report client\u0027s put_allocations()"},{"line_number":15,"context_line":"function. That unused code will be removed in a separate patch."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Related-Bug: #1819923"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"5fc1f717_b8cc27bb","line":14,"range":{"start_line":14,"start_character":5,"end_line":14,"end_character":11},"in_reply_to":"5fc1f717_5ccdd7b4","updated":"2019-03-27 17:15:21.000000000","message":"Done. It does not removes the last caller any more :)","commit_id":"35bbcb964595a5b830df04692624526e856af7ce"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"b98e33c5928f7515e233ae1db3d2bad9fe726623","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Prepare _heal_allocations_for_instance for nested allocations"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When no allocation exist for an instance the current heal code uses a"},{"line_number":10,"context_line":"report client call that can only handle allocations from a single RP."},{"line_number":11,"context_line":"This call is now replaced with a more generic one so in a later patch"},{"line_number":12,"context_line":"port allocations can be added to this code path too."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":17,"id":"bfb3d3c7_d034e9fd","line":9,"range":{"start_line":9,"start_character":8,"end_line":9,"end_character":18},"updated":"2019-05-21 22:46:27.000000000","message":"allocations","commit_id":"2c5b7aefd07884040edcf27cd512f6c2627cfd8f"}],"nova/cmd/manage.py":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"c37fdd36c357b6de942ebe505830a014e02d062b","unresolved":false,"context_lines":[{"line_number":1895,"context_line":"                \u0027consumer_generation\u0027: None"},{"line_number":1896,"context_line":"            }"},{"line_number":1897,"context_line":""},{"line_number":1898,"context_line":"            if placement._put_allocations(ctxt, instance.uuid, allocations):"},{"line_number":1899,"context_line":"                output(_(\u0027Successfully created allocations for \u0027"},{"line_number":1900,"context_line":"                         \u0027instance %(instance)s against resource \u0027"},{"line_number":1901,"context_line":"                         \u0027provider %(provider)s.\u0027) %"}],"source_content_type":"text/x-python","patch_set":8,"id":"5fc1f717_bd473977","line":1898,"range":{"start_line":1898,"start_character":25,"end_line":1898,"end_character":26},"updated":"2019-03-15 16:52:48.000000000","message":"-1 to calling a private method.","commit_id":"399d0fa8b2837ed3e6be956983a44946f64f1216"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"e3fc0e963ec638fcd9d3e85013370872d1ee83ad","unresolved":false,"context_lines":[{"line_number":1895,"context_line":"                \u0027consumer_generation\u0027: None"},{"line_number":1896,"context_line":"            }"},{"line_number":1897,"context_line":""},{"line_number":1898,"context_line":"            if placement._put_allocations(ctxt, instance.uuid, allocations):"},{"line_number":1899,"context_line":"                output(_(\u0027Successfully created allocations for \u0027"},{"line_number":1900,"context_line":"                         \u0027instance %(instance)s against resource \u0027"},{"line_number":1901,"context_line":"                         \u0027provider %(provider)s.\u0027) %"}],"source_content_type":"text/x-python","patch_set":8,"id":"5fc1f717_56cdb8b4","line":1898,"range":{"start_line":1898,"start_character":25,"end_line":1898,"end_character":26},"in_reply_to":"5fc1f717_bd473977","updated":"2019-03-18 16:27:25.000000000","message":"Done","commit_id":"399d0fa8b2837ed3e6be956983a44946f64f1216"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"7b03fd68dbd571d11a1235350dec7f34f5dfdebf","unresolved":false,"context_lines":[{"line_number":1904,"context_line":"                return True"},{"line_number":1905,"context_line":"            else:"},{"line_number":1906,"context_line":"                raise exception.AllocationUpdateFailed("},{"line_number":1907,"context_line":"                    consumer_uuid\u003dinstance.uuid, error\u003dresp.text)"},{"line_number":1908,"context_line":"        else:"},{"line_number":1909,"context_line":"            # This instance doesn\u0027t have allocations so we need to find"},{"line_number":1910,"context_line":"            # its compute node resource provider."}],"source_content_type":"text/x-python","patch_set":10,"id":"5fc1f717_2111b65e","line":1907,"range":{"start_line":1907,"start_character":55,"end_line":1907,"end_character":64},"updated":"2019-03-29 15:46:15.000000000","message":"This is not valid after the above change as put_allocations() returns a boolean only","commit_id":"fad2f660d57ce93e843addd5c49760f1067ee0e9"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"b1023d3dd07f06fe25a45822ba77d6e51773c899","unresolved":false,"context_lines":[{"line_number":1904,"context_line":"                return True"},{"line_number":1905,"context_line":"            else:"},{"line_number":1906,"context_line":"                raise exception.AllocationUpdateFailed("},{"line_number":1907,"context_line":"                    consumer_uuid\u003dinstance.uuid, error\u003dresp.text)"},{"line_number":1908,"context_line":"        else:"},{"line_number":1909,"context_line":"            # This instance doesn\u0027t have allocations so we need to find"},{"line_number":1910,"context_line":"            # its compute node resource provider."}],"source_content_type":"text/x-python","patch_set":10,"id":"5fc1f717_7b9fcb01","line":1907,"range":{"start_line":1907,"start_character":55,"end_line":1907,"end_character":64},"in_reply_to":"5fc1f717_2111b65e","updated":"2019-04-08 16:34:22.000000000","message":"The retry decorator returns a bool anyhow so we cannot really  enhance this error message if we need retry as well.","commit_id":"fad2f660d57ce93e843addd5c49760f1067ee0e9"}],"nova/scheduler/client/report.py":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"b98e33c5928f7515e233ae1db3d2bad9fe726623","unresolved":false,"context_lines":[{"line_number":1928,"context_line":"                     \u0027text\u0027: r.text})"},{"line_number":1929,"context_line":"        return r.status_code \u003d\u003d 204"},{"line_number":1930,"context_line":""},{"line_number":1931,"context_line":"    @safe_connect"},{"line_number":1932,"context_line":"    @retries"},{"line_number":1933,"context_line":"    def put_allocations(self, context, consumer_uuid, allocation):"},{"line_number":1934,"context_line":"        \"\"\"Creates allocation records for the supplied consumer UUID based on"}],"source_content_type":"text/x-python","patch_set":17,"id":"bfb3d3c7_f007ad1b","line":1931,"range":{"start_line":1931,"start_character":4,"end_line":1931,"end_character":17},"updated":"2019-05-21 22:46:27.000000000","message":"TODO: kill @safe_connect","commit_id":"2c5b7aefd07884040edcf27cd512f6c2627cfd8f"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"8ad797e685738133524d5c5e8552b20bc32edc2a","unresolved":false,"context_lines":[{"line_number":1928,"context_line":"                     \u0027text\u0027: r.text})"},{"line_number":1929,"context_line":"        return r.status_code \u003d\u003d 204"},{"line_number":1930,"context_line":""},{"line_number":1931,"context_line":"    @safe_connect"},{"line_number":1932,"context_line":"    @retries"},{"line_number":1933,"context_line":"    def put_allocations(self, context, consumer_uuid, allocation):"},{"line_number":1934,"context_line":"        \"\"\"Creates allocation records for the supplied consumer UUID based on"}],"source_content_type":"text/x-python","patch_set":17,"id":"bfb3d3c7_0961a505","line":1931,"range":{"start_line":1931,"start_character":4,"end_line":1931,"end_character":17},"in_reply_to":"bfb3d3c7_f007ad1b","updated":"2019-05-28 08:14:16.000000000","message":"Done","commit_id":"2c5b7aefd07884040edcf27cd512f6c2627cfd8f"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"b98e33c5928f7515e233ae1db3d2bad9fe726623","unresolved":false,"context_lines":[{"line_number":1930,"context_line":""},{"line_number":1931,"context_line":"    @safe_connect"},{"line_number":1932,"context_line":"    @retries"},{"line_number":1933,"context_line":"    def put_allocations(self, context, consumer_uuid, allocation):"},{"line_number":1934,"context_line":"        \"\"\"Creates allocation records for the supplied consumer UUID based on"},{"line_number":1935,"context_line":"        the provided allocation dict"},{"line_number":1936,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"bfb3d3c7_b01a957a","line":1933,"range":{"start_line":1933,"start_character":54,"end_line":1933,"end_character":64},"updated":"2019-05-21 22:46:27.000000000","message":"this should be called `allocations`\n\nor even `payload`","commit_id":"2c5b7aefd07884040edcf27cd512f6c2627cfd8f"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"8ad797e685738133524d5c5e8552b20bc32edc2a","unresolved":false,"context_lines":[{"line_number":1930,"context_line":""},{"line_number":1931,"context_line":"    @safe_connect"},{"line_number":1932,"context_line":"    @retries"},{"line_number":1933,"context_line":"    def put_allocations(self, context, consumer_uuid, allocation):"},{"line_number":1934,"context_line":"        \"\"\"Creates allocation records for the supplied consumer UUID based on"},{"line_number":1935,"context_line":"        the provided allocation dict"},{"line_number":1936,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"bfb3d3c7_4938fdec","line":1933,"range":{"start_line":1933,"start_character":54,"end_line":1933,"end_character":64},"in_reply_to":"bfb3d3c7_b01a957a","updated":"2019-05-28 08:14:16.000000000","message":"Done","commit_id":"2c5b7aefd07884040edcf27cd512f6c2627cfd8f"}],"nova/tests/functional/test_report_client.py":[{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"dcee7ace5be9cf461332a4050d7812347524ad0f","unresolved":false,"context_lines":[{"line_number":252,"context_line":"                    \"project_id\": self.instance.project_id,"},{"line_number":253,"context_line":"                    \"user_id\": self.instance.user_id,"},{"line_number":254,"context_line":"                    \"consumer_generation\": None"},{"line_number":255,"context_line":"                })"},{"line_number":256,"context_line":""},{"line_number":257,"context_line":"            # Check that allocations were made"},{"line_number":258,"context_line":"            resp \u003d self.client.get(\u0027/allocations/%s\u0027 % self.instance_uuid)"}],"source_content_type":"text/x-python","patch_set":17,"id":"bfb3d3c7_ec4a8a7e","line":255,"updated":"2019-05-21 11:22:48.000000000","message":"I\u0027d be inclined to build the dict before the method call, but I seem to recall a conversation like this somewhere else in the past, and don\u0027t really care _that_ much.","commit_id":"2c5b7aefd07884040edcf27cd512f6c2627cfd8f"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"8ad797e685738133524d5c5e8552b20bc32edc2a","unresolved":false,"context_lines":[{"line_number":252,"context_line":"                    \"project_id\": self.instance.project_id,"},{"line_number":253,"context_line":"                    \"user_id\": self.instance.user_id,"},{"line_number":254,"context_line":"                    \"consumer_generation\": None"},{"line_number":255,"context_line":"                })"},{"line_number":256,"context_line":""},{"line_number":257,"context_line":"            # Check that allocations were made"},{"line_number":258,"context_line":"            resp \u003d self.client.get(\u0027/allocations/%s\u0027 % self.instance_uuid)"}],"source_content_type":"text/x-python","patch_set":17,"id":"bfb3d3c7_c92b8d92","line":255,"in_reply_to":"bfb3d3c7_ec4a8a7e","updated":"2019-05-28 08:14:16.000000000","message":"Done","commit_id":"2c5b7aefd07884040edcf27cd512f6c2627cfd8f"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"dcee7ace5be9cf461332a4050d7812347524ad0f","unresolved":false,"context_lines":[{"line_number":704,"context_line":"                        \"project_id\": uuids.proj,"},{"line_number":705,"context_line":"                        \"user_id\": uuids.user,"},{"line_number":706,"context_line":"                        \"consumer_generation\": None"},{"line_number":707,"context_line":"                    }))"},{"line_number":708,"context_line":"            # ...and trying to delete the provider\u0027s VF inventory"},{"line_number":709,"context_line":"            bad_inv \u003d {"},{"line_number":710,"context_line":"                \u0027CUSTOM_BANDWIDTH\u0027: {"}],"source_content_type":"text/x-python","patch_set":17,"id":"bfb3d3c7_ac5c924b","line":707,"updated":"2019-05-21 11:22:48.000000000","message":"ditto","commit_id":"2c5b7aefd07884040edcf27cd512f6c2627cfd8f"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"8ad797e685738133524d5c5e8552b20bc32edc2a","unresolved":false,"context_lines":[{"line_number":704,"context_line":"                        \"project_id\": uuids.proj,"},{"line_number":705,"context_line":"                        \"user_id\": uuids.user,"},{"line_number":706,"context_line":"                        \"consumer_generation\": None"},{"line_number":707,"context_line":"                    }))"},{"line_number":708,"context_line":"            # ...and trying to delete the provider\u0027s VF inventory"},{"line_number":709,"context_line":"            bad_inv \u003d {"},{"line_number":710,"context_line":"                \u0027CUSTOM_BANDWIDTH\u0027: {"}],"source_content_type":"text/x-python","patch_set":17,"id":"bfb3d3c7_69162158","line":707,"in_reply_to":"bfb3d3c7_ac5c924b","updated":"2019-05-28 08:14:16.000000000","message":"Done","commit_id":"2c5b7aefd07884040edcf27cd512f6c2627cfd8f"}]}
