)]}'
{"neutron/agent/l2/extensions/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":"f8fd34f704cc67d6c6f9e76354ca35ee4558a968","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"3f79a3b5_7bb1be46","updated":"2018-08-15 06:48:33.000000000","message":"Be careful you changed the permissions of the file from 644 to 755","commit_id":"9396a8bf03f6269ddcd85f2d6040f6c7f6832746"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"49e64e4311194243ca69add0da605d9f70ac4f09","unresolved":false,"context_lines":[{"line_number":258,"context_line":"            return"},{"line_number":259,"context_line":""},{"line_number":260,"context_line":"        qos_policy \u003d self.policy_map.get_policy("},{"line_number":261,"context_line":"            qos_policy_id) or self.resource_rpc.pull("},{"line_number":262,"context_line":"            context, resources.QOS_POLICY, qos_policy_id)"},{"line_number":263,"context_line":"        if qos_policy is None:"},{"line_number":264,"context_line":"            LOG.info(\"QoS policy %(qos_policy_id)s applied to port \""}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_63f52983","line":261,"updated":"2018-08-08 08:42:50.000000000","message":"Maybe You can update Your patch or propose follow up on top of this one.\nIt could be maybe useful to log on debug level that qos policy wasn\u0027t available in local cache and is pulled from server.\nAnd also log what policy was found in cache or was pulled from server.","commit_id":"9396a8bf03f6269ddcd85f2d6040f6c7f6832746"}],"neutron/tests/unit/agent/l2/extensions/test_qos.py":[{"author":{"_account_id":27654,"name":"Hongbin Lu","email":"kira034@163.com","username":"hongbin.lu"},"change_message_id":"3b051b06131c8c676e53a9e4127f6ddd5f13277a","unresolved":false,"context_lines":[{"line_number":30,"context_line":"from neutron.objects.qos import policy"},{"line_number":31,"context_line":"from neutron.objects.qos import rule"},{"line_number":32,"context_line":"from neutron.plugins.ml2.drivers.openvswitch.agent import ("},{"line_number":33,"context_line":"        ovs_agent_extension_api as ovs_ext_api)"},{"line_number":34,"context_line":"from neutron.plugins.ml2.drivers.openvswitch.agent.common import constants"},{"line_number":35,"context_line":"from neutron.plugins.ml2.drivers.openvswitch.agent.openflow.ovs_ofctl import ("},{"line_number":36,"context_line":"    ovs_bridge)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_dfe8eae0","side":"PARENT","line":33,"range":{"start_line":33,"start_character":0,"end_line":33,"end_character":8},"updated":"2018-08-01 21:16:31.000000000","message":"I would suggest to leave this unchanged because it will cause potential conflicts if we want to backport this patch to stable branches. If you really want to fix it, do it in a separated patch would be a good idea.\n\nThis applies to the rest of this file.","commit_id":"ca13e651c972c4eea5c00e1a84b504e0a34afc55"},{"author":{"_account_id":25643,"name":"Chengqian Liu","email":"xieling1990.happy@163.com","username":"25643"},"change_message_id":"0f09a400fbaed18ca055119a1294ce7e12fff11d","unresolved":false,"context_lines":[{"line_number":30,"context_line":"from neutron.objects.qos import policy"},{"line_number":31,"context_line":"from neutron.objects.qos import rule"},{"line_number":32,"context_line":"from neutron.plugins.ml2.drivers.openvswitch.agent import ("},{"line_number":33,"context_line":"        ovs_agent_extension_api as ovs_ext_api)"},{"line_number":34,"context_line":"from neutron.plugins.ml2.drivers.openvswitch.agent.common import constants"},{"line_number":35,"context_line":"from neutron.plugins.ml2.drivers.openvswitch.agent.openflow.ovs_ofctl import ("},{"line_number":36,"context_line":"    ovs_bridge)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_139ada5e","side":"PARENT","line":33,"range":{"start_line":33,"start_character":0,"end_line":33,"end_character":8},"in_reply_to":"5f7c97a3_dfe8eae0","updated":"2018-08-02 02:31:40.000000000","message":"Thank you for your comments.\nI will fix it.","commit_id":"ca13e651c972c4eea5c00e1a84b504e0a34afc55"},{"author":{"_account_id":27654,"name":"Hongbin Lu","email":"kira034@163.com","username":"hongbin.lu"},"change_message_id":"3b051b06131c8c676e53a9e4127f6ddd5f13277a","unresolved":false,"context_lines":[{"line_number":294,"context_line":""},{"line_number":295,"context_line":"    def test_handle_diff_ports_same_policy_id(self):"},{"line_number":296,"context_line":"        port_obj1 \u003d self._create_test_port_dict()"},{"line_number":297,"context_line":"        port_obj2 \u003d self._create_test_port_dict()"},{"line_number":298,"context_line":""},{"line_number":299,"context_line":"        self.qos_ext.handle_port(self.context, port_obj1)"},{"line_number":300,"context_line":"        self.pull_mock.assert_called_once_with("}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_bfb72d22","line":297,"updated":"2018-08-01 21:16:31.000000000","message":"I think it is better to add an assertion to ensure that port_obj1 and port_obj2 has the same policy ID?","commit_id":"08166e6b01919256aa52bf0acea55c2828150e38"},{"author":{"_account_id":25643,"name":"Chengqian Liu","email":"xieling1990.happy@163.com","username":"25643"},"change_message_id":"0f09a400fbaed18ca055119a1294ce7e12fff11d","unresolved":false,"context_lines":[{"line_number":294,"context_line":""},{"line_number":295,"context_line":"    def test_handle_diff_ports_same_policy_id(self):"},{"line_number":296,"context_line":"        port_obj1 \u003d self._create_test_port_dict()"},{"line_number":297,"context_line":"        port_obj2 \u003d self._create_test_port_dict()"},{"line_number":298,"context_line":""},{"line_number":299,"context_line":"        self.qos_ext.handle_port(self.context, port_obj1)"},{"line_number":300,"context_line":"        self.pull_mock.assert_called_once_with("}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_d391c251","line":297,"in_reply_to":"5f7c97a3_bfb72d22","updated":"2018-08-02 02:31:40.000000000","message":"Thank you for your comments.\nI think \u0027_create_test_port_dict\u0027  can prove that their policy IDs are the same.","commit_id":"08166e6b01919256aa52bf0acea55c2828150e38"},{"author":{"_account_id":27654,"name":"Hongbin Lu","email":"kira034@163.com","username":"hongbin.lu"},"change_message_id":"3b051b06131c8c676e53a9e4127f6ddd5f13277a","unresolved":false,"context_lines":[{"line_number":299,"context_line":"        self.qos_ext.handle_port(self.context, port_obj1)"},{"line_number":300,"context_line":"        self.pull_mock.assert_called_once_with("},{"line_number":301,"context_line":"            self.context, resources.QOS_POLICY,"},{"line_number":302,"context_line":"            port_obj1[\u0027qos_policy_id\u0027])"},{"line_number":303,"context_line":""},{"line_number":304,"context_line":"        self.qos_ext.resource_rpc.pull.reset_mock()"},{"line_number":305,"context_line":"        self.qos_ext.handle_port(self.context, port_obj2)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_1f42e10d","line":302,"updated":"2018-08-01 21:16:31.000000000","message":"I think it is better to assert that, at this point, port_obj1 is in the policy_map and port_obj2 is not in the policy_map","commit_id":"08166e6b01919256aa52bf0acea55c2828150e38"},{"author":{"_account_id":25643,"name":"Chengqian Liu","email":"xieling1990.happy@163.com","username":"25643"},"change_message_id":"0f09a400fbaed18ca055119a1294ce7e12fff11d","unresolved":false,"context_lines":[{"line_number":299,"context_line":"        self.qos_ext.handle_port(self.context, port_obj1)"},{"line_number":300,"context_line":"        self.pull_mock.assert_called_once_with("},{"line_number":301,"context_line":"            self.context, resources.QOS_POLICY,"},{"line_number":302,"context_line":"            port_obj1[\u0027qos_policy_id\u0027])"},{"line_number":303,"context_line":""},{"line_number":304,"context_line":"        self.qos_ext.resource_rpc.pull.reset_mock()"},{"line_number":305,"context_line":"        self.qos_ext.handle_port(self.context, port_obj2)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_b3a446a5","line":302,"in_reply_to":"5f7c97a3_1f42e10d","updated":"2018-08-02 02:31:40.000000000","message":"Thank you for your comments.\nI will add an assertion here and below.","commit_id":"08166e6b01919256aa52bf0acea55c2828150e38"},{"author":{"_account_id":27654,"name":"Hongbin Lu","email":"kira034@163.com","username":"hongbin.lu"},"change_message_id":"3b051b06131c8c676e53a9e4127f6ddd5f13277a","unresolved":false,"context_lines":[{"line_number":303,"context_line":""},{"line_number":304,"context_line":"        self.qos_ext.resource_rpc.pull.reset_mock()"},{"line_number":305,"context_line":"        self.qos_ext.handle_port(self.context, port_obj2)"},{"line_number":306,"context_line":"        self.assertFalse(self.pull_mock.called)"},{"line_number":307,"context_line":""},{"line_number":308,"context_line":"    def test_delete_known_port(self):"},{"line_number":309,"context_line":"        port \u003d self._create_test_port_dict()"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_3f523ddb","line":306,"updated":"2018-08-01 21:16:31.000000000","message":"I think it is better to assert that, at this point, both port_obj1 and port_obj2 are in the policy_map.","commit_id":"08166e6b01919256aa52bf0acea55c2828150e38"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"f8fd34f704cc67d6c6f9e76354ca35ee4558a968","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"3f79a3b5_3bb7c63c","updated":"2018-08-15 06:48:33.000000000","message":"The same permission change for the file","commit_id":"9396a8bf03f6269ddcd85f2d6040f6c7f6832746"}]}
