)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"2619e1ec14aea36c5f4336322101041c076aab31","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"d195c3cc_dc73df8e","updated":"2021-11-29 16:55:13.000000000","message":"A question about the deepcopy, otherwise LGTM","commit_id":"76273025f8234d87b31ed584b60928b40419f929"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"9a409c18849c0b99c387e4dbedb70e24549af47e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"ae4cedd4_f719ebb5","updated":"2021-12-13 09:58:46.000000000","message":"Good catch","commit_id":"b871dabdf433d2393551de6597d43774ed6cf1e4"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"b02905d5ffed58a897a4150d5bed9029ee0bc6ba","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"9ca216c2_ed127e24","updated":"2021-11-30 17:01:26.000000000","message":"recheck","commit_id":"b871dabdf433d2393551de6597d43774ed6cf1e4"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"5565c91d43a414f13e8f8645e214c79dc1ad363d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"ce2047d1_7480099e","updated":"2021-12-01 10:02:25.000000000","message":"recheck","commit_id":"b871dabdf433d2393551de6597d43774ed6cf1e4"}],"neutron/tests/functional/plugins/ml2/drivers/ovn/mech_driver/test_mech_driver.py":[{"author":{"_account_id":32586,"name":"Elvira García Ruiz","display_name":"Elvira","email":"egarciar@redhat.com","username":"elvira"},"change_message_id":"04f2ac2a882a7a81f20f8bb1393590620b563e8d","unresolved":true,"context_lines":[{"line_number":11,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":12,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":13,"context_line":"#    under the License."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import functools"},{"line_number":16,"context_line":"import re"},{"line_number":17,"context_line":"from unittest import mock"}],"source_content_type":"text/x-python","patch_set":2,"id":"aaa45428_b001aa66","side":"PARENT","line":14,"updated":"2021-11-25 18:10:11.000000000","message":"nit: Is there any reason to remove this line and line 20?","commit_id":"2b30fa7bedf58e19e150a1f40f82d83d48e84049"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"6f065d2883ef129cbe770adcb0dc3b3343a9a1f9","unresolved":false,"context_lines":[{"line_number":11,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":12,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":13,"context_line":"#    under the License."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import functools"},{"line_number":16,"context_line":"import re"},{"line_number":17,"context_line":"from unittest import mock"}],"source_content_type":"text/x-python","patch_set":2,"id":"b9de5de5_77cea123","side":"PARENT","line":14,"in_reply_to":"3370e25b_88134c0d","updated":"2021-11-30 10:03:19.000000000","message":"I\u0027ll remove it.","commit_id":"2b30fa7bedf58e19e150a1f40f82d83d48e84049"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"24137f5b68009e781aa428e62083076aadc619f2","unresolved":true,"context_lines":[{"line_number":11,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":12,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":13,"context_line":"#    under the License."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import functools"},{"line_number":16,"context_line":"import re"},{"line_number":17,"context_line":"from unittest import mock"}],"source_content_type":"text/x-python","patch_set":2,"id":"f32f74bb_da745527","side":"PARENT","line":14,"in_reply_to":"aaa45428_b001aa66","updated":"2021-11-29 15:48:21.000000000","message":"yes, there should be only 3 import blocks: the built-in libraries provided by Python, the external libraries (netaddr is one of them) and the local modules.","commit_id":"2b30fa7bedf58e19e150a1f40f82d83d48e84049"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"2619e1ec14aea36c5f4336322101041c076aab31","unresolved":false,"context_lines":[{"line_number":11,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":12,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":13,"context_line":"#    under the License."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import functools"},{"line_number":16,"context_line":"import re"},{"line_number":17,"context_line":"from unittest import mock"}],"source_content_type":"text/x-python","patch_set":2,"id":"3370e25b_88134c0d","side":"PARENT","line":14,"in_reply_to":"b5adcc48_0f735d8b","updated":"2021-11-29 16:55:13.000000000","message":"I\u0027m not a fan incorporating such patches into patches that fix something else. The reason is that modules are often changed in backports and it creates unnecessary conflicts.","commit_id":"2b30fa7bedf58e19e150a1f40f82d83d48e84049"},{"author":{"_account_id":32586,"name":"Elvira García Ruiz","display_name":"Elvira","email":"egarciar@redhat.com","username":"elvira"},"change_message_id":"c7560a5c9236179c711726fa9d398abd9028f179","unresolved":false,"context_lines":[{"line_number":11,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":12,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":13,"context_line":"#    under the License."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import functools"},{"line_number":16,"context_line":"import re"},{"line_number":17,"context_line":"from unittest import mock"}],"source_content_type":"text/x-python","patch_set":2,"id":"b5adcc48_0f735d8b","side":"PARENT","line":14,"in_reply_to":"f32f74bb_da745527","updated":"2021-11-29 15:54:15.000000000","message":"I see, thanks for letting me know!","commit_id":"2b30fa7bedf58e19e150a1f40f82d83d48e84049"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"2619e1ec14aea36c5f4336322101041c076aab31","unresolved":true,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"VHU_MODE \u003d \u0027server\u0027"},{"line_number":41,"context_line":"OVS_VIF_DETAILS \u003d {"},{"line_number":42,"context_line":"    \u0027port_filter\u0027: True,"},{"line_number":43,"context_line":"    portbindings.VIF_DETAILS_CONNECTIVITY: portbindings.CONNECTIVITY_L2}"},{"line_number":44,"context_line":"VHOSTUSER_VIF_DETAILS \u003d {"},{"line_number":45,"context_line":"    \u0027port_filter\u0027: False,"}],"source_content_type":"text/x-python","patch_set":2,"id":"e828a3bb_5c1d1cec","line":42,"range":{"start_line":42,"start_character":6,"end_line":42,"end_character":16},"updated":"2021-11-29 16:55:13.000000000","message":"would it make sense to use the constants here such as portbindings.CAP_PORT_FILTER ?","commit_id":"76273025f8234d87b31ed584b60928b40419f929"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"6f065d2883ef129cbe770adcb0dc3b3343a9a1f9","unresolved":true,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"VHU_MODE \u003d \u0027server\u0027"},{"line_number":41,"context_line":"OVS_VIF_DETAILS \u003d {"},{"line_number":42,"context_line":"    \u0027port_filter\u0027: True,"},{"line_number":43,"context_line":"    portbindings.VIF_DETAILS_CONNECTIVITY: portbindings.CONNECTIVITY_L2}"},{"line_number":44,"context_line":"VHOSTUSER_VIF_DETAILS \u003d {"},{"line_number":45,"context_line":"    \u0027port_filter\u0027: False,"}],"source_content_type":"text/x-python","patch_set":2,"id":"c46bcdeb_38984079","line":42,"range":{"start_line":42,"start_character":6,"end_line":42,"end_character":16},"in_reply_to":"e828a3bb_5c1d1cec","updated":"2021-11-30 10:03:19.000000000","message":"right","commit_id":"76273025f8234d87b31ed584b60928b40419f929"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"2619e1ec14aea36c5f4336322101041c076aab31","unresolved":true,"context_lines":[{"line_number":114,"context_line":"                                 OVS_VIF_DETAILS)"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"        port_id \u003d self._create_or_update_port(hostname\u003dself.dpdk_host)"},{"line_number":117,"context_line":"        expected_vif_details \u003d copy.deepcopy(VHOSTUSER_VIF_DETAILS)"},{"line_number":118,"context_line":"        expected_vif_details[\u0027vhostuser_socket\u0027] \u003d ("},{"line_number":119,"context_line":"            utils.ovn_vhu_sockpath(cfg.CONF.ovn.vhost_sock_dir, port_id))"},{"line_number":120,"context_line":"        self._verify_vif_details(port_id, self.dpdk_host, \u0027vhostuser\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"0ce46179_d04ef05d","line":117,"range":{"start_line":117,"start_character":31,"end_line":117,"end_character":44},"updated":"2021-11-29 16:55:13.000000000","message":"Why do we need a deepcopy here? We don\u0027t change any objects inside, do we? I think a shallow copy should work too, shouldn\u0027t it?","commit_id":"76273025f8234d87b31ed584b60928b40419f929"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"6f065d2883ef129cbe770adcb0dc3b3343a9a1f9","unresolved":true,"context_lines":[{"line_number":114,"context_line":"                                 OVS_VIF_DETAILS)"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"        port_id \u003d self._create_or_update_port(hostname\u003dself.dpdk_host)"},{"line_number":117,"context_line":"        expected_vif_details \u003d copy.deepcopy(VHOSTUSER_VIF_DETAILS)"},{"line_number":118,"context_line":"        expected_vif_details[\u0027vhostuser_socket\u0027] \u003d ("},{"line_number":119,"context_line":"            utils.ovn_vhu_sockpath(cfg.CONF.ovn.vhost_sock_dir, port_id))"},{"line_number":120,"context_line":"        self._verify_vif_details(port_id, self.dpdk_host, \u0027vhostuser\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"60413466_432a4041","line":117,"range":{"start_line":117,"start_character":31,"end_line":117,"end_character":44},"in_reply_to":"0ce46179_d04ef05d","updated":"2021-11-30 10:03:19.000000000","message":"We change it in L118 and VHOSTUSER_VIF_DETAILS is a global constant. Although it is used only in these tests, I prefer not to modify it.","commit_id":"76273025f8234d87b31ed584b60928b40419f929"}]}
