)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"8ff89cb7316dc9c31301dff1e493c6d9b16662ca","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"1581d95b_551fd101","updated":"2024-12-06 15:29:54.000000000","message":"I will add a reno in the next patch","commit_id":"8589498abb9090713185af6dcdc8c84ad29ef774"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"7cf914b812e68a8e40d4ee93b2d8c3271291e11a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"7cfb2761_4323da41","updated":"2024-12-09 23:31:39.000000000","message":"This all looks good to me (other than the obvious, pep8 issue). Great details included in the commit message, conf help, and tests.","commit_id":"e0a35f2b9ae1f0349a4fb9d9f8d78144f74db9ee"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"a7ea7b0eeb9ca61a24389d5b57882824ce116035","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"1c6003a3_0e924386","in_reply_to":"7cfb2761_4323da41","updated":"2024-12-11 12:38:23.000000000","message":"fixed pep8","commit_id":"e0a35f2b9ae1f0349a4fb9d9f8d78144f74db9ee"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"adf4cae1e86c3ad7540a4a084cb53a1478cef350","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"022beae7_82e0f987","updated":"2024-12-12 03:45:50.000000000","message":"LGTM, thanks","commit_id":"9351241f91f80cb7dc45c4c0daab929b5dfc5c4b"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"5aeed61c55dc57d133e54efff7dd44d74d2af54b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"b70e0061_e1a59624","updated":"2025-01-08 19:22:54.000000000","message":"ill loop back and add +w when i finish reviewing the ohter 2 patches","commit_id":"9351241f91f80cb7dc45c4c0daab929b5dfc5c4b"}],"placement/tests/functional/test_allocation_candidates.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"3c558a4176414f3c717bebe855fc5ecce7c5b173","unresolved":true,"context_lines":[{"line_number":28,"context_line":"            \u0027X_ROLES\u0027: \u0027admin,service\u0027"},{"line_number":29,"context_line":"        }"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    def create_tree(self, num_roots, num_child, num_res_per_child):"},{"line_number":32,"context_line":"        self.roots \u003d {}"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"        for i, uuid in enumerate("},{"line_number":35,"context_line":"                (\"aaaaaaaa-701c-4bed-b6a8-b1616d0baaaa\","},{"line_number":36,"context_line":"                 \"bbbbbbbb-7757-4336-aa67-3634218cbbbb\")"},{"line_number":37,"context_line":"        ):"},{"line_number":38,"context_line":"            compute \u003d tb.create_provider(self.context, f\u0027compute{i}\u0027,uuid\u003duuid)"},{"line_number":39,"context_line":"            self.roots[compute.uuid] \u003d compute.name"},{"line_number":40,"context_line":"            tb.add_inventory(compute, \u0027VCPU\u0027, 8)"}],"source_content_type":"text/x-python","patch_set":1,"id":"cc41d5f2_2ad07f8c","line":37,"range":{"start_line":31,"start_character":0,"end_line":37,"end_character":10},"updated":"2024-11-28 19:34:37.000000000","message":"yeah num_roots is just ignored and we always create 2 computes. I needed understandable uuids to help my debugging with so many uuids in memory :)","commit_id":"e89dda1fcaf27f86c41441db28c8e5e4f5be83d3"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"5b944909b64767c59a9d87c3a9444d8bc79aca77","unresolved":false,"context_lines":[{"line_number":28,"context_line":"            \u0027X_ROLES\u0027: \u0027admin,service\u0027"},{"line_number":29,"context_line":"        }"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    def create_tree(self, num_roots, num_child, num_res_per_child):"},{"line_number":32,"context_line":"        self.roots \u003d {}"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"        for i, uuid in enumerate("},{"line_number":35,"context_line":"                (\"aaaaaaaa-701c-4bed-b6a8-b1616d0baaaa\","},{"line_number":36,"context_line":"                 \"bbbbbbbb-7757-4336-aa67-3634218cbbbb\")"},{"line_number":37,"context_line":"        ):"},{"line_number":38,"context_line":"            compute \u003d tb.create_provider(self.context, f\u0027compute{i}\u0027,uuid\u003duuid)"},{"line_number":39,"context_line":"            self.roots[compute.uuid] \u003d compute.name"},{"line_number":40,"context_line":"            tb.add_inventory(compute, \u0027VCPU\u0027, 8)"}],"source_content_type":"text/x-python","patch_set":1,"id":"2b386692_be58bf90","line":37,"range":{"start_line":31,"start_character":0,"end_line":37,"end_character":10},"in_reply_to":"cc41d5f2_2ad07f8c","updated":"2024-12-06 15:25:26.000000000","message":"Done","commit_id":"e89dda1fcaf27f86c41441db28c8e5e4f5be83d3"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"8ff89cb7316dc9c31301dff1e493c6d9b16662ca","unresolved":true,"context_lines":[{"line_number":91,"context_line":"            roots_with_candidates |\u003d root_allocated_rps"},{"line_number":92,"context_line":"            nr_of_candidates_per_compute.update(root_allocated_rps)"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"        print("},{"line_number":95,"context_line":"            \"nr of candidates per compute\", nr_of_candidates_per_compute,"},{"line_number":96,"context_line":"            \"size of response in MB\", sys.getsizeof(resp.text) / 1024 / 1024)"},{"line_number":97,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"d44bffcd_f0793682","line":94,"updated":"2024-12-06 15:29:54.000000000","message":"nit: drop this","commit_id":"8589498abb9090713185af6dcdc8c84ad29ef774"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"3016c3440dcdfb32d5cb3fc2436189e06c2faa53","unresolved":false,"context_lines":[{"line_number":91,"context_line":"            roots_with_candidates |\u003d root_allocated_rps"},{"line_number":92,"context_line":"            nr_of_candidates_per_compute.update(root_allocated_rps)"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"        print("},{"line_number":95,"context_line":"            \"nr of candidates per compute\", nr_of_candidates_per_compute,"},{"line_number":96,"context_line":"            \"size of response in MB\", sys.getsizeof(resp.text) / 1024 / 1024)"},{"line_number":97,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"d1293eb2_5a81d0cb","line":94,"in_reply_to":"d44bffcd_f0793682","updated":"2024-12-09 13:41:02.000000000","message":"Done","commit_id":"8589498abb9090713185af6dcdc8c84ad29ef774"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"8ff89cb7316dc9c31301dff1e493c6d9b16662ca","unresolved":true,"context_lines":[{"line_number":120,"context_line":"        # candidates."},{"line_number":121,"context_line":"        # 524288 valid candidates, the generation stops at 100k candidates,"},{"line_number":122,"context_line":"        # only 1000 is returned, result is unbalanced as the first 100k"},{"line_number":123,"context_line":"        # candidate is always from the first compute."},{"line_number":124,"context_line":"        self._test_num_candidates_and_computes("},{"line_number":125,"context_line":"            computes\u003d2, pfs\u003d8, vfs_per_pf\u003d8, req_groups\u003d6, req_res_per_group\u003d1,"},{"line_number":126,"context_line":"            req_limit\u003d1000,"}],"source_content_type":"text/x-python","patch_set":4,"id":"ea42040a_77d5bb1d","line":123,"updated":"2024-12-06 15:29:54.000000000","message":"this is a lie :) it is not always it is just very highly likely. But as this will be fixed by the next patch I think we can live with this theoretical test instability.","commit_id":"8589498abb9090713185af6dcdc8c84ad29ef774"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"df5e94746e5e1834f2b53b728d73da46f85b48e9","unresolved":false,"context_lines":[{"line_number":120,"context_line":"        # candidates."},{"line_number":121,"context_line":"        # 524288 valid candidates, the generation stops at 100k candidates,"},{"line_number":122,"context_line":"        # only 1000 is returned, result is unbalanced as the first 100k"},{"line_number":123,"context_line":"        # candidate is always from the first compute."},{"line_number":124,"context_line":"        self._test_num_candidates_and_computes("},{"line_number":125,"context_line":"            computes\u003d2, pfs\u003d8, vfs_per_pf\u003d8, req_groups\u003d6, req_res_per_group\u003d1,"},{"line_number":126,"context_line":"            req_limit\u003d1000,"}],"source_content_type":"text/x-python","patch_set":4,"id":"359c00d1_cd699347","line":123,"in_reply_to":"ea42040a_77d5bb1d","updated":"2024-12-06 17:04:18.000000000","message":"hm, not even a lie. I should stop working late on Friday. The first 100k candidated is always from the first compute as each compute has more than 200k candidates and this test runs depth-first","commit_id":"8589498abb9090713185af6dcdc8c84ad29ef774"}]}
