)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"34ebf96a5846470f93bc2fb12d698919452d9f49","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"d5647df8_ec35c8d0","updated":"2021-11-09 08:48:04.000000000","message":"Please fix pep8 issues","commit_id":"632d17b4c97d97cfa31bffb913b39a5ceaf1f4b3"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"e05ed4c22618d6c330cf93de4200e42419607e2b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"4082fcdd_985671fd","updated":"2021-11-11 01:12:34.000000000","message":"recheck","commit_id":"220ac34dfb7444cc6527a4122cd9b5edba539c00"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"f5c06343b45e227409551789f4c60939d88e432f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"6d229ed8_495b8056","updated":"2022-02-11 10:50:44.000000000","message":"Thanks for the hard work","commit_id":"6c0961d5f4ddf2e59c718bd2f822332b93d863ea"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"c5a0ad8fd273f45d5a21b6c65e1d33df96ed04fd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"5c578c30_56969479","updated":"2022-02-08 14:06:49.000000000","message":"recheck","commit_id":"6c0961d5f4ddf2e59c718bd2f822332b93d863ea"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"f4383bb29d6857baf0cf97a0b6ce83008fc02d2a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"63c27a89_e152e092","updated":"2022-02-10 07:49:05.000000000","message":"recheck","commit_id":"6c0961d5f4ddf2e59c718bd2f822332b93d863ea"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"660b677f80f13021a0e4c72676209178d23cbbec","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"adf6cb0a_e7af14c1","updated":"2022-02-09 01:11:28.000000000","message":"recheck","commit_id":"6c0961d5f4ddf2e59c718bd2f822332b93d863ea"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"cf58a7f1dfa808349c11f7c5fc7e879885ab542f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"5b308043_7da9f096","updated":"2022-02-23 08:42:53.000000000","message":"recheck","commit_id":"82192414410c407e7da875583d5480ba46207811"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"f4f402fb6e8cc0da1fc0444f745caa3ca4177deb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"19bbaa3d_e8ad7298","updated":"2022-03-15 07:13:15.000000000","message":"recheck","commit_id":"dad8a65095804b43f4e98f3a3deefba9f947eb47"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"184c70823767bc9edd4363557a7437649b533f76","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"438ccaf7_7c349274","updated":"2022-03-16 06:59:31.000000000","message":"recheck","commit_id":"dad8a65095804b43f4e98f3a3deefba9f947eb47"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"7be84f17ef58ac4192a9c1d00860ea0fe0b78015","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"75f15aa8_bf600d26","updated":"2022-03-15 12:25:05.000000000","message":"recheck","commit_id":"dad8a65095804b43f4e98f3a3deefba9f947eb47"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"082e0a85777ac63582d06288dc564ceec95366cd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"7097a20d_827776eb","updated":"2022-03-17 03:21:38.000000000","message":"recheck","commit_id":"f2705427527b4bae9f5bb86efeaddf71007d3a00"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"fa823d9eb4a2f8b86b5acbd2f3f5dcf77c038c04","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"fa9e10df_09a348b6","updated":"2022-03-22 07:33:32.000000000","message":"recheck","commit_id":"b41c07241886da8ae010c45ed02fc30edde1eb0b"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"4e65ef9cbe4d75d22fe5281da0500fdd9fa8bc16","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"a7b368ba_ec00737d","updated":"2022-03-22 08:51:10.000000000","message":"recheck - functional job\u0027s was stopped when test was still \"inprogress\"","commit_id":"b41c07241886da8ae010c45ed02fc30edde1eb0b"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"2a7f51980579b2cbb24878988f2f0cc0e019739f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"8606a18c_3ae18147","updated":"2022-04-22 09:30:14.000000000","message":"recheck","commit_id":"5ecd4b5b4ace485a18beabc6e780298a4dba6107"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"5eccd356b3d91a7a46e75db191f61a5a880642cb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"a93c18d5_f6fb157a","updated":"2022-05-16 11:34:28.000000000","message":"Thanks for the efforts","commit_id":"5765186516ae6af3477fc1c1cdd0367e8c878189"}],"doc/source/admin/config-qos.rst":[{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"9f8c05f515b409e4802178858b18900de16d2820","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":8,"id":"beb71cda_77b67d55","updated":"2022-02-09 11:03:18.000000000","message":"Could you please update the documentation also?","commit_id":"6c0961d5f4ddf2e59c718bd2f822332b93d863ea"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"f5c06343b45e227409551789f4c60939d88e432f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"1cee5dd9_2e72b23b","in_reply_to":"6572af53_a92dcc1d","updated":"2022-02-11 10:50:44.000000000","message":"+1","commit_id":"6c0961d5f4ddf2e59c718bd2f822332b93d863ea"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"cb3a24e90263c60eed11922dacd13f8768a60383","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"6572af53_a92dcc1d","in_reply_to":"8b3ef2f4_60638027","updated":"2022-02-10 07:48:48.000000000","message":"Done in a separated patch: https://review.opendev.org/c/openstack/neutron/+/828673/1","commit_id":"6c0961d5f4ddf2e59c718bd2f822332b93d863ea"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"e3f78b84f43e3f1f04dbada4bf54f65fabbe7419","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"8b3ef2f4_60638027","in_reply_to":"beb71cda_77b67d55","updated":"2022-02-09 14:33:51.000000000","message":"Done","commit_id":"6c0961d5f4ddf2e59c718bd2f822332b93d863ea"}],"neutron/plugins/ml2/drivers/openvswitch/agent/extension_drivers/qos_driver.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"bbadd367d2474c677c1f417462587dfebb381126","unresolved":true,"context_lines":[{"line_number":88,"context_line":"        if self.max_meter \u003c\u003d 0:"},{"line_number":89,"context_line":"            return"},{"line_number":90,"context_line":"        used_meter_ids \u003d self.PORT_METER_ID.values()"},{"line_number":91,"context_line":"        cid \u003d None"},{"line_number":92,"context_line":"        times \u003d 0"},{"line_number":93,"context_line":"        while not cid or cid in used_meter_ids:"},{"line_number":94,"context_line":"            cid \u003d random.randint(1, self.max_meter)"}],"source_content_type":"text/x-python","patch_set":8,"id":"675d0851_7b8be4de","line":91,"updated":"2022-02-22 20:59:46.000000000","message":"nit: You could simply do here:\n\n    cid \u003d random.randint(1, self.max_meter)\n\nand then in L93 You wouldn\u0027t need \"not cid\" in the condition.","commit_id":"6c0961d5f4ddf2e59c718bd2f822332b93d863ea"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"e144a962d4666ae78a9089f5ffc605576f21c238","unresolved":true,"context_lines":[{"line_number":88,"context_line":"        if self.max_meter \u003c\u003d 0:"},{"line_number":89,"context_line":"            return"},{"line_number":90,"context_line":"        used_meter_ids \u003d self.PORT_METER_ID.values()"},{"line_number":91,"context_line":"        cid \u003d None"},{"line_number":92,"context_line":"        times \u003d 0"},{"line_number":93,"context_line":"        while not cid or cid in used_meter_ids:"},{"line_number":94,"context_line":"            cid \u003d random.randint(1, self.max_meter)"}],"source_content_type":"text/x-python","patch_set":8,"id":"b6bf714a_b441bb18","line":91,"in_reply_to":"675d0851_7b8be4de","updated":"2022-02-23 01:05:27.000000000","message":"Then it will be duplicated to line 94 in case this randint return value is in used_meter_ids.","commit_id":"6c0961d5f4ddf2e59c718bd2f822332b93d863ea"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"1aadf2b08537aafef8cbcf3c11ee32f40724b219","unresolved":false,"context_lines":[{"line_number":88,"context_line":"        if self.max_meter \u003c\u003d 0:"},{"line_number":89,"context_line":"            return"},{"line_number":90,"context_line":"        used_meter_ids \u003d self.PORT_METER_ID.values()"},{"line_number":91,"context_line":"        cid \u003d None"},{"line_number":92,"context_line":"        times \u003d 0"},{"line_number":93,"context_line":"        while not cid or cid in used_meter_ids:"},{"line_number":94,"context_line":"            cid \u003d random.randint(1, self.max_meter)"}],"source_content_type":"text/x-python","patch_set":8,"id":"bb4894eb_a6dfea77","line":91,"in_reply_to":"b6bf714a_b441bb18","updated":"2022-04-08 00:27:16.000000000","message":"Ack","commit_id":"6c0961d5f4ddf2e59c718bd2f822332b93d863ea"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"bbadd367d2474c677c1f417462587dfebb381126","unresolved":true,"context_lines":[{"line_number":94,"context_line":"            cid \u003d random.randint(1, self.max_meter)"},{"line_number":95,"context_line":"            times +\u003d 1"},{"line_number":96,"context_line":"            if times \u003e\u003d MAX_RETIES:"},{"line_number":97,"context_line":"                return"},{"line_number":98,"context_line":"        return cid"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    def allocated_meter_id(self, port_id, direction):"}],"source_content_type":"text/x-python","patch_set":8,"id":"b0c3c14f_d823d735","line":97,"updated":"2022-02-22 20:59:46.000000000","message":"shouldn\u0027t You log something in such case?","commit_id":"6c0961d5f4ddf2e59c718bd2f822332b93d863ea"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"e144a962d4666ae78a9089f5ffc605576f21c238","unresolved":false,"context_lines":[{"line_number":94,"context_line":"            cid \u003d random.randint(1, self.max_meter)"},{"line_number":95,"context_line":"            times +\u003d 1"},{"line_number":96,"context_line":"            if times \u003e\u003d MAX_RETIES:"},{"line_number":97,"context_line":"                return"},{"line_number":98,"context_line":"        return cid"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    def allocated_meter_id(self, port_id, direction):"}],"source_content_type":"text/x-python","patch_set":8,"id":"28d86794_70c3d053","line":97,"in_reply_to":"b0c3c14f_d823d735","updated":"2022-02-23 01:05:27.000000000","message":"Done","commit_id":"6c0961d5f4ddf2e59c718bd2f822332b93d863ea"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"bbadd367d2474c677c1f417462587dfebb381126","unresolved":true,"context_lines":[{"line_number":97,"context_line":"                return"},{"line_number":98,"context_line":"        return cid"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    def allocated_meter_id(self, port_id, direction):"},{"line_number":101,"context_line":"        meter_id \u003d self.generate_meter_id()"},{"line_number":102,"context_line":"        if not meter_id:"},{"line_number":103,"context_line":"            return"}],"source_content_type":"text/x-python","patch_set":8,"id":"944e9b8f_4cebd1e0","line":100,"updated":"2022-02-22 20:59:46.000000000","message":"I think that this method should be called \"allocate_meter_id\" not \"allocated\"","commit_id":"6c0961d5f4ddf2e59c718bd2f822332b93d863ea"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"e144a962d4666ae78a9089f5ffc605576f21c238","unresolved":false,"context_lines":[{"line_number":97,"context_line":"                return"},{"line_number":98,"context_line":"        return cid"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    def allocated_meter_id(self, port_id, direction):"},{"line_number":101,"context_line":"        meter_id \u003d self.generate_meter_id()"},{"line_number":102,"context_line":"        if not meter_id:"},{"line_number":103,"context_line":"            return"}],"source_content_type":"text/x-python","patch_set":8,"id":"1c0580a1_a58cce77","line":100,"in_reply_to":"944e9b8f_4cebd1e0","updated":"2022-02-23 01:05:27.000000000","message":"Done","commit_id":"6c0961d5f4ddf2e59c718bd2f822332b93d863ea"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"bbadd367d2474c677c1f417462587dfebb381126","unresolved":true,"context_lines":[{"line_number":145,"context_line":""},{"line_number":146,"context_line":"    def update_packet_rate_limit(self, port, rule):"},{"line_number":147,"context_line":"        if not self.support_meter:"},{"line_number":148,"context_line":"            LOG.debug(\"Meter feature was not support by ovs %s bridge\","},{"line_number":149,"context_line":"                      self.br_int.br_name)"},{"line_number":150,"context_line":"            return"},{"line_number":151,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"f082d4a5_e08f28d6","line":148,"range":{"start_line":148,"start_character":37,"end_line":148,"end_character":52},"updated":"2022-02-22 20:59:46.000000000","message":"nit: I think it should be \"is not supported\"","commit_id":"6c0961d5f4ddf2e59c718bd2f822332b93d863ea"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"e144a962d4666ae78a9089f5ffc605576f21c238","unresolved":false,"context_lines":[{"line_number":145,"context_line":""},{"line_number":146,"context_line":"    def update_packet_rate_limit(self, port, rule):"},{"line_number":147,"context_line":"        if not self.support_meter:"},{"line_number":148,"context_line":"            LOG.debug(\"Meter feature was not support by ovs %s bridge\","},{"line_number":149,"context_line":"                      self.br_int.br_name)"},{"line_number":150,"context_line":"            return"},{"line_number":151,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"0a7073f1_bb102ad8","line":148,"range":{"start_line":148,"start_character":37,"end_line":148,"end_character":52},"in_reply_to":"f082d4a5_e08f28d6","updated":"2022-02-23 01:05:27.000000000","message":"Done","commit_id":"6c0961d5f4ddf2e59c718bd2f822332b93d863ea"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"bbadd367d2474c677c1f417462587dfebb381126","unresolved":true,"context_lines":[{"line_number":284,"context_line":"        self.br_int \u003d self.agent_api.request_int_br()"},{"line_number":285,"context_line":"        self.cookie \u003d self.br_int.default_cookie"},{"line_number":286,"context_line":"        self._minimum_bandwidth_initialize()"},{"line_number":287,"context_line":""},{"line_number":288,"context_line":"        self.meter_cache \u003d MeterRuleManager(self.br_int)"},{"line_number":289,"context_line":""},{"line_number":290,"context_line":"    def create_bandwidth_limit(self, port, rule):"}],"source_content_type":"text/x-python","patch_set":8,"id":"51eab01c_d324538b","line":287,"updated":"2022-02-22 20:59:46.000000000","message":"nit: why this empty line is needed?","commit_id":"6c0961d5f4ddf2e59c718bd2f822332b93d863ea"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"e144a962d4666ae78a9089f5ffc605576f21c238","unresolved":false,"context_lines":[{"line_number":284,"context_line":"        self.br_int \u003d self.agent_api.request_int_br()"},{"line_number":285,"context_line":"        self.cookie \u003d self.br_int.default_cookie"},{"line_number":286,"context_line":"        self._minimum_bandwidth_initialize()"},{"line_number":287,"context_line":""},{"line_number":288,"context_line":"        self.meter_cache \u003d MeterRuleManager(self.br_int)"},{"line_number":289,"context_line":""},{"line_number":290,"context_line":"    def create_bandwidth_limit(self, port, rule):"}],"source_content_type":"text/x-python","patch_set":8,"id":"9b44239e_0c5568a7","line":287,"in_reply_to":"51eab01c_d324538b","updated":"2022-02-23 01:05:27.000000000","message":"Done","commit_id":"6c0961d5f4ddf2e59c718bd2f822332b93d863ea"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"d35ecd863533b2070fa50195f1cdd499640d9e60","unresolved":true,"context_lines":[{"line_number":35,"context_line":"    #  PORT_METER_ID \u003d {\"port_id_1_ingress\": 1,"},{"line_number":36,"context_line":"    #                   \"port_id_1_egress: 2,"},{"line_number":37,"context_line":"    #                   \"port_id_2_ingress\": 3,"},{"line_number":38,"context_line":"    #                   \"port_id_2_egress: 4}"},{"line_number":39,"context_line":"    PORT_METER_ID \u003d {}"},{"line_number":40,"context_line":"    # This will be:"},{"line_number":41,"context_line":"    #  PORT_INFO_INGRESS \u003d {\"port_id_1\": (of_port_name, mac_1, local_vlan_1),"}],"source_content_type":"text/x-python","patch_set":15,"id":"c9fe302c_510ef45a","line":38,"updated":"2022-04-20 10:57:57.000000000","message":"why not something like:\n\n    {\"port_id_1\": {\"ingress\": 1, \"egress\": 2},\n     \"port_id_2\": {\"ingress\": 3, \"egress\": 4}\n?","commit_id":"27d87c648cf6422925c370f92a25aeffc005bc3c"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"bb3f90477fa2c35af150c3c5122468ed44be2bb5","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    #  PORT_METER_ID \u003d {\"port_id_1_ingress\": 1,"},{"line_number":36,"context_line":"    #                   \"port_id_1_egress: 2,"},{"line_number":37,"context_line":"    #                   \"port_id_2_ingress\": 3,"},{"line_number":38,"context_line":"    #                   \"port_id_2_egress: 4}"},{"line_number":39,"context_line":"    PORT_METER_ID \u003d {}"},{"line_number":40,"context_line":"    # This will be:"},{"line_number":41,"context_line":"    #  PORT_INFO_INGRESS \u003d {\"port_id_1\": (of_port_name, mac_1, local_vlan_1),"}],"source_content_type":"text/x-python","patch_set":15,"id":"d3c35e72_272d1535","line":38,"in_reply_to":"c9fe302c_510ef45a","updated":"2022-04-20 15:31:53.000000000","message":"This is same to OVSDB data style, hardly to store a dict to other_config dict in OVSDB.","commit_id":"27d87c648cf6422925c370f92a25aeffc005bc3c"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"d35ecd863533b2070fa50195f1cdd499640d9e60","unresolved":true,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    def __init__(self, br_int):"},{"line_number":49,"context_line":"        self.br_int \u003d br_int"},{"line_number":50,"context_line":"        self.max_meter \u003d 0"},{"line_number":51,"context_line":"        self._init_max_meter_id()"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    def _init_max_meter_id(self):"}],"source_content_type":"text/x-python","patch_set":15,"id":"8f69d7b5_1962bab2","line":50,"updated":"2022-04-20 10:57:57.000000000","message":"nit: You can move it to _init_max_meter_id() method so everything will be in same place","commit_id":"27d87c648cf6422925c370f92a25aeffc005bc3c"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"bb3f90477fa2c35af150c3c5122468ed44be2bb5","unresolved":false,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    def __init__(self, br_int):"},{"line_number":49,"context_line":"        self.br_int \u003d br_int"},{"line_number":50,"context_line":"        self.max_meter \u003d 0"},{"line_number":51,"context_line":"        self._init_max_meter_id()"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    def _init_max_meter_id(self):"}],"source_content_type":"text/x-python","patch_set":15,"id":"ce02f6d9_94b27919","line":50,"in_reply_to":"8f69d7b5_1962bab2","updated":"2022-04-20 15:31:53.000000000","message":"Ack","commit_id":"27d87c648cf6422925c370f92a25aeffc005bc3c"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"6d42e652a8d7cf57355e0524b3857040cd1dff7e","unresolved":false,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    def __init__(self, br_int):"},{"line_number":49,"context_line":"        self.br_int \u003d br_int"},{"line_number":50,"context_line":"        self.max_meter \u003d 0"},{"line_number":51,"context_line":"        self._init_max_meter_id()"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    def _init_max_meter_id(self):"}],"source_content_type":"text/x-python","patch_set":15,"id":"117be81c_405b0be6","line":50,"in_reply_to":"ce02f6d9_94b27919","updated":"2022-04-21 07:59:33.000000000","message":"Done","commit_id":"27d87c648cf6422925c370f92a25aeffc005bc3c"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"d35ecd863533b2070fa50195f1cdd499640d9e60","unresolved":true,"context_lines":[{"line_number":67,"context_line":"        if meter_id:"},{"line_number":68,"context_line":"            self.PORT_METER_ID[key] \u003d meter_id"},{"line_number":69,"context_line":"        else:"},{"line_number":70,"context_line":"            LOG.warning(\"Failed to load port $(port)s meter id in \""},{"line_number":71,"context_line":"                        \"direction %(direction)s\","},{"line_number":72,"context_line":"                        {\"direction\": direction,"},{"line_number":73,"context_line":"                         \"port\": port_id})"}],"source_content_type":"text/x-python","patch_set":15,"id":"677daa1b_4820ace2","line":70,"range":{"start_line":70,"start_character":45,"end_line":70,"end_character":46},"updated":"2022-04-20 10:57:57.000000000","message":"typo: should be %","commit_id":"27d87c648cf6422925c370f92a25aeffc005bc3c"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"bb3f90477fa2c35af150c3c5122468ed44be2bb5","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        if meter_id:"},{"line_number":68,"context_line":"            self.PORT_METER_ID[key] \u003d meter_id"},{"line_number":69,"context_line":"        else:"},{"line_number":70,"context_line":"            LOG.warning(\"Failed to load port $(port)s meter id in \""},{"line_number":71,"context_line":"                        \"direction %(direction)s\","},{"line_number":72,"context_line":"                        {\"direction\": direction,"},{"line_number":73,"context_line":"                         \"port\": port_id})"}],"source_content_type":"text/x-python","patch_set":15,"id":"f4601950_ed7148e2","line":70,"range":{"start_line":70,"start_character":45,"end_line":70,"end_character":46},"in_reply_to":"677daa1b_4820ace2","updated":"2022-04-20 15:31:53.000000000","message":"Ack","commit_id":"27d87c648cf6422925c370f92a25aeffc005bc3c"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"6d42e652a8d7cf57355e0524b3857040cd1dff7e","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        if meter_id:"},{"line_number":68,"context_line":"            self.PORT_METER_ID[key] \u003d meter_id"},{"line_number":69,"context_line":"        else:"},{"line_number":70,"context_line":"            LOG.warning(\"Failed to load port $(port)s meter id in \""},{"line_number":71,"context_line":"                        \"direction %(direction)s\","},{"line_number":72,"context_line":"                        {\"direction\": direction,"},{"line_number":73,"context_line":"                         \"port\": port_id})"}],"source_content_type":"text/x-python","patch_set":15,"id":"d08870a6_93ff44ee","line":70,"range":{"start_line":70,"start_character":45,"end_line":70,"end_character":46},"in_reply_to":"f4601950_ed7148e2","updated":"2022-04-21 07:59:33.000000000","message":"Done","commit_id":"27d87c648cf6422925c370f92a25aeffc005bc3c"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"d35ecd863533b2070fa50195f1cdd499640d9e60","unresolved":true,"context_lines":[{"line_number":124,"context_line":"        return self.PORT_INFO_EGRESS.pop(port_id, (None, None, None))"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"class OVSPacketRatelimitDriver(object):"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"    SUPPORT_METER \u003d None"},{"line_number":130,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"74cd5972_d4a79e28","line":127,"updated":"2022-04-20 10:57:57.000000000","message":"why additional class is needed? Can\u0027t we add it to the QosOVSAgentDriver simply?","commit_id":"27d87c648cf6422925c370f92a25aeffc005bc3c"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"bb3f90477fa2c35af150c3c5122468ed44be2bb5","unresolved":false,"context_lines":[{"line_number":124,"context_line":"        return self.PORT_INFO_EGRESS.pop(port_id, (None, None, None))"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"class OVSPacketRatelimitDriver(object):"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"    SUPPORT_METER \u003d None"},{"line_number":130,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"a75b8130_5e877ff4","line":127,"in_reply_to":"74cd5972_d4a79e28","updated":"2022-04-20 15:31:53.000000000","message":"To aviod some conficts from the original class if someone add/change functions.","commit_id":"27d87c648cf6422925c370f92a25aeffc005bc3c"}]}
