)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"d547a9c049a220fc9c412a66daf8022d1e52b1fa","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"15ff0a96_30ea8198","updated":"2023-10-27 08:47:50.000000000","message":"Agree your idea. Please update unittest at the same time.","commit_id":"db65ff8bccdb32e902d1562acdc125cb5c04d907"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"4ffd194921a223998dc978f495b2ca9fdd69e234","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"eb540cc2_d9a2de0a","in_reply_to":"15ff0a96_30ea8198","updated":"2023-10-27 14:05:48.000000000","message":"I\u0027ve just added unit tests. Thanks for reviewing those patches!","commit_id":"db65ff8bccdb32e902d1562acdc125cb5c04d907"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"1ad587f74d1d2e4637c0adc015770ae6b500872f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"965b7138_13767d26","updated":"2023-11-27 07:31:28.000000000","message":"The CI passed again, I think this change can be merged.","commit_id":"424e9a76afa07c7b821b67096d84a9fb71eb51e5"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"c420d2f0a1219add053c7e0129a8889323036af9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"9b9722f1_d0a1ac2d","updated":"2023-11-14 13:25:49.000000000","message":"recheck","commit_id":"424e9a76afa07c7b821b67096d84a9fb71eb51e5"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"e288a5613ff64058e38a3d402c7cb95df954769d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"f5e02133_7e59af68","updated":"2023-10-28 08:51:40.000000000","message":"recheck","commit_id":"424e9a76afa07c7b821b67096d84a9fb71eb51e5"}],"watcher/decision_engine/strategy/strategies/vm_workload_consolidation.py":[{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"1dcf07e9f3da212dc7724c69996856c383370278","unresolved":true,"context_lines":[{"line_number":348,"context_line":"        total_node_util \u003d self._get_node_total_utilization(node)"},{"line_number":349,"context_line":"        total_node_cpu_util \u003d total_node_util[\u0027cpu\u0027] or 0"},{"line_number":350,"context_line":"        if total_node_cpu_util:"},{"line_number":351,"context_line":"            total_node_cpu_util \u003d total_node_cpu_util * node.vcpus / 100"},{"line_number":352,"context_line":"            # account for planned migrations"},{"line_number":353,"context_line":"            total_node_cpu_util +\u003d self.host_metric_delta[node.hostname][\u0027cpu\u0027]"},{"line_number":354,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"104eb9d7_5b86eaeb","line":351,"range":{"start_line":351,"start_character":68,"end_line":351,"end_character":72},"updated":"2023-10-31 05:23:23.000000000","message":"we need consider float value?","commit_id":"424e9a76afa07c7b821b67096d84a9fb71eb51e5"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"d6ab2ed34fe8715f371ace422993dd9ecf32d637","unresolved":true,"context_lines":[{"line_number":348,"context_line":"        total_node_util \u003d self._get_node_total_utilization(node)"},{"line_number":349,"context_line":"        total_node_cpu_util \u003d total_node_util[\u0027cpu\u0027] or 0"},{"line_number":350,"context_line":"        if total_node_cpu_util:"},{"line_number":351,"context_line":"            total_node_cpu_util \u003d total_node_cpu_util * node.vcpus / 100"},{"line_number":352,"context_line":"            # account for planned migrations"},{"line_number":353,"context_line":"            total_node_cpu_util +\u003d self.host_metric_delta[node.hostname][\u0027cpu\u0027]"},{"line_number":354,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"214f9e92_97de1012","line":351,"range":{"start_line":351,"start_character":68,"end_line":351,"end_character":72},"in_reply_to":"104eb9d7_5b86eaeb","updated":"2023-10-31 07:32:43.000000000","message":"\"/\" always returns a float in Python 3, \"//\" returns an int.","commit_id":"424e9a76afa07c7b821b67096d84a9fb71eb51e5"}],"watcher/tests/decision_engine/model/faker_cluster_and_metrics.py":[{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"7f445824bcdecda6206c3924ed97765e131e6712","unresolved":true,"context_lines":[{"line_number":186,"context_line":""},{"line_number":187,"context_line":"# TODO(lpetrut): consider dropping Ceilometer support, it was deprecated"},{"line_number":188,"context_line":"# in Ocata."},{"line_number":189,"context_line":"class FakeCeilometerMetrics(FakeGnocchiMetrics):"},{"line_number":190,"context_line":"    pass"}],"source_content_type":"text/x-python","patch_set":3,"id":"1091f440_5b4b6f9d","line":189,"updated":"2023-10-27 14:07:21.000000000","message":"FakeGnocchiMetrics and FakeCeilometerMetrics were identical, so I removed the duplicate code and made one inherit the other.","commit_id":"e9b0da64069be24e5a771fcdf8900d951f77c4b8"}]}
