)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"6b38a8ac563ae5ab3cd2171a95a1b7edc814198e","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     liuchengqian90 \u003cxieling1990.happy@163.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2019-01-21 14:25:40 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Clear old rules that have been applied before applying new rules."},{"line_number":8,"context_line":"Ensure that the server, l2-agent and real application data are synchronized."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Change-Id: I194c918d859172c31ae5ce1af925fdbb388f9cfb"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9fdfeff1_8a60b134","line":7,"updated":"2019-01-21 08:53:05.000000000","message":"nit: please leave one empty line after commit message title","commit_id":"b16b206ccad26d029481dca0c77d0e2a416dadd0"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"6b38a8ac563ae5ab3cd2171a95a1b7edc814198e","unresolved":false,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2019-01-21 14:25:40 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Clear old rules that have been applied before applying new rules."},{"line_number":8,"context_line":"Ensure that the server, l2-agent and real application data are synchronized."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Change-Id: I194c918d859172c31ae5ce1af925fdbb388f9cfb"},{"line_number":11,"context_line":"Closes-Bug: #1812576"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9fdfeff1_2a550551","line":8,"updated":"2019-01-21 08:53:05.000000000","message":"please wrap up lines in commit message at 73 chars","commit_id":"b16b206ccad26d029481dca0c77d0e2a416dadd0"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"572e2c948fc7ba54874167488118530d8a66f5d6","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Chengqian Liu \u003cxieling1990.happy@163.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2019-01-22 00:39:59 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Clear old rules that have been applied before applying new rules."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Ensure that the server, l2-agent and real application data are"},{"line_number":10,"context_line":"synchronized."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I194c918d859172c31ae5ce1af925fdbb388f9cfb"},{"line_number":13,"context_line":"Closes-Bug: #1812576"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"9fdfeff1_07748e67","line":10,"range":{"start_line":7,"start_character":0,"end_line":10,"end_character":13},"updated":"2019-01-23 07:33:32.000000000","message":"Could you please give a short summary of the use case like in the bug report:\n* stop l2-agent\n* delete policy rule\n* start l2-agent\n* and the rule is still there, out-of-sync","commit_id":"1a910c73d72cdf70b79cbf56b6e8f7ee90f4886e"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"cefa84a2f07e25dcce26d3b0c326c2a8417bbce2","unresolved":false,"context_lines":[{"line_number":9,"context_line":"To prevent data from being out of sync in the following situations:"},{"line_number":10,"context_line":"1. Create a policy with two rules bound to the virtual machine"},{"line_number":11,"context_line":"2. Stop l2-agent"},{"line_number":12,"context_line":"3. Delete or clear policy rule"},{"line_number":13,"context_line":"4. Start l2-agent (the rule is still there, out-of-sync)"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: I194c918d859172c31ae5ce1af925fdbb388f9cfb"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"9fdfeff1_cd59788e","line":12,"range":{"start_line":12,"start_character":0,"end_line":12,"end_character":30},"updated":"2019-01-28 12:45:45.000000000","message":"Does this patch cover the rules change during agent down time？ Or could you please add a test case with following steps:\n(1) create vm and its port binding policy has rules with value_1 and value_2\n(2) stop l2-agent\n(3) change policy rule values to value_3 and value_4\n(4) check value_1 and value_2 is not set\n(5) check value_3 and value_4 is set.","commit_id":"25b03b261cb99c27ca702c48685a01daad97c215"}],"neutron/agent/l2/extensions/qos.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"6b38a8ac563ae5ab3cd2171a95a1b7edc814198e","unresolved":false,"context_lines":[{"line_number":271,"context_line":"            if old_qos_policy:"},{"line_number":272,"context_line":"                self.qos_driver.delete(port, old_qos_policy)"},{"line_number":273,"context_line":"                self.qos_driver.update(port, qos_policy)"},{"line_number":274,"context_line":"            elif not qos_policy.rules:"},{"line_number":275,"context_line":"                # There are no rules in new qos_policy,"},{"line_number":276,"context_line":"                # so it should be deleted."},{"line_number":277,"context_line":"                # But new policy has a relationship with the port,"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fdfeff1_0ae1219b","side":"PARENT","line":274,"updated":"2019-01-21 08:53:05.000000000","message":"Why You dropped the case when \"not qos_policy.rules\"? Don\u0027t You need to call delete() then too?","commit_id":"1a52affd1aa277c57032b64436006c42d18b3427"},{"author":{"_account_id":25643,"name":"Chengqian Liu","email":"xieling1990.happy@163.com","username":"25643"},"change_message_id":"e4d5c5fb595979d185794b40f4b10b5e882b9639","unresolved":false,"context_lines":[{"line_number":271,"context_line":"            if old_qos_policy:"},{"line_number":272,"context_line":"                self.qos_driver.delete(port, old_qos_policy)"},{"line_number":273,"context_line":"                self.qos_driver.update(port, qos_policy)"},{"line_number":274,"context_line":"            elif not qos_policy.rules:"},{"line_number":275,"context_line":"                # There are no rules in new qos_policy,"},{"line_number":276,"context_line":"                # so it should be deleted."},{"line_number":277,"context_line":"                # But new policy has a relationship with the port,"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fdfeff1_30f574cc","side":"PARENT","line":274,"in_reply_to":"9fdfeff1_0ae1219b","updated":"2019-01-21 10:48:39.000000000","message":"Thank you for your review.\nThe new fix will cover the case when \"not qos_policy.rules\".","commit_id":"1a52affd1aa277c57032b64436006c42d18b3427"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"6b38a8ac563ae5ab3cd2171a95a1b7edc814198e","unresolved":false,"context_lines":[{"line_number":271,"context_line":"            # Before applying the new rules, the old rules should be cleared,"},{"line_number":272,"context_line":"            # even if the old_qos_policy is None,"},{"line_number":273,"context_line":"            # to avoid the data being out of sync before the l2-agent starts."},{"line_number":274,"context_line":"            self.qos_driver.delete(port, old_qos_policy)"},{"line_number":275,"context_line":"            if qos_policy.rules:"},{"line_number":276,"context_line":"                self.qos_driver.create(port, qos_policy)"},{"line_number":277,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9fdfeff1_6ad0edca","line":274,"updated":"2019-01-21 08:53:05.000000000","message":"what if old_qos_policy is None? How self.qos_driver.delete() will work then?","commit_id":"b16b206ccad26d029481dca0c77d0e2a416dadd0"},{"author":{"_account_id":25643,"name":"Chengqian Liu","email":"xieling1990.happy@163.com","username":"25643"},"change_message_id":"e4d5c5fb595979d185794b40f4b10b5e882b9639","unresolved":false,"context_lines":[{"line_number":271,"context_line":"            # Before applying the new rules, the old rules should be cleared,"},{"line_number":272,"context_line":"            # even if the old_qos_policy is None,"},{"line_number":273,"context_line":"            # to avoid the data being out of sync before the l2-agent starts."},{"line_number":274,"context_line":"            self.qos_driver.delete(port, old_qos_policy)"},{"line_number":275,"context_line":"            if qos_policy.rules:"},{"line_number":276,"context_line":"                self.qos_driver.create(port, qos_policy)"},{"line_number":277,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9fdfeff1_50b598ed","line":274,"in_reply_to":"9fdfeff1_6ad0edca","updated":"2019-01-21 10:48:39.000000000","message":"delete() will clear all old rules of all types when old_qos_policy is None.\nSo , it covers the following two cases:\n1. No rules after l2-agent starts.\n2. There are new rules that are different from the old rules after l2-agent starts.","commit_id":"b16b206ccad26d029481dca0c77d0e2a416dadd0"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"6b38a8ac563ae5ab3cd2171a95a1b7edc814198e","unresolved":false,"context_lines":[{"line_number":272,"context_line":"            # even if the old_qos_policy is None,"},{"line_number":273,"context_line":"            # to avoid the data being out of sync before the l2-agent starts."},{"line_number":274,"context_line":"            self.qos_driver.delete(port, old_qos_policy)"},{"line_number":275,"context_line":"            if qos_policy.rules:"},{"line_number":276,"context_line":"                self.qos_driver.create(port, qos_policy)"},{"line_number":277,"context_line":""},{"line_number":278,"context_line":"    def delete_port(self, context, port):"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fdfeff1_eae37da3","line":275,"updated":"2019-01-21 08:53:05.000000000","message":"IMO You should add UT test case to cover this case","commit_id":"b16b206ccad26d029481dca0c77d0e2a416dadd0"},{"author":{"_account_id":25643,"name":"Chengqian Liu","email":"xieling1990.happy@163.com","username":"25643"},"change_message_id":"e4d5c5fb595979d185794b40f4b10b5e882b9639","unresolved":false,"context_lines":[{"line_number":272,"context_line":"            # even if the old_qos_policy is None,"},{"line_number":273,"context_line":"            # to avoid the data being out of sync before the l2-agent starts."},{"line_number":274,"context_line":"            self.qos_driver.delete(port, old_qos_policy)"},{"line_number":275,"context_line":"            if qos_policy.rules:"},{"line_number":276,"context_line":"                self.qos_driver.create(port, qos_policy)"},{"line_number":277,"context_line":""},{"line_number":278,"context_line":"    def delete_port(self, context, port):"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fdfeff1_3091f453","line":275,"in_reply_to":"9fdfeff1_eae37da3","updated":"2019-01-21 10:48:39.000000000","message":"Thank you very much.\nI will add UT test to cover this new case.","commit_id":"b16b206ccad26d029481dca0c77d0e2a416dadd0"}],"neutron/tests/fullstack/test_qos.py":[{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"572e2c948fc7ba54874167488118530d8a66f5d6","unresolved":false,"context_lines":[{"line_number":233,"context_line":"            vm, None, None, self.reverse_direction)"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"    def test_bw_limit_qos_rules_changed_l2_agent_restart(self):"},{"line_number":236,"context_line":"        self.l2_agent_process \u003d self.environment.hosts[0].l2_agent"},{"line_number":237,"context_line":"        self.l2_agent \u003d self.safe_client.client.list_agents("},{"line_number":238,"context_line":"            agent_type\u003dself.l2_agent_type)[\u0027agents\u0027][0]"},{"line_number":239,"context_line":""},{"line_number":240,"context_line":"        # Create port with qos policy attached, with different direction"},{"line_number":241,"context_line":"        vm, qos_policy \u003d self._prepare_vm_with_qos_policy("},{"line_number":242,"context_line":"            [functools.partial("},{"line_number":243,"context_line":"                self._add_bw_limit_rule,"},{"line_number":244,"context_line":"                BANDWIDTH_LIMIT, BANDWIDTH_BURST, self.direction),"},{"line_number":245,"context_line":"             functools.partial("},{"line_number":246,"context_line":"                self._add_bw_limit_rule,"},{"line_number":247,"context_line":"                BANDWIDTH_LIMIT, BANDWIDTH_BURST, self.reverse_direction)])"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"        bw_rule_1 \u003d qos_policy[\u0027rules\u0027][0]"},{"line_number":250,"context_line":"        qos_policy_id \u003d qos_policy[\u0027id\u0027]"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"        self._wait_for_bw_rule_applied("},{"line_number":253,"context_line":"            vm, BANDWIDTH_LIMIT, BANDWIDTH_BURST, self.direction)"},{"line_number":254,"context_line":"        self._wait_for_bw_rule_applied("},{"line_number":255,"context_line":"            vm, BANDWIDTH_LIMIT, BANDWIDTH_BURST, self.reverse_direction)"},{"line_number":256,"context_line":""},{"line_number":257,"context_line":"        # Stop l2_agent and clear these rules"},{"line_number":258,"context_line":"        self.l2_agent_process.stop()"},{"line_number":259,"context_line":"        self._wait_until_agent_down(self.l2_agent[\u0027id\u0027])"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"        self.client.delete_bandwidth_limit_rule(bw_rule_1[\u0027id\u0027],"},{"line_number":262,"context_line":"                                                qos_policy_id)"},{"line_number":263,"context_line":""},{"line_number":264,"context_line":"        # Start l2_agent to check if these rules is cleared"},{"line_number":265,"context_line":"        self.l2_agent_process.start()"},{"line_number":266,"context_line":"        self._wait_until_agent_up(self.l2_agent[\u0027id\u0027])"},{"line_number":267,"context_line":""},{"line_number":268,"context_line":"        self._wait_for_bw_rule_applied("},{"line_number":269,"context_line":"            vm, None, None, self.direction)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9fdfeff1_2790b24e","line":266,"range":{"start_line":236,"start_character":8,"end_line":266,"end_character":54},"updated":"2019-01-23 07:33:32.000000000","message":"as I see most of these things are the same as in the previous test (test_bw_limit_qos_no_rules_l2_agent_restart) you can move the common stuff to helper method","commit_id":"1a910c73d72cdf70b79cbf56b6e8f7ee90f4886e"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"b32e6c36b1616502d7124e55d5f07e3a6e56fc58","unresolved":false,"context_lines":[{"line_number":242,"context_line":"        bw_rule_1 \u003d qos_policy[\u0027rules\u0027][0]"},{"line_number":243,"context_line":"        qos_policy_id \u003d qos_policy[\u0027id\u0027]"},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"        # Stop l2_agent and clear these rules"},{"line_number":246,"context_line":"        self.l2_agent_process.stop()"},{"line_number":247,"context_line":"        self._wait_until_agent_down(self.l2_agent[\u0027id\u0027])"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"        self.client.delete_bandwidth_limit_rule(bw_rule_1[\u0027id\u0027],"},{"line_number":250,"context_line":"                                                qos_policy_id)"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"        # Start l2_agent to check if these rules is cleared"},{"line_number":253,"context_line":"        self.l2_agent_process.start()"},{"line_number":254,"context_line":"        self._wait_until_agent_up(self.l2_agent[\u0027id\u0027])"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"        self._wait_for_bw_rule_applied("},{"line_number":257,"context_line":"            vm, None, None, self.direction)"},{"line_number":258,"context_line":"        self._wait_for_bw_rule_applied("},{"line_number":259,"context_line":"            vm, BANDWIDTH_LIMIT, BANDWIDTH_BURST, self.reverse_direction)"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":""},{"line_number":262,"context_line":"class TestBwLimitQoSOvs(_TestBwLimitQoS, base.BaseFullStackTestCase):"}],"source_content_type":"text/x-python","patch_set":6,"id":"9fdfeff1_7e4038a6","line":259,"range":{"start_line":245,"start_character":8,"end_line":259,"end_character":73},"updated":"2019-01-28 07:31:10.000000000","message":"Not a big issue but I would \"outsource\" these as well to a method with correct parameters, like:\ndef _restart_agent_and_check_rules_applied(self, agent_id, policy_id, rules, vm, expect_rules\u003dFalse):\n...\n\nor similar","commit_id":"25b03b261cb99c27ca702c48685a01daad97c215"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"32a0fa2c17d345fbd0456d27029c58d4f8af3622","unresolved":false,"context_lines":[{"line_number":158,"context_line":"        self._wait_until_agent_down(self.l2_agent[\u0027id\u0027])"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"        for rule in delete_rules:"},{"line_number":161,"context_line":"            self.client.delete_bandwidth_limit_rule(rule[\u0027id\u0027],"},{"line_number":162,"context_line":"                                                    policy_id)"},{"line_number":163,"context_line":"        if not add_rules:"},{"line_number":164,"context_line":"            add_rules \u003d []"}],"source_content_type":"text/x-python","patch_set":9,"id":"9fdfeff1_3e7b797b","line":161,"range":{"start_line":161,"start_character":24,"end_line":161,"end_character":51},"updated":"2019-01-29 07:53:49.000000000","message":"This helper function always delete the old rules and create new rules. What about add a case that only change the rule value during the agent down time? And then check if the new values are set properly.","commit_id":"4e82edc543433542c83e0a64432279876111bfd9"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"7f19ac5d54e9489e0e7f20cf8d9321c22f897d96","unresolved":false,"context_lines":[{"line_number":159,"context_line":"        add_rules \u003d list() if not add_rules else add_rules"},{"line_number":160,"context_line":"        update_rules \u003d list() if not update_rules else update_rules"},{"line_number":161,"context_line":"        delete_rules \u003d list() if not delete_rules else delete_rules"},{"line_number":162,"context_line":"        # Stop l2_agent and clear these rules"},{"line_number":163,"context_line":"        self.l2_agent_process.stop()"},{"line_number":164,"context_line":"        self._wait_until_agent_down(self.l2_agent[\u0027id\u0027])"},{"line_number":165,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"9fdfeff1_c310315a","line":162,"range":{"start_line":162,"start_character":28,"end_line":162,"end_character":33},"updated":"2019-01-31 06:07:27.000000000","message":"clear/update/reset the port qos rules","commit_id":"055d399c9a498f1031121e7f92f3698b5dd87c51"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"7f19ac5d54e9489e0e7f20cf8d9321c22f897d96","unresolved":false,"context_lines":[{"line_number":315,"context_line":"                         \u0027burst\u0027: BANDWIDTH_BURST * 2}]"},{"line_number":316,"context_line":""},{"line_number":317,"context_line":"        self._restart_agent_and_check_rules_applied("},{"line_number":318,"context_line":"            qos_policy_id, vm, update_rules,"},{"line_number":319,"context_line":"            update_rules\u003dupdate_rules)"},{"line_number":320,"context_line":""},{"line_number":321,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"9fdfeff1_c327d1c9","line":318,"range":{"start_line":318,"start_character":31,"end_line":318,"end_character":43},"updated":"2019-01-31 06:07:27.000000000","message":"nit: expect_rules ? looks confusing to next param name...","commit_id":"055d399c9a498f1031121e7f92f3698b5dd87c51"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"42d99505c33bc4f85fd4e977fae41a6c5a0272f1","unresolved":false,"context_lines":[{"line_number":131,"context_line":"        qos_policy[\u0027rules\u0027].append(rule)"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"    def _create_vm_with_limit_rules(self):"},{"line_number":134,"context_line":"        self.l2_agent_process \u003d self.environment.hosts[0].l2_agent"},{"line_number":135,"context_line":"        self.l2_agent \u003d self.safe_client.client.list_agents("},{"line_number":136,"context_line":"            agent_type\u003dself.l2_agent_type)[\u0027agents\u0027][0]"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"        # Create port with qos policy attached, with different direction"},{"line_number":139,"context_line":"        vm, qos_policy \u003d self._prepare_vm_with_qos_policy("}],"source_content_type":"text/x-python","patch_set":22,"id":"9fdfeff1_c2c010e4","line":136,"range":{"start_line":134,"start_character":0,"end_line":136,"end_character":55},"updated":"2019-02-01 11:04:02.000000000","message":"why this is done here?","commit_id":"bdefcdeee734e3fe69ae0c1340e8fc57e511310c"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"42d99505c33bc4f85fd4e977fae41a6c5a0272f1","unresolved":false,"context_lines":[{"line_number":187,"context_line":"        for final_rule in final_rules:"},{"line_number":188,"context_line":"            self._wait_for_bw_rule_applied("},{"line_number":189,"context_line":"                vm, final_rule.get(\u0027limit\u0027),"},{"line_number":190,"context_line":"                final_rule.get(\u0027burst\u0027), final_rule[\u0027direction\u0027])"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"    def test_bw_limit_qos_policy_rule_lifecycle(self):"},{"line_number":193,"context_line":"        new_limit \u003d BANDWIDTH_LIMIT + 100"}],"source_content_type":"text/x-python","patch_set":22,"id":"9fdfeff1_227a3cb9","line":190,"updated":"2019-02-01 11:04:02.000000000","message":"You are checking here if final_rules are configured fine, but You should also check if there are no any other rules applied to port, right?","commit_id":"bdefcdeee734e3fe69ae0c1340e8fc57e511310c"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"42d99505c33bc4f85fd4e977fae41a6c5a0272f1","unresolved":false,"context_lines":[{"line_number":258,"context_line":"        qos_policy_id \u003d qos_policy[\u0027id\u0027]"},{"line_number":259,"context_line":""},{"line_number":260,"context_line":"        final_rules \u003d [{\u0027direction\u0027: self.direction},"},{"line_number":261,"context_line":"                       {\u0027direction\u0027: self.reverse_direction}]"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"        self._restart_agent_and_check_rules_applied("},{"line_number":264,"context_line":"            qos_policy_id, vm, final_rules\u003dfinal_rules,"}],"source_content_type":"text/x-python","patch_set":22,"id":"9fdfeff1_c2333013","line":261,"updated":"2019-02-01 11:04:02.000000000","message":"If You want to check here that rule is not set, I think You should explicit set here \"limit\": None and maybe add comment what You are expecting here.","commit_id":"bdefcdeee734e3fe69ae0c1340e8fc57e511310c"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"444259b4a04c24bdb8d19f7040ba157c81fcb715","unresolved":false,"context_lines":[{"line_number":262,"context_line":"        qos_policy_id \u003d qos_policy[\u0027id\u0027]"},{"line_number":263,"context_line":""},{"line_number":264,"context_line":"        final_rules \u003d [{\u0027direction\u0027: self.direction,"},{"line_number":265,"context_line":"                        \u0027limit\u0027: None},"},{"line_number":266,"context_line":"                       {\u0027direction\u0027: self.reverse_direction,"},{"line_number":267,"context_line":"                        \u0027limit\u0027: None}]"},{"line_number":268,"context_line":""}],"source_content_type":"text/x-python","patch_set":24,"id":"9fdfeff1_99526d12","line":265,"updated":"2019-02-02 05:26:14.000000000","message":"I really think that small comment in L264 would be good for future readers of this code :)","commit_id":"c0eb80fd7af325aaf213e37d86f117b9bdecd6b3"}]}
