)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"1bdbf2cc469ac90497aa3c96d29a11382f4c245b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"aa95a907_dba06ea1","updated":"2022-05-10 13:38:45.000000000","message":"recheck","commit_id":"3026ffca4498297612bb0bd7da947598f8c9f6ea"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"616d71f8d354224c321a0447ec3232502bb0d6a8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"3ef4dc39_5a435d98","updated":"2022-06-10 08:06:29.000000000","message":"recheck","commit_id":"946bd5aadded7c270afc4fbc6c06c6a0aabf9471"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"6c47089e249cda97b0956f2174635fb43752d597","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"0790a0bd_93615d04","updated":"2022-06-09 12:33:27.000000000","message":"recheck\n\nerror in pypi","commit_id":"946bd5aadded7c270afc4fbc6c06c6a0aabf9471"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"ede1fde95db2732c44aa0202915a31fc9dbb4319","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"f61da73d_1dae6574","updated":"2022-10-06 12:56:43.000000000","message":"Don\u0027t you need an __init__ under neutron/services/trunk/drivers/openvswitch/agent/extension_drivers/ ?","commit_id":"dd1a143c560028fc637a98e0aef182e8e32b4304"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"f52d6ae891997474fab9f98a11d7c967c6d2f2f9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"df05d4fb_8665d8b0","in_reply_to":"f61da73d_1dae6574","updated":"2022-10-06 16:12:50.000000000","message":"Good catch!","commit_id":"dd1a143c560028fc637a98e0aef182e8e32b4304"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"13802a363fc9fcc7b11d39802de5ccc3f374e870","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"4c83a880_37ddfadf","updated":"2023-02-02 12:00:29.000000000","message":"You should probably also update https://docs.openstack.org/neutron/latest/admin/config-qos.html#supported-qos-rule-types and add release note for that.","commit_id":"44cbe04c5b193d1d612635c8172b0a481f850cd6"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"41ec6479142744d4d65eb4702cd8ba2a4fee6d2b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"eb3d491c_96f7048d","in_reply_to":"4c83a880_37ddfadf","updated":"2023-02-03 09:22:43.000000000","message":"Done","commit_id":"44cbe04c5b193d1d612635c8172b0a481f850cd6"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"20cbe988a0c3f2b5a57270e9a9069c46f4ecc318","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"b9b6867e_4a4fda2e","updated":"2023-02-06 09:00:58.000000000","message":"recheck funtional","commit_id":"83ff61e18c8724ebbe2d4cab73130dc054e35830"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"bcaf3248d465ff804f5f7075230356f8d4753de8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"3ef0372f_d5781c34","updated":"2023-03-27 08:51:41.000000000","message":"recheck tempest","commit_id":"a78a067c5cb9df066cc82945a1c0ddda69cb6059"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"0cb8996651e7619cb70fafb5a35427f2d489b831","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":20,"id":"3321ce48_535a946c","updated":"2023-07-06 12:25:00.000000000","message":"recheck neutron-functional-with-uwsgi","commit_id":"44e15aa16ad0f7832b1049045ca664e5c4c3fffc"}],"neutron/agent/rpc.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"13802a363fc9fcc7b11d39802de5ccc3f374e870","unresolved":true,"context_lines":[{"line_number":326,"context_line":"        return result"},{"line_number":327,"context_line":""},{"line_number":328,"context_line":"    def get_device_details(self, context, device, agent_id, host\u003dNone,"},{"line_number":329,"context_line":"                           agent_restarted\u003dFalse, qos_only\u003dFalse):"},{"line_number":330,"context_line":"        port_obj \u003d self.remote_resource_cache.get_resource_by_id("},{"line_number":331,"context_line":"            resources.PORT, device, agent_restarted)"},{"line_number":332,"context_line":"        if not port_obj:"}],"source_content_type":"text/x-python","patch_set":16,"id":"450982bd_17df502c","line":329,"updated":"2023-02-02 12:00:29.000000000","message":"can\u0027t we propose new method \"get_device_qos\" or something like that instead of adding new attribute which will completely change behavior of this method?","commit_id":"44cbe04c5b193d1d612635c8172b0a481f850cd6"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"41ec6479142744d4d65eb4702cd8ba2a4fee6d2b","unresolved":false,"context_lines":[{"line_number":326,"context_line":"        return result"},{"line_number":327,"context_line":""},{"line_number":328,"context_line":"    def get_device_details(self, context, device, agent_id, host\u003dNone,"},{"line_number":329,"context_line":"                           agent_restarted\u003dFalse, qos_only\u003dFalse):"},{"line_number":330,"context_line":"        port_obj \u003d self.remote_resource_cache.get_resource_by_id("},{"line_number":331,"context_line":"            resources.PORT, device, agent_restarted)"},{"line_number":332,"context_line":"        if not port_obj:"}],"source_content_type":"text/x-python","patch_set":16,"id":"9104b876_bc86e6df","line":329,"in_reply_to":"450982bd_17df502c","updated":"2023-02-03 09:22:43.000000000","message":"Done","commit_id":"44cbe04c5b193d1d612635c8172b0a481f850cd6"}],"neutron/services/trunk/drivers/openvswitch/agent/ovsdb_handler.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"13802a363fc9fcc7b11d39802de5ccc3f374e870","unresolved":true,"context_lines":[{"line_number":81,"context_line":""},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"def bridge_has_port(bridge, is_port_predicate):"},{"line_number":84,"context_line":"    \"\"\"Returns the list of ports matching the port predicate.\"\"\""},{"line_number":85,"context_line":"    try:"},{"line_number":86,"context_line":"        ifaces \u003d bridge.get_iface_name_list()"},{"line_number":87,"context_line":"    except RuntimeError as e:"}],"source_content_type":"text/x-python","patch_set":16,"id":"800d8efc_4a7f2987","line":84,"updated":"2023-02-02 12:00:29.000000000","message":"I would add new method bridge_ports() or get_bridge_ports() and left return value of that one as it was before.","commit_id":"44cbe04c5b193d1d612635c8172b0a481f850cd6"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"41ec6479142744d4d65eb4702cd8ba2a4fee6d2b","unresolved":false,"context_lines":[{"line_number":81,"context_line":""},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"def bridge_has_port(bridge, is_port_predicate):"},{"line_number":84,"context_line":"    \"\"\"Returns the list of ports matching the port predicate.\"\"\""},{"line_number":85,"context_line":"    try:"},{"line_number":86,"context_line":"        ifaces \u003d bridge.get_iface_name_list()"},{"line_number":87,"context_line":"    except RuntimeError as e:"}],"source_content_type":"text/x-python","patch_set":16,"id":"a50992d5_ee129601","line":84,"in_reply_to":"800d8efc_4a7f2987","updated":"2023-02-03 09:22:43.000000000","message":"Done","commit_id":"44cbe04c5b193d1d612635c8172b0a481f850cd6"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"13802a363fc9fcc7b11d39802de5ccc3f374e870","unresolved":true,"context_lines":[{"line_number":121,"context_line":"        self.trunk_manager \u003d trunk_manager"},{"line_number":122,"context_line":"        self.trunk_rpc \u003d agent.TrunkStub()"},{"line_number":123,"context_line":"        self._ext_manager \u003d ext_manager"},{"line_number":124,"context_line":"        # RAH; maybe we\u0027ll need an agent_api, maybe..."},{"line_number":125,"context_line":"        # RAH; make \"ovs_trunk\" a constant"},{"line_number":126,"context_line":"        self.connection \u003d lib_rpc.Connection()"},{"line_number":127,"context_line":"        self._ext_manager.initialize(self.connection, \u0027ovs_trunk\u0027,"},{"line_number":128,"context_line":"                                     agent_api\u003dNone)"}],"source_content_type":"text/x-python","patch_set":16,"id":"86b21c4e_f09f573f","line":125,"range":{"start_line":124,"start_character":8,"end_line":125,"end_character":42},"updated":"2023-02-02 12:00:29.000000000","message":"should those comments be here? If yes, maybe You should add \"NOTE\" to them?","commit_id":"44cbe04c5b193d1d612635c8172b0a481f850cd6"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"41ec6479142744d4d65eb4702cd8ba2a4fee6d2b","unresolved":false,"context_lines":[{"line_number":121,"context_line":"        self.trunk_manager \u003d trunk_manager"},{"line_number":122,"context_line":"        self.trunk_rpc \u003d agent.TrunkStub()"},{"line_number":123,"context_line":"        self._ext_manager \u003d ext_manager"},{"line_number":124,"context_line":"        # RAH; maybe we\u0027ll need an agent_api, maybe..."},{"line_number":125,"context_line":"        # RAH; make \"ovs_trunk\" a constant"},{"line_number":126,"context_line":"        self.connection \u003d lib_rpc.Connection()"},{"line_number":127,"context_line":"        self._ext_manager.initialize(self.connection, \u0027ovs_trunk\u0027,"},{"line_number":128,"context_line":"                                     agent_api\u003dNone)"}],"source_content_type":"text/x-python","patch_set":16,"id":"385bc50e_c682ef75","line":125,"range":{"start_line":124,"start_character":8,"end_line":125,"end_character":42},"in_reply_to":"86b21c4e_f09f573f","updated":"2023-02-03 09:22:43.000000000","message":"We don\u0027t need those comments.","commit_id":"44cbe04c5b193d1d612635c8172b0a481f850cd6"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"13802a363fc9fcc7b11d39802de5ccc3f374e870","unresolved":true,"context_lines":[{"line_number":127,"context_line":"        self._ext_manager.initialize(self.connection, \u0027ovs_trunk\u0027,"},{"line_number":128,"context_line":"                                     agent_api\u003dNone)"},{"line_number":129,"context_line":"        self._ovs_agent \u003d ovs_agent"},{"line_number":130,"context_line":"        # _trunk_instance_port \u003d {trunk_bridge_name: TAP_port_id}"},{"line_number":131,"context_line":"        self._trunk_instance_port \u003d {}"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"    @property"}],"source_content_type":"text/x-python","patch_set":16,"id":"f00cb708_417caadf","line":130,"updated":"2023-02-02 12:00:29.000000000","message":"ditto","commit_id":"44cbe04c5b193d1d612635c8172b0a481f850cd6"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"41ec6479142744d4d65eb4702cd8ba2a4fee6d2b","unresolved":false,"context_lines":[{"line_number":127,"context_line":"        self._ext_manager.initialize(self.connection, \u0027ovs_trunk\u0027,"},{"line_number":128,"context_line":"                                     agent_api\u003dNone)"},{"line_number":129,"context_line":"        self._ovs_agent \u003d ovs_agent"},{"line_number":130,"context_line":"        # _trunk_instance_port \u003d {trunk_bridge_name: TAP_port_id}"},{"line_number":131,"context_line":"        self._trunk_instance_port \u003d {}"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"    @property"}],"source_content_type":"text/x-python","patch_set":16,"id":"bbc99bc3_a0d32e9d","line":130,"in_reply_to":"f00cb708_417caadf","updated":"2023-02-03 09:22:43.000000000","message":"Done","commit_id":"44cbe04c5b193d1d612635c8172b0a481f850cd6"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"13802a363fc9fcc7b11d39802de5ccc3f374e870","unresolved":true,"context_lines":[{"line_number":206,"context_line":"        is_instance_port \u003d lambda p: not is_trunk_service_port(p)"},{"line_number":207,"context_line":"        br_ports \u003d bridge_has_port(bridge, is_instance_port)"},{"line_number":208,"context_line":"        if not br_ports:"},{"line_number":209,"context_line":"            # This should never happen."},{"line_number":210,"context_line":"            return"},{"line_number":211,"context_line":"        port_name \u003d br_ports.pop()"},{"line_number":212,"context_line":"        port_ovs \u003d bridge.db_get_val(\u0027Interface\u0027, port_name, \u0027external_ids\u0027)"}],"source_content_type":"text/x-python","patch_set":16,"id":"15241df9_8ad167f9","line":209,"updated":"2023-02-02 12:00:29.000000000","message":"so maybe some error should be logged in such case?","commit_id":"44cbe04c5b193d1d612635c8172b0a481f850cd6"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"41ec6479142744d4d65eb4702cd8ba2a4fee6d2b","unresolved":false,"context_lines":[{"line_number":206,"context_line":"        is_instance_port \u003d lambda p: not is_trunk_service_port(p)"},{"line_number":207,"context_line":"        br_ports \u003d bridge_has_port(bridge, is_instance_port)"},{"line_number":208,"context_line":"        if not br_ports:"},{"line_number":209,"context_line":"            # This should never happen."},{"line_number":210,"context_line":"            return"},{"line_number":211,"context_line":"        port_name \u003d br_ports.pop()"},{"line_number":212,"context_line":"        port_ovs \u003d bridge.db_get_val(\u0027Interface\u0027, port_name, \u0027external_ids\u0027)"}],"source_content_type":"text/x-python","patch_set":16,"id":"c559e343_16a06eaf","line":209,"in_reply_to":"15241df9_8ad167f9","updated":"2023-02-03 09:22:43.000000000","message":"Done","commit_id":"44cbe04c5b193d1d612635c8172b0a481f850cd6"}],"neutron/tests/fullstack/test_trunk.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"13802a363fc9fcc7b11d39802de5ccc3f374e870","unresolved":true,"context_lines":[{"line_number":101,"context_line":"        env \u003d environment.Environment(env_desc, host_desc)"},{"line_number":102,"context_line":"        super(TestTrunkPlugin, self).setUp(env)"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"        self.project_id \u003d uuidutils.generate_uuid()"},{"line_number":105,"context_line":"        self.trunk_network \u003d Network(\u0027trunk\u0027, \u002710.0.0.0/24\u0027)"},{"line_number":106,"context_line":"        self.vlan1_network \u003d Network(\u0027vlan1\u0027, \u0027192.168.0.0/24\u0027, tag\u003d10)"},{"line_number":107,"context_line":"        self.vlan2_network \u003d Network(\u0027vlan2\u0027, \u0027192.168.1.0/24\u0027, tag\u003d20)"}],"source_content_type":"text/x-python","patch_set":16,"id":"28503f96_5e344a13","line":104,"updated":"2023-02-02 12:00:29.000000000","message":"is this relevant change?","commit_id":"44cbe04c5b193d1d612635c8172b0a481f850cd6"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"41ec6479142744d4d65eb4702cd8ba2a4fee6d2b","unresolved":false,"context_lines":[{"line_number":101,"context_line":"        env \u003d environment.Environment(env_desc, host_desc)"},{"line_number":102,"context_line":"        super(TestTrunkPlugin, self).setUp(env)"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"        self.project_id \u003d uuidutils.generate_uuid()"},{"line_number":105,"context_line":"        self.trunk_network \u003d Network(\u0027trunk\u0027, \u002710.0.0.0/24\u0027)"},{"line_number":106,"context_line":"        self.vlan1_network \u003d Network(\u0027vlan1\u0027, \u0027192.168.0.0/24\u0027, tag\u003d10)"},{"line_number":107,"context_line":"        self.vlan2_network \u003d Network(\u0027vlan2\u0027, \u0027192.168.1.0/24\u0027, tag\u003d20)"}],"source_content_type":"text/x-python","patch_set":16,"id":"18aeab0b_322d48f4","line":104,"in_reply_to":"28503f96_5e344a13","updated":"2023-02-03 09:22:43.000000000","message":"Not really for this patch. I\u0027ll push another patch on top of this one.","commit_id":"44cbe04c5b193d1d612635c8172b0a481f850cd6"}]}
