)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"bf07267a725d9f77084c1258099e1d8b71bbc83d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"4802511a_3cb84485","updated":"2022-02-08 14:06:21.000000000","message":"recheck","commit_id":"3a0ce48573ee30e5f665f66e7eb41edf59c2fc00"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"60e4690d0f679df1d1b0e5ca5357febadbbe5bd1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"c5121385_a596aeee","updated":"2022-02-15 02:34:01.000000000","message":"After upgrade the version of python-neutronclient, fullstack test cases pass\n\nhttps://58117cfb3bc7728f6015-948b6a5ed4d9dccaba5208d54797c4a1.ssl.cf2.rackcdn.com/819418/6/check/neutron-fullstack-with-uwsgi/6f5b760/testr_results.html","commit_id":"2571f8d2f135090e34eb654cd019f49574a2decd"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"c46f2ff1f50b75b0d50b292b988be899cb587480","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"00c52293_3e1a5156","updated":"2022-03-17 03:59:31.000000000","message":"recheck","commit_id":"70e9b90cc795f4281e9d839de86fb263159d4f96"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"6fbbe92252a988c5408ce9dab33255c661899ddf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"e37688f1_f2a52210","updated":"2022-03-22 07:33:23.000000000","message":"recheck","commit_id":"98749fd342d021e0c58f71282ccd9a54c9b30c47"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"bdc79f59383881c10e4a368c9c71a370120b5429","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"2fa7798b_3a6380cb","updated":"2022-04-25 07:40:27.000000000","message":"Just a nit for run_ofctl if there is a need for new patch","commit_id":"5815adb486a11706d8116591eb64c87d92316ccb"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"ef9417eff54eaee7cebbf4162833d6257af0ed5a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"e8c3386b_d0046378","updated":"2022-04-22 09:30:07.000000000","message":"recheck","commit_id":"5815adb486a11706d8116591eb64c87d92316ccb"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"e9d101701174d1c1b0a8a36497e23b328f32f3d4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"febc6f53_a4486e81","updated":"2022-04-24 01:00:52.000000000","message":"recheck","commit_id":"5815adb486a11706d8116591eb64c87d92316ccb"}],"neutron/agent/common/ovs_lib.py":[{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"bdc79f59383881c10e4a368c9c71a370120b5429","unresolved":true,"context_lines":[{"line_number":451,"context_line":""},{"line_number":452,"context_line":"    def list_meter_features(self):"},{"line_number":453,"context_line":"        # For fullstack test mainly"},{"line_number":454,"context_line":"        f_list \u003d self.run_ofctl(\"meter-features\", []).split(\"\\n\")[1:]"},{"line_number":455,"context_line":"        max_meter \u003d max_bands \u003d support_drop \u003d support_caps \u003d None"},{"line_number":456,"context_line":"        for output in f_list:"},{"line_number":457,"context_line":"            match \u003d MAX_METER_REGEX.match(output)"}],"source_content_type":"text/x-python","patch_set":17,"id":"4e9cd474_ab32a8f3","line":454,"range":{"start_line":454,"start_character":22,"end_line":454,"end_character":31},"updated":"2022-04-25 07:40:27.000000000","message":"nit: run_ofclt is deprecated (see https://review.opendev.org/c/openstack/neutron/+/819418/17/neutron/agent/common/ovs_lib.py#420 ) don\u0027t we have ovsdb way to collect these meters?\nPlease add at least a TODO for it","commit_id":"5815adb486a11706d8116591eb64c87d92316ccb"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"92e18fad2fc1f936f3522292edd151077e6ec85f","unresolved":true,"context_lines":[{"line_number":451,"context_line":""},{"line_number":452,"context_line":"    def list_meter_features(self):"},{"line_number":453,"context_line":"        # For fullstack test mainly"},{"line_number":454,"context_line":"        f_list \u003d self.run_ofctl(\"meter-features\", []).split(\"\\n\")[1:]"},{"line_number":455,"context_line":"        max_meter \u003d max_bands \u003d support_drop \u003d support_caps \u003d None"},{"line_number":456,"context_line":"        for output in f_list:"},{"line_number":457,"context_line":"            match \u003d MAX_METER_REGEX.match(output)"}],"source_content_type":"text/x-python","patch_set":17,"id":"72b99627_d67c0864","line":454,"range":{"start_line":454,"start_character":22,"end_line":454,"end_character":31},"in_reply_to":"4e9cd474_ab32a8f3","updated":"2022-04-25 07:46:47.000000000","message":"actually os-ken you use for the feature itself: https://opendev.org/openstack/os-ken/src/branch/master/os_ken/ofproto/ofproto_v1_4_parser.py#L3082 \u0026 https://review.opendev.org/c/openstack/neutron/+/816800/15/neutron/plugins/ml2/drivers/openvswitch/agent/openflow/native/br_int.py#437","commit_id":"5815adb486a11706d8116591eb64c87d92316ccb"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"c750282d3e614eaecdc8565ebc78e87e7701823c","unresolved":false,"context_lines":[{"line_number":451,"context_line":""},{"line_number":452,"context_line":"    def list_meter_features(self):"},{"line_number":453,"context_line":"        # For fullstack test mainly"},{"line_number":454,"context_line":"        f_list \u003d self.run_ofctl(\"meter-features\", []).split(\"\\n\")[1:]"},{"line_number":455,"context_line":"        max_meter \u003d max_bands \u003d support_drop \u003d support_caps \u003d None"},{"line_number":456,"context_line":"        for output in f_list:"},{"line_number":457,"context_line":"            match \u003d MAX_METER_REGEX.match(output)"}],"source_content_type":"text/x-python","patch_set":17,"id":"b643e650_ae135687","line":454,"range":{"start_line":454,"start_character":22,"end_line":454,"end_character":31},"in_reply_to":"72b99627_d67c0864","updated":"2022-04-26 08:17:25.000000000","message":"This is because that fullstack vm.bridge [1] is an instance from this class [2][3]. Fullstack test does not use native API at all, so this is for fullstack test only. Neutron main code does not use this.\n\nWhy add this function?  Because we want the test case more flexible. If the test env does not support meter feature, the new case will be skipped. \n\n[1] https://review.opendev.org/c/openstack/neutron/+/819418/17/neutron/tests/fullstack/test_qos.py#600\n[2] https://github.com/openstack/neutron/blob/master/neutron/tests/common/net_helpers.py#L802\n[3] https://github.com/openstack/neutron/blob/master/neutron/tests/common/net_helpers.py#L810","commit_id":"5815adb486a11706d8116591eb64c87d92316ccb"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"004c962e8136ba138983c2f43c3423f9f80640da","unresolved":false,"context_lines":[{"line_number":451,"context_line":""},{"line_number":452,"context_line":"    def list_meter_features(self):"},{"line_number":453,"context_line":"        # For fullstack test mainly"},{"line_number":454,"context_line":"        f_list \u003d self.run_ofctl(\"meter-features\", []).split(\"\\n\")[1:]"},{"line_number":455,"context_line":"        max_meter \u003d max_bands \u003d support_drop \u003d support_caps \u003d None"},{"line_number":456,"context_line":"        for output in f_list:"},{"line_number":457,"context_line":"            match \u003d MAX_METER_REGEX.match(output)"}],"source_content_type":"text/x-python","patch_set":17,"id":"e566d8d6_011ef923","line":454,"range":{"start_line":454,"start_character":22,"end_line":454,"end_character":31},"in_reply_to":"b643e650_ae135687","updated":"2022-05-02 11:00:34.000000000","message":"thanks.\nI still think that a TODO should be here","commit_id":"5815adb486a11706d8116591eb64c87d92316ccb"}],"neutron/tests/fullstack/resources/client.py":[{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"c162bcbf7c415f13d8c960e4256b75e8d934f657","unresolved":true,"context_lines":[{"line_number":286,"context_line":"    def create_packet_rate_limit_rule("},{"line_number":287,"context_line":"            self, tenant_id, qos_policy_id, limit\u003dNone,"},{"line_number":288,"context_line":"            burst\u003dNone, direction\u003dNone):"},{"line_number":289,"context_line":"        rule \u003d {\u0027tenant_id\u0027: tenant_id}"},{"line_number":290,"context_line":"        if limit:"},{"line_number":291,"context_line":"            rule[\u0027max_kpps\u0027] \u003d limit"},{"line_number":292,"context_line":"        if burst:"}],"source_content_type":"text/x-python","patch_set":3,"id":"885ec416_39456313","line":289,"updated":"2022-02-08 10:53:12.000000000","message":"Nit: \u0027tenant_id\u0027 deprecated in favor of \u0027project_id\u0027","commit_id":"3a0ce48573ee30e5f665f66e7eb41edf59c2fc00"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"a9969e3f197b47ed5a12f4d877a73fc553702cc3","unresolved":false,"context_lines":[{"line_number":286,"context_line":"    def create_packet_rate_limit_rule("},{"line_number":287,"context_line":"            self, tenant_id, qos_policy_id, limit\u003dNone,"},{"line_number":288,"context_line":"            burst\u003dNone, direction\u003dNone):"},{"line_number":289,"context_line":"        rule \u003d {\u0027tenant_id\u0027: tenant_id}"},{"line_number":290,"context_line":"        if limit:"},{"line_number":291,"context_line":"            rule[\u0027max_kpps\u0027] \u003d limit"},{"line_number":292,"context_line":"        if burst:"}],"source_content_type":"text/x-python","patch_set":3,"id":"ce44ae45_427ad4f2","line":289,"in_reply_to":"885ec416_39456313","updated":"2022-02-09 14:35:11.000000000","message":"Sure, will rename in next upload.","commit_id":"3a0ce48573ee30e5f665f66e7eb41edf59c2fc00"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"226b7105c96eb071e175381bc3bc91c5045e06f2","unresolved":false,"context_lines":[{"line_number":286,"context_line":"    def create_packet_rate_limit_rule("},{"line_number":287,"context_line":"            self, tenant_id, qos_policy_id, limit\u003dNone,"},{"line_number":288,"context_line":"            burst\u003dNone, direction\u003dNone):"},{"line_number":289,"context_line":"        rule \u003d {\u0027tenant_id\u0027: tenant_id}"},{"line_number":290,"context_line":"        if limit:"},{"line_number":291,"context_line":"            rule[\u0027max_kpps\u0027] \u003d limit"},{"line_number":292,"context_line":"        if burst:"}],"source_content_type":"text/x-python","patch_set":3,"id":"9712a853_28f00f98","line":289,"in_reply_to":"ce44ae45_427ad4f2","updated":"2022-02-10 07:49:21.000000000","message":"Done","commit_id":"3a0ce48573ee30e5f665f66e7eb41edf59c2fc00"}]}
