)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"e80f42b89808182dcc47c4c12d7286a7d2dbc503","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"1f34938c_ac518cc8","updated":"2022-03-07 17:53:30.000000000","message":"Nice to see this cleanup. Next patches will be easier.","commit_id":"bf1a09b4b8a365f8db93380586e7c911fcbe9008"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"dbdfc211ebf83d91182768d33f6fdb9457612301","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"819864ec_f3613295","updated":"2022-03-09 09:55:01.000000000","message":"Nice cleaning","commit_id":"0255f41ad0405eac8b2a4e0870513846e2660f7f"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"1a83b075c53865fb836ee4646632ecd6a2d1b2e6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"68a28980_0c430272","updated":"2022-03-11 15:26:07.000000000","message":"recheck","commit_id":"0255f41ad0405eac8b2a4e0870513846e2660f7f"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"8ed71a08001ae820d5c00398563f5f641704bae0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"6adc4982_d4e5408c","updated":"2022-03-08 20:59:12.000000000","message":"recheck","commit_id":"0255f41ad0405eac8b2a4e0870513846e2660f7f"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"a56aacf3b9dd6d1e4b5aadb2137897c97a718abf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"86c7c09b_b64dc578","updated":"2022-03-12 12:02:00.000000000","message":"recheck","commit_id":"0255f41ad0405eac8b2a4e0870513846e2660f7f"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"aa26eb5796626d677d266d5ebf7be77e5e1aad54","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"a96454ba_3ea691a8","updated":"2022-03-11 11:50:48.000000000","message":"recheck","commit_id":"0255f41ad0405eac8b2a4e0870513846e2660f7f"}],"neutron/agent/common/ovs_lib.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"3ecaf43d4164eeb9e9d3129656d42c71bfd7129a","unresolved":true,"context_lines":[{"line_number":836,"context_line":"        max_burst_kbit \u003d None"},{"line_number":837,"context_line":""},{"line_number":838,"context_line":"        queue \u003d self._find_queue("},{"line_number":839,"context_line":"            port_name, _type\u003dqos_constants.RULE_TYPE_BANDWIDTH_LIMIT)"},{"line_number":840,"context_line":"        if queue:"},{"line_number":841,"context_line":"            other_config \u003d queue[\u0027other_config\u0027]"},{"line_number":842,"context_line":"            max_bw_in_bits \u003d other_config.get(\u0027max-rate\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"5243f5b3_abed621b","line":839,"range":{"start_line":839,"start_character":23,"end_line":839,"end_character":69},"updated":"2022-02-07 12:58:28.000000000","message":"This could be a problem with existing queues. This patch is adding this \"external_ids:type\" to the BW limit rules and won\u0027t be in those ones created before.\n\nI would suggest for this, as usual:\n- A check task\n- A static script to migrate the existing queues\n- Make the whole OVS QoS extension resilient to this situation, where we can have queues with and without type defined.","commit_id":"1046e3a26f0e3978c8be32f07abf23b364908cb5"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"9af621c169c99f0875042f36eb5108a7cfd6ead8","unresolved":true,"context_lines":[{"line_number":836,"context_line":"        max_burst_kbit \u003d None"},{"line_number":837,"context_line":""},{"line_number":838,"context_line":"        queue \u003d self._find_queue("},{"line_number":839,"context_line":"            port_name, _type\u003dqos_constants.RULE_TYPE_BANDWIDTH_LIMIT)"},{"line_number":840,"context_line":"        if queue:"},{"line_number":841,"context_line":"            other_config \u003d queue[\u0027other_config\u0027]"},{"line_number":842,"context_line":"            max_bw_in_bits \u003d other_config.get(\u0027max-rate\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"a0db0749_13fc679e","line":839,"range":{"start_line":839,"start_character":23,"end_line":839,"end_character":69},"in_reply_to":"5243f5b3_abed621b","updated":"2022-02-28 10:10:14.000000000","message":"But this method is used only in tests: https://codesearch.opendev.org/?q\u003dget_ingress_bw_limit_for_port\u0026i\u003dnope\u0026literal\u003dnope\u0026files\u003d\u0026excludeFiles\u003d\u0026repos\u003d so there shouldn\u0027t be any problem with it.","commit_id":"1046e3a26f0e3978c8be32f07abf23b364908cb5"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"308a17cdf49eda94f81f2f816384709f81d049ce","unresolved":true,"context_lines":[{"line_number":836,"context_line":"        max_burst_kbit \u003d None"},{"line_number":837,"context_line":""},{"line_number":838,"context_line":"        queue \u003d self._find_queue("},{"line_number":839,"context_line":"            port_name, _type\u003dqos_constants.RULE_TYPE_BANDWIDTH_LIMIT)"},{"line_number":840,"context_line":"        if queue:"},{"line_number":841,"context_line":"            other_config \u003d queue[\u0027other_config\u0027]"},{"line_number":842,"context_line":"            max_bw_in_bits \u003d other_config.get(\u0027max-rate\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"10bbe862_fc5e6db9","line":839,"range":{"start_line":839,"start_character":23,"end_line":839,"end_character":69},"in_reply_to":"a0db0749_13fc679e","updated":"2022-02-28 10:42:32.000000000","message":"Hmmm good to know this! Thus my concerns here have no foundation because no implementation is using it.","commit_id":"1046e3a26f0e3978c8be32f07abf23b364908cb5"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"3ecaf43d4164eeb9e9d3129656d42c71bfd7129a","unresolved":true,"context_lines":[{"line_number":840,"context_line":"        if queue:"},{"line_number":841,"context_line":"            other_config \u003d queue[\u0027other_config\u0027]"},{"line_number":842,"context_line":"            max_bw_in_bits \u003d other_config.get(\u0027max-rate\u0027)"},{"line_number":843,"context_line":"            if max_bw_in_bits is not None:"},{"line_number":844,"context_line":"                qos_max_kbps \u003d int(max_bw_in_bits) / p_const.SI_BASE"},{"line_number":845,"context_line":"                max_burst_in_bits \u003d other_config.get(\u0027burst\u0027)"},{"line_number":846,"context_line":"            if max_burst_in_bits is not None:"}],"source_content_type":"text/x-python","patch_set":4,"id":"92117683_82e454a2","line":843,"range":{"start_line":843,"start_character":12,"end_line":843,"end_character":42},"updated":"2022-02-07 12:58:28.000000000","message":"nit: we can\u0027t have bw limit rules without max-rate","commit_id":"1046e3a26f0e3978c8be32f07abf23b364908cb5"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"9af621c169c99f0875042f36eb5108a7cfd6ead8","unresolved":false,"context_lines":[{"line_number":840,"context_line":"        if queue:"},{"line_number":841,"context_line":"            other_config \u003d queue[\u0027other_config\u0027]"},{"line_number":842,"context_line":"            max_bw_in_bits \u003d other_config.get(\u0027max-rate\u0027)"},{"line_number":843,"context_line":"            if max_bw_in_bits is not None:"},{"line_number":844,"context_line":"                qos_max_kbps \u003d int(max_bw_in_bits) / p_const.SI_BASE"},{"line_number":845,"context_line":"                max_burst_in_bits \u003d other_config.get(\u0027burst\u0027)"},{"line_number":846,"context_line":"            if max_burst_in_bits is not None:"}],"source_content_type":"text/x-python","patch_set":4,"id":"6c854ec6_92afc9f2","line":843,"range":{"start_line":843,"start_character":12,"end_line":843,"end_character":42},"in_reply_to":"92117683_82e454a2","updated":"2022-02-28 10:10:14.000000000","message":"Done","commit_id":"1046e3a26f0e3978c8be32f07abf23b364908cb5"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"3ecaf43d4164eeb9e9d3129656d42c71bfd7129a","unresolved":true,"context_lines":[{"line_number":841,"context_line":"            other_config \u003d queue[\u0027other_config\u0027]"},{"line_number":842,"context_line":"            max_bw_in_bits \u003d other_config.get(\u0027max-rate\u0027)"},{"line_number":843,"context_line":"            if max_bw_in_bits is not None:"},{"line_number":844,"context_line":"                qos_max_kbps \u003d int(max_bw_in_bits) / p_const.SI_BASE"},{"line_number":845,"context_line":"                max_burst_in_bits \u003d other_config.get(\u0027burst\u0027)"},{"line_number":846,"context_line":"            if max_burst_in_bits is not None:"},{"line_number":847,"context_line":"                max_burst_kbit \u003d int(max_burst_in_bits) / p_const.SI_BASE"}],"source_content_type":"text/x-python","patch_set":4,"id":"f8f80f6e_e95788ab","line":844,"range":{"start_line":844,"start_character":31,"end_line":844,"end_character":68},"updated":"2022-02-07 12:58:28.000000000","message":"This will return a float (in py3). You should cast the result of the division. \n  qos_max_kbps \u003d int(max_bw_in_bits / p_const.SI_BASE)","commit_id":"1046e3a26f0e3978c8be32f07abf23b364908cb5"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"9af621c169c99f0875042f36eb5108a7cfd6ead8","unresolved":false,"context_lines":[{"line_number":841,"context_line":"            other_config \u003d queue[\u0027other_config\u0027]"},{"line_number":842,"context_line":"            max_bw_in_bits \u003d other_config.get(\u0027max-rate\u0027)"},{"line_number":843,"context_line":"            if max_bw_in_bits is not None:"},{"line_number":844,"context_line":"                qos_max_kbps \u003d int(max_bw_in_bits) / p_const.SI_BASE"},{"line_number":845,"context_line":"                max_burst_in_bits \u003d other_config.get(\u0027burst\u0027)"},{"line_number":846,"context_line":"            if max_burst_in_bits is not None:"},{"line_number":847,"context_line":"                max_burst_kbit \u003d int(max_burst_in_bits) / p_const.SI_BASE"}],"source_content_type":"text/x-python","patch_set":4,"id":"859ae8d6_5b83811a","line":844,"range":{"start_line":844,"start_character":31,"end_line":844,"end_character":68},"in_reply_to":"f8f80f6e_e95788ab","updated":"2022-02-28 10:10:14.000000000","message":"Done","commit_id":"1046e3a26f0e3978c8be32f07abf23b364908cb5"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"3ecaf43d4164eeb9e9d3129656d42c71bfd7129a","unresolved":true,"context_lines":[{"line_number":844,"context_line":"                qos_max_kbps \u003d int(max_bw_in_bits) / p_const.SI_BASE"},{"line_number":845,"context_line":"                max_burst_in_bits \u003d other_config.get(\u0027burst\u0027)"},{"line_number":846,"context_line":"            if max_burst_in_bits is not None:"},{"line_number":847,"context_line":"                max_burst_kbit \u003d int(max_burst_in_bits) / p_const.SI_BASE"},{"line_number":848,"context_line":""},{"line_number":849,"context_line":"        return qos_max_kbps, max_burst_kbit"},{"line_number":850,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"364db1c1_a4bddb2c","line":847,"range":{"start_line":847,"start_character":33,"end_line":847,"end_character":36},"updated":"2022-02-07 12:58:28.000000000","message":"ditto","commit_id":"1046e3a26f0e3978c8be32f07abf23b364908cb5"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"9af621c169c99f0875042f36eb5108a7cfd6ead8","unresolved":false,"context_lines":[{"line_number":844,"context_line":"                qos_max_kbps \u003d int(max_bw_in_bits) / p_const.SI_BASE"},{"line_number":845,"context_line":"                max_burst_in_bits \u003d other_config.get(\u0027burst\u0027)"},{"line_number":846,"context_line":"            if max_burst_in_bits is not None:"},{"line_number":847,"context_line":"                max_burst_kbit \u003d int(max_burst_in_bits) / p_const.SI_BASE"},{"line_number":848,"context_line":""},{"line_number":849,"context_line":"        return qos_max_kbps, max_burst_kbit"},{"line_number":850,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"784de3b4_6719ad52","line":847,"range":{"start_line":847,"start_character":33,"end_line":847,"end_character":36},"in_reply_to":"364db1c1_a4bddb2c","updated":"2022-02-28 10:10:14.000000000","message":"Done","commit_id":"1046e3a26f0e3978c8be32f07abf23b364908cb5"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"3ecaf43d4164eeb9e9d3129656d42c71bfd7129a","unresolved":true,"context_lines":[{"line_number":849,"context_line":"        return qos_max_kbps, max_burst_kbit"},{"line_number":850,"context_line":""},{"line_number":851,"context_line":"    def delete_ingress_bw_limit_for_port(self, port_name):"},{"line_number":852,"context_line":"        queue \u003d self._find_queue("},{"line_number":853,"context_line":"            port_name, _type\u003dqos_constants.RULE_TYPE_BANDWIDTH_LIMIT)"},{"line_number":854,"context_line":"        if not queue:"},{"line_number":855,"context_line":"            return"},{"line_number":856,"context_line":"        queue_num \u003d int(queue[\u0027external_ids\u0027][\u0027queue-num\u0027])"},{"line_number":857,"context_line":"        qos_id, qos_queues \u003d self._find_qos("},{"line_number":858,"context_line":"            self._ingress_bw_limit_qos_id,"},{"line_number":859,"context_line":"            qos_constants.RULE_TYPE_BANDWIDTH_LIMIT)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9fc50bec_268f614f","line":856,"range":{"start_line":852,"start_character":0,"end_line":856,"end_character":59},"updated":"2022-02-07 12:58:28.000000000","message":"With L857-858 \"_find_qos\" operation, this code is not needed.","commit_id":"1046e3a26f0e3978c8be32f07abf23b364908cb5"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"9af621c169c99f0875042f36eb5108a7cfd6ead8","unresolved":false,"context_lines":[{"line_number":849,"context_line":"        return qos_max_kbps, max_burst_kbit"},{"line_number":850,"context_line":""},{"line_number":851,"context_line":"    def delete_ingress_bw_limit_for_port(self, port_name):"},{"line_number":852,"context_line":"        queue \u003d self._find_queue("},{"line_number":853,"context_line":"            port_name, _type\u003dqos_constants.RULE_TYPE_BANDWIDTH_LIMIT)"},{"line_number":854,"context_line":"        if not queue:"},{"line_number":855,"context_line":"            return"},{"line_number":856,"context_line":"        queue_num \u003d int(queue[\u0027external_ids\u0027][\u0027queue-num\u0027])"},{"line_number":857,"context_line":"        qos_id, qos_queues \u003d self._find_qos("},{"line_number":858,"context_line":"            self._ingress_bw_limit_qos_id,"},{"line_number":859,"context_line":"            qos_constants.RULE_TYPE_BANDWIDTH_LIMIT)"}],"source_content_type":"text/x-python","patch_set":4,"id":"f0795486_178bf335","line":856,"range":{"start_line":852,"start_character":0,"end_line":856,"end_character":59},"in_reply_to":"9fc50bec_268f614f","updated":"2022-02-28 10:10:14.000000000","message":"Done","commit_id":"1046e3a26f0e3978c8be32f07abf23b364908cb5"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"308a17cdf49eda94f81f2f816384709f81d049ce","unresolved":false,"context_lines":[{"line_number":849,"context_line":"        return qos_max_kbps, max_burst_kbit"},{"line_number":850,"context_line":""},{"line_number":851,"context_line":"    def delete_ingress_bw_limit_for_port(self, port_name):"},{"line_number":852,"context_line":"        queue \u003d self._find_queue("},{"line_number":853,"context_line":"            port_name, _type\u003dqos_constants.RULE_TYPE_BANDWIDTH_LIMIT)"},{"line_number":854,"context_line":"        if not queue:"},{"line_number":855,"context_line":"            return"},{"line_number":856,"context_line":"        queue_num \u003d int(queue[\u0027external_ids\u0027][\u0027queue-num\u0027])"},{"line_number":857,"context_line":"        qos_id, qos_queues \u003d self._find_qos("},{"line_number":858,"context_line":"            self._ingress_bw_limit_qos_id,"},{"line_number":859,"context_line":"            qos_constants.RULE_TYPE_BANDWIDTH_LIMIT)"}],"source_content_type":"text/x-python","patch_set":4,"id":"640db39b_08a01b66","line":856,"range":{"start_line":852,"start_character":0,"end_line":856,"end_character":59},"in_reply_to":"f0795486_178bf335","updated":"2022-02-28 10:42:32.000000000","message":"Sorry for my terrible advise here. We need to queue number related to (1) the port and (2) the type.\n\nSame as in \"delete_minimum_bandwidth_queue\"","commit_id":"1046e3a26f0e3978c8be32f07abf23b364908cb5"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"3ecaf43d4164eeb9e9d3129656d42c71bfd7129a","unresolved":true,"context_lines":[{"line_number":867,"context_line":"                qos_id\u003dqos_id, queues\u003dqos_queues)"},{"line_number":868,"context_line":"            self._delete_queue("},{"line_number":869,"context_line":"                queue[\u0027_uuid\u0027], qos_constants.RULE_TYPE_BANDWIDTH_LIMIT)"},{"line_number":870,"context_line":""},{"line_number":871,"context_line":"    def set_controller_field(self, field, value):"},{"line_number":872,"context_line":"        attr \u003d [(field, value)]"},{"line_number":873,"context_line":"        controllers \u003d self.db_get_val(\u0027Bridge\u0027, self.br_name, \u0027controller\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"c3b2a7f1_1dca5aaf","line":870,"updated":"2022-02-07 12:58:28.000000000","message":"WARNING: you are not deleting the Port QoS reference.\n\nself.ovsdb.db_clear(\u0027Port\u0027, port_name, \u0027qos\u0027).execute(check_error\u003dFalse)","commit_id":"1046e3a26f0e3978c8be32f07abf23b364908cb5"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"9af621c169c99f0875042f36eb5108a7cfd6ead8","unresolved":false,"context_lines":[{"line_number":867,"context_line":"                qos_id\u003dqos_id, queues\u003dqos_queues)"},{"line_number":868,"context_line":"            self._delete_queue("},{"line_number":869,"context_line":"                queue[\u0027_uuid\u0027], qos_constants.RULE_TYPE_BANDWIDTH_LIMIT)"},{"line_number":870,"context_line":""},{"line_number":871,"context_line":"    def set_controller_field(self, field, value):"},{"line_number":872,"context_line":"        attr \u003d [(field, value)]"},{"line_number":873,"context_line":"        controllers \u003d self.db_get_val(\u0027Bridge\u0027, self.br_name, \u0027controller\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"329e61b5_3c6cf9fe","line":870,"in_reply_to":"c3b2a7f1_1dca5aaf","updated":"2022-02-28 10:10:14.000000000","message":"Done","commit_id":"1046e3a26f0e3978c8be32f07abf23b364908cb5"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"3ecaf43d4164eeb9e9d3129656d42c71bfd7129a","unresolved":true,"context_lines":[{"line_number":976,"context_line":""},{"line_number":977,"context_line":"    def clear_bandwidth_qos(self):"},{"line_number":978,"context_line":"        qoses \u003d []"},{"line_number":979,"context_line":"        qos_types \u003d ["},{"line_number":980,"context_line":"            (self._min_bw_qos_id,"},{"line_number":981,"context_line":"             qos_constants.RULE_TYPE_MINIMUM_BANDWIDTH),"},{"line_number":982,"context_line":"            (self._ingress_bw_limit_qos_id,"},{"line_number":983,"context_line":"             qos_constants.RULE_TYPE_BANDWIDTH_LIMIT)]"},{"line_number":984,"context_line":"        for rule_type_id, qos_type in qos_types:"},{"line_number":985,"context_line":"            qoses +\u003d self._list_qos(_id\u003drule_type_id, qos_type\u003dqos_type)"},{"line_number":986,"context_line":""},{"line_number":987,"context_line":"        for qos in qoses:"}],"source_content_type":"text/x-python","patch_set":4,"id":"a4cadf6d_8b00a50b","line":984,"range":{"start_line":979,"start_character":8,"end_line":984,"end_character":48},"updated":"2022-02-07 12:58:28.000000000","message":"+1 !","commit_id":"1046e3a26f0e3978c8be32f07abf23b364908cb5"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"e80f42b89808182dcc47c4c12d7286a7d2dbc503","unresolved":true,"context_lines":[{"line_number":876,"context_line":"                    qos_id\u003dqos_id, queues\u003dqos_queues)"},{"line_number":877,"context_line":"            self.ovsdb.db_clear(\u0027Port\u0027, port_name, \u0027qos\u0027).execute("},{"line_number":878,"context_line":"                check_error\u003dFalse)"},{"line_number":879,"context_line":"            if not qos_queues:"},{"line_number":880,"context_line":"                self._delete_qos(qos_id)"},{"line_number":881,"context_line":"            self._delete_queue("},{"line_number":882,"context_line":"                queue_uuid, qos_constants.RULE_TYPE_BANDWIDTH_LIMIT)"},{"line_number":883,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"6a6d0a33_ce6ea5bd","line":880,"range":{"start_line":879,"start_character":12,"end_line":880,"end_character":40},"updated":"2022-03-07 17:53:30.000000000","message":"+1, we should delete the qos register only if there are no queues","commit_id":"bf1a09b4b8a365f8db93380586e7c911fcbe9008"},{"author":{"_account_id":13861,"name":"yatin","email":"ykarel@redhat.com","username":"yatinkarel"},"change_message_id":"2371851898072e808af95e6d235bdf09c156d9f2","unresolved":true,"context_lines":[{"line_number":1018,"context_line":"            other_config[\u0027max-rate\u0027] \u003d str(int(max_kbps) * p_const.SI_BASE)"},{"line_number":1019,"context_line":"            other_config[\u0027burst\u0027] \u003d str(int(max_burst_kbps) * p_const.SI_BASE)"},{"line_number":1020,"context_line":"        if min_kbps:"},{"line_number":1021,"context_line":"            other_config[\u0027min-rate\u0027] \u003d str(min_kbps * p_const.SI_BASE)"},{"line_number":1022,"context_line":""},{"line_number":1023,"context_line":"        queue \u003d self._find_queue(port_id, _type\u003dqueue_type)"},{"line_number":1024,"context_line":"        if queue and queue[\u0027_uuid\u0027]:"}],"source_content_type":"text/x-python","patch_set":8,"id":"7b74c0e8_7e45ab8f","line":1021,"range":{"start_line":1021,"start_character":43,"end_line":1021,"end_character":51},"updated":"2022-03-10 07:32:01.000000000","message":"is this don\u0027t need typecast to int like max_kbps and burst_kbps?","commit_id":"0255f41ad0405eac8b2a4e0870513846e2660f7f"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"6f32dd00f31d9a446554ec5ae2fe37d8c197b9c5","unresolved":true,"context_lines":[{"line_number":1018,"context_line":"            other_config[\u0027max-rate\u0027] \u003d str(int(max_kbps) * p_const.SI_BASE)"},{"line_number":1019,"context_line":"            other_config[\u0027burst\u0027] \u003d str(int(max_burst_kbps) * p_const.SI_BASE)"},{"line_number":1020,"context_line":"        if min_kbps:"},{"line_number":1021,"context_line":"            other_config[\u0027min-rate\u0027] \u003d str(min_kbps * p_const.SI_BASE)"},{"line_number":1022,"context_line":""},{"line_number":1023,"context_line":"        queue \u003d self._find_queue(port_id, _type\u003dqueue_type)"},{"line_number":1024,"context_line":"        if queue and queue[\u0027_uuid\u0027]:"}],"source_content_type":"text/x-python","patch_set":8,"id":"53b76820_48be84b2","line":1021,"range":{"start_line":1021,"start_character":43,"end_line":1021,"end_character":51},"in_reply_to":"7b74c0e8_7e45ab8f","updated":"2022-03-10 09:53:30.000000000","message":"The cast is not needed. \"max_kbps\", \"max_burst_kbps\" and \"min_kbps\" come from the Neutron API. Those values are always int.\n\nBut good catch.","commit_id":"0255f41ad0405eac8b2a4e0870513846e2660f7f"}],"neutron/plugins/ml2/drivers/openvswitch/agent/extension_drivers/qos_driver.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"d0147e826b2bc770b4b48d813e035876c7b0ff5e","unresolved":true,"context_lines":[{"line_number":176,"context_line":"                      \u0027port %s and rule %s.\u0027, port[\u0027port_id\u0027], rule.id)"},{"line_number":177,"context_line":"            return"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"        # d to identify the port which traffic come from,"},{"line_number":180,"context_line":"        # it needs to be unique across br-int. It is convenient to use ofport"},{"line_number":181,"context_line":"        # as queue_num because it is unique in br-int and start from 1."},{"line_number":182,"context_line":"        egress_port_names \u003d []"}],"source_content_type":"text/x-python","patch_set":4,"id":"a2af9f97_826da8cd","line":179,"range":{"start_line":179,"start_character":10,"end_line":179,"end_character":11},"updated":"2022-02-07 12:59:13.000000000","message":"removed by mistake?","commit_id":"1046e3a26f0e3978c8be32f07abf23b364908cb5"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"9af621c169c99f0875042f36eb5108a7cfd6ead8","unresolved":false,"context_lines":[{"line_number":176,"context_line":"                      \u0027port %s and rule %s.\u0027, port[\u0027port_id\u0027], rule.id)"},{"line_number":177,"context_line":"            return"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"        # d to identify the port which traffic come from,"},{"line_number":180,"context_line":"        # it needs to be unique across br-int. It is convenient to use ofport"},{"line_number":181,"context_line":"        # as queue_num because it is unique in br-int and start from 1."},{"line_number":182,"context_line":"        egress_port_names \u003d []"}],"source_content_type":"text/x-python","patch_set":4,"id":"c9edc9c1_7290ba8f","line":179,"range":{"start_line":179,"start_character":10,"end_line":179,"end_character":11},"in_reply_to":"a2af9f97_826da8cd","updated":"2022-02-28 10:10:14.000000000","message":"Yeah :)","commit_id":"1046e3a26f0e3978c8be32f07abf23b364908cb5"}],"neutron/tests/functional/agent/test_ovs_lib.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"e80f42b89808182dcc47c4c12d7286a7d2dbc503","unresolved":true,"context_lines":[{"line_number":421,"context_line":"                                                controller,"},{"line_number":422,"context_line":"                                                \u0027connection_mode\u0027))"},{"line_number":423,"context_line":""},{"line_number":424,"context_line":"    def test_egress_bw_limit(self):"},{"line_number":425,"context_line":"        port_name, _ \u003d self.create_ovs_port()"},{"line_number":426,"context_line":"        self.br.create_egress_bw_limit_for_port(port_name, 700, 70)"},{"line_number":427,"context_line":"        max_rate, burst \u003d self.br.get_egress_bw_limit_for_port(port_name)"}],"source_content_type":"text/x-python","patch_set":7,"id":"099a84e5_f17a870c","side":"PARENT","line":424,"range":{"start_line":424,"start_character":8,"end_line":424,"end_character":28},"updated":"2022-03-07 17:53:30.000000000","message":"+1","commit_id":"9acaaf636eabfcffd04c0972823b6d658c4bdfc8"}]}
