)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"cd526457364823000bfcc71c9b33069637e8d959","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     zhouhenglc \u003czhouhenglc@inspur.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2022-01-19 18:58:44 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"[ovn]support read chassis update time from nb_cfg_timetamp"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"nb_cfg_timetamp: The timestamp when ovn-controller finishes"},{"line_number":10,"context_line":"processing the change corresponding to nb_cfg[1]. it can better"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"fe929423_62ddc2af","line":7,"range":{"start_line":7,"start_character":43,"end_line":7,"end_character":58},"updated":"2022-02-15 12:51:10.000000000","message":"nit: nb_cfg_timestamp","commit_id":"d82b38b5a3cca3a3b4dcfd68b89333f0eef06e4d"},{"author":{"_account_id":30380,"name":"ZhouHeng","email":"zhouhenglc@inspur.com","username":"zhouhenglc"},"change_message_id":"f156cbcb36464410cf616d7cadc0ebafcfa4b189","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     zhouhenglc \u003czhouhenglc@inspur.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2022-01-19 18:58:44 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"[ovn]support read chassis update time from nb_cfg_timetamp"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"nb_cfg_timetamp: The timestamp when ovn-controller finishes"},{"line_number":10,"context_line":"processing the change corresponding to nb_cfg[1]. it can better"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"fa0af7b2_9ee33af5","line":7,"range":{"start_line":7,"start_character":43,"end_line":7,"end_character":58},"in_reply_to":"fe929423_62ddc2af","updated":"2022-02-16 01:03:51.000000000","message":"Done","commit_id":"d82b38b5a3cca3a3b4dcfd68b89333f0eef06e4d"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":30380,"name":"ZhouHeng","email":"zhouhenglc@inspur.com","username":"zhouhenglc"},"change_message_id":"9d21ff4acd8bb1ae6f7c733482a166c676f969ae","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"4e036767_d76ef3d5","updated":"2022-01-19 07:37:58.000000000","message":"recheck","commit_id":"489c6878193a23dd785ffbce0ec492853078ff97"},{"author":{"_account_id":30380,"name":"ZhouHeng","email":"zhouhenglc@inspur.com","username":"zhouhenglc"},"change_message_id":"5944f2439bd5e36355fb83ad5ccaa02a041520ad","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"9c9032bd_a5373bdc","updated":"2022-01-19 23:57:15.000000000","message":"recheck","commit_id":"d82b38b5a3cca3a3b4dcfd68b89333f0eef06e4d"},{"author":{"_account_id":30380,"name":"ZhouHeng","email":"zhouhenglc@inspur.com","username":"zhouhenglc"},"change_message_id":"1054c3c5b855d456172835c587fb9c87f72babeb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"33ac400f_68440643","updated":"2022-02-16 07:03:33.000000000","message":"recheck","commit_id":"fbe784eaa91ad3f69860df062e4986035e2aaa5a"},{"author":{"_account_id":30380,"name":"ZhouHeng","email":"zhouhenglc@inspur.com","username":"zhouhenglc"},"change_message_id":"74e9062667925d79e3e2535826b1cd30aaa8e743","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"5f6f97b9_2dac42ad","updated":"2022-03-02 05:39:05.000000000","message":"recheck","commit_id":"cd04b110e3e38ddfab84762f17dc05132cc9187b"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"929ac6fbda6f85cbba240972edcf7e0ed9184603","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"b22280a4_02de96ff","updated":"2022-04-19 10:46:12.000000000","message":"I\u0027m missing FTs, not only UTs. You should implement them.","commit_id":"6b5b0166ba1022bb6be39a164fbc42aaf1534ce4"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"f4a3d2fe6c69125a448c24cf0c4a1147b96b2366","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"4db0b707_112bb8ff","updated":"2022-03-18 10:51:46.000000000","message":"Looks ok","commit_id":"6b5b0166ba1022bb6be39a164fbc42aaf1534ce4"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"a416b4507a724387f263b9836c7fec0a0a04a0e9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"50ff8f29_252e7563","updated":"2022-03-22 11:06:53.000000000","message":"Looks ok for me but I would like Rodolfo or Kuba to take a look and approve it","commit_id":"6b5b0166ba1022bb6be39a164fbc42aaf1534ce4"},{"author":{"_account_id":30380,"name":"ZhouHeng","email":"zhouhenglc@inspur.com","username":"zhouhenglc"},"change_message_id":"5d0f8dc96e44c63b3599923f87778dfcdf435bb0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"9c823e49_7857bf88","in_reply_to":"b22280a4_02de96ff","updated":"2022-04-19 11:21:50.000000000","message":"ok, I will add FTs.","commit_id":"6b5b0166ba1022bb6be39a164fbc42aaf1534ce4"},{"author":{"_account_id":30380,"name":"ZhouHeng","email":"zhouhenglc@inspur.com","username":"zhouhenglc"},"change_message_id":"c4af2054ab9f4de521db4216c60941a7e090eabc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"a04c6bec_60c6a437","updated":"2022-05-06 09:13:56.000000000","message":"recheck","commit_id":"9e263dcf00b7ddc102a54f5e681bcf09931f3a72"}],"neutron/plugins/ml2/drivers/ovn/agent/neutron_agent.py":[{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"cd526457364823000bfcc71c9b33069637e8d959","unresolved":true,"context_lines":[{"line_number":41,"context_line":"        if not updated_at:"},{"line_number":42,"context_line":"            if hasattr(chassis_private, \u0027nb_cfg_timestamp\u0027):"},{"line_number":43,"context_line":"                updated_at \u003d datetime.datetime.fromtimestamp("},{"line_number":44,"context_line":"                    chassis_private.nb_cfg_timestamp / 1000,"},{"line_number":45,"context_line":"                    datetime.timezone.utc)"},{"line_number":46,"context_line":"            else:"},{"line_number":47,"context_line":"                updated_at \u003d timeutils.utcnow(with_timezone\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":8,"id":"6a44608f_a3a348d9","line":44,"range":{"start_line":44,"start_character":55,"end_line":44,"end_character":59},"updated":"2022-02-15 12:51:10.000000000","message":"just a question: why the division with 1000?","commit_id":"d82b38b5a3cca3a3b4dcfd68b89333f0eef06e4d"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"a219c63817b503b0be5e35395d12bf0636d70261","unresolved":false,"context_lines":[{"line_number":41,"context_line":"        if not updated_at:"},{"line_number":42,"context_line":"            if hasattr(chassis_private, \u0027nb_cfg_timestamp\u0027):"},{"line_number":43,"context_line":"                updated_at \u003d datetime.datetime.fromtimestamp("},{"line_number":44,"context_line":"                    chassis_private.nb_cfg_timestamp / 1000,"},{"line_number":45,"context_line":"                    datetime.timezone.utc)"},{"line_number":46,"context_line":"            else:"},{"line_number":47,"context_line":"                updated_at \u003d timeutils.utcnow(with_timezone\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":8,"id":"58323cdd_db320551","line":44,"range":{"start_line":44,"start_character":55,"end_line":44,"end_character":59},"in_reply_to":"01746aad_c0697951","updated":"2022-03-01 14:20:56.000000000","message":"You could maybe add short comment with this explanation to the code? It will be easier for others to understand it in the future while they will read the code 😊","commit_id":"d82b38b5a3cca3a3b4dcfd68b89333f0eef06e4d"},{"author":{"_account_id":30380,"name":"ZhouHeng","email":"zhouhenglc@inspur.com","username":"zhouhenglc"},"change_message_id":"f156cbcb36464410cf616d7cadc0ebafcfa4b189","unresolved":true,"context_lines":[{"line_number":41,"context_line":"        if not updated_at:"},{"line_number":42,"context_line":"            if hasattr(chassis_private, \u0027nb_cfg_timestamp\u0027):"},{"line_number":43,"context_line":"                updated_at \u003d datetime.datetime.fromtimestamp("},{"line_number":44,"context_line":"                    chassis_private.nb_cfg_timestamp / 1000,"},{"line_number":45,"context_line":"                    datetime.timezone.utc)"},{"line_number":46,"context_line":"            else:"},{"line_number":47,"context_line":"                updated_at \u003d timeutils.utcnow(with_timezone\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":8,"id":"75385a36_48783c4a","line":44,"range":{"start_line":44,"start_character":55,"end_line":44,"end_character":59},"in_reply_to":"6a44608f_a3a348d9","updated":"2022-02-16 01:03:51.000000000","message":"hi Lajos, nb_cfg_timestamp is microsecond timestamp, updated_at is second timestamp.","commit_id":"d82b38b5a3cca3a3b4dcfd68b89333f0eef06e4d"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"abfb3f95ac30f7b08369018ccb7615f0b39aa93c","unresolved":false,"context_lines":[{"line_number":41,"context_line":"        if not updated_at:"},{"line_number":42,"context_line":"            if hasattr(chassis_private, \u0027nb_cfg_timestamp\u0027):"},{"line_number":43,"context_line":"                updated_at \u003d datetime.datetime.fromtimestamp("},{"line_number":44,"context_line":"                    chassis_private.nb_cfg_timestamp / 1000,"},{"line_number":45,"context_line":"                    datetime.timezone.utc)"},{"line_number":46,"context_line":"            else:"},{"line_number":47,"context_line":"                updated_at \u003d timeutils.utcnow(with_timezone\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":8,"id":"01746aad_c0697951","line":44,"range":{"start_line":44,"start_character":55,"end_line":44,"end_character":59},"in_reply_to":"75385a36_48783c4a","updated":"2022-02-22 12:10:12.000000000","message":"Ack","commit_id":"d82b38b5a3cca3a3b4dcfd68b89333f0eef06e4d"}],"neutron/tests/unit/plugins/ml2/drivers/ovn/mech_driver/test_mech_driver.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"b1c964312b14575e3d33902940e880d728fc93cd","unresolved":true,"context_lines":[{"line_number":1970,"context_line":"        agent_type \u003d ovn_const.OVN_CONTROLLER_AGENT"},{"line_number":1971,"context_line":"        agent \u003d self._add_chassis_agent(nb_cfg, agent_type,"},{"line_number":1972,"context_line":"                                        chassis_private)"},{"line_number":1973,"context_line":"        self.assertTrue(agent.alive, \"Agent of type %s alive\u003d%s\" % ("},{"line_number":1974,"context_line":"            agent.agent_type, agent.alive))"},{"line_number":1975,"context_line":""},{"line_number":1976,"context_line":"    def _test__update_dnat_entry_if_needed(self, up\u003dTrue):"}],"source_content_type":"text/x-python","patch_set":5,"id":"49c8bdac_7db1874c","line":1973,"updated":"2022-01-18 09:45:49.000000000","message":"I didn\u0027t review whole patch but I saw that here that UT is failing sometimes, please check that.","commit_id":"384a428f9bdf9afc29a2f40a8bb56e27279a77c6"},{"author":{"_account_id":30380,"name":"ZhouHeng","email":"zhouhenglc@inspur.com","username":"zhouhenglc"},"change_message_id":"75b7481c76aff30260618a5429886febef3bd1bc","unresolved":false,"context_lines":[{"line_number":1970,"context_line":"        agent_type \u003d ovn_const.OVN_CONTROLLER_AGENT"},{"line_number":1971,"context_line":"        agent \u003d self._add_chassis_agent(nb_cfg, agent_type,"},{"line_number":1972,"context_line":"                                        chassis_private)"},{"line_number":1973,"context_line":"        self.assertTrue(agent.alive, \"Agent of type %s alive\u003d%s\" % ("},{"line_number":1974,"context_line":"            agent.agent_type, agent.alive))"},{"line_number":1975,"context_line":""},{"line_number":1976,"context_line":"    def _test__update_dnat_entry_if_needed(self, up\u003dTrue):"}],"source_content_type":"text/x-python","patch_set":5,"id":"1f116c88_6ab1ddb9","line":1973,"in_reply_to":"49c8bdac_7db1874c","updated":"2022-01-20 10:52:07.000000000","message":"Done","commit_id":"384a428f9bdf9afc29a2f40a8bb56e27279a77c6"}]}
