)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"d782c6665fddd3069ef20117796ab9248ce94cd4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"9e6ef665_8739f754","updated":"2021-10-21 10:48:35.000000000","message":"Why it wasn\u0027t done like that from the beginning..","commit_id":"b55e27599501c675180aef01184ea63c2a80575a"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"d6034900c9289354b16f354bdb51da028a0836f9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"be45482f_a56f7b8e","in_reply_to":"9e6ef665_8739f754","updated":"2021-10-21 11:08:43.000000000","message":"Yes, that\u0027s a good question!!","commit_id":"b55e27599501c675180aef01184ea63c2a80575a"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"3578986c69f8e03ee5f57a12c0e9b8d62c8b3fc0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"722147a2_82afe7f8","updated":"2021-10-21 16:54:57.000000000","message":"recheck","commit_id":"cd819af7de61b1a00a1632e5a9a78baa3d4a3b99"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"43abadbe6eb860b0820f581d5447009cf15eed59","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"352b0399_6ddf671e","updated":"2021-10-21 20:45:07.000000000","message":"And one more issue... this will fix the py* failures","commit_id":"b510f60f704c670a1a3b90e5368b8a7ef995f73a"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"50dd2ec86500a671d959b9abeb56b65e24e0d821","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"6fd4ec87_2571b025","updated":"2021-10-22 15:14:19.000000000","message":"recheck\n\nI didn\u0027t see any jobs on the zuul dashboard for this","commit_id":"3fad084479552d6ac298e6c28eca004552ebc353"}],"neutron/agent/linux/ip_lib.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"89a7b2ee8205b94e13ad93770410a5d388fc2269","unresolved":true,"context_lines":[{"line_number":927,"context_line":"        nspath \u003d kwargs.get(\u0027nspath\u0027) or netns.NETNS_RUN_DIR"},{"line_number":928,"context_line":"        ns_dir \u003d nspath + \u0027/\u0027 + namespace"},{"line_number":929,"context_line":"        if cfg.CONF.AGENT.use_helper_for_ns_read:"},{"line_number":930,"context_line":"            return priv_utils.path_exists(nspath)"},{"line_number":931,"context_line":"        else:"},{"line_number":932,"context_line":"            return path.exists(ns_dir)"},{"line_number":933,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"bca05dc6_094b3daf","line":930,"range":{"start_line":930,"start_character":42,"end_line":930,"end_character":48},"updated":"2021-10-21 10:14:46.000000000","message":"shouldn\u0027t this be ns_dir?","commit_id":"b55e27599501c675180aef01184ea63c2a80575a"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"d6034900c9289354b16f354bdb51da028a0836f9","unresolved":true,"context_lines":[{"line_number":927,"context_line":"        nspath \u003d kwargs.get(\u0027nspath\u0027) or netns.NETNS_RUN_DIR"},{"line_number":928,"context_line":"        ns_dir \u003d nspath + \u0027/\u0027 + namespace"},{"line_number":929,"context_line":"        if cfg.CONF.AGENT.use_helper_for_ns_read:"},{"line_number":930,"context_line":"            return priv_utils.path_exists(nspath)"},{"line_number":931,"context_line":"        else:"},{"line_number":932,"context_line":"            return path.exists(ns_dir)"},{"line_number":933,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"d0093fad_1e3a7402","line":930,"range":{"start_line":930,"start_character":42,"end_line":930,"end_character":48},"in_reply_to":"58fcb4f7_62b9543c","updated":"2021-10-21 11:08:43.000000000","message":"Why negative test did not fail??\n\nEDIT: I found the reason: we are only testing use_helper_for_ns_read\u003dFalse. Of course, I\u0027ll add new functional tests.","commit_id":"b55e27599501c675180aef01184ea63c2a80575a"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"d782c6665fddd3069ef20117796ab9248ce94cd4","unresolved":true,"context_lines":[{"line_number":927,"context_line":"        nspath \u003d kwargs.get(\u0027nspath\u0027) or netns.NETNS_RUN_DIR"},{"line_number":928,"context_line":"        ns_dir \u003d nspath + \u0027/\u0027 + namespace"},{"line_number":929,"context_line":"        if cfg.CONF.AGENT.use_helper_for_ns_read:"},{"line_number":930,"context_line":"            return priv_utils.path_exists(nspath)"},{"line_number":931,"context_line":"        else:"},{"line_number":932,"context_line":"            return path.exists(ns_dir)"},{"line_number":933,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"58fcb4f7_62b9543c","line":930,"range":{"start_line":930,"start_character":42,"end_line":930,"end_character":48},"in_reply_to":"bca05dc6_094b3daf","updated":"2021-10-21 10:48:35.000000000","message":"+1","commit_id":"b55e27599501c675180aef01184ea63c2a80575a"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"bd2abc08c390554a2ba30b2b3250ba8e16712894","unresolved":false,"context_lines":[{"line_number":927,"context_line":"        nspath \u003d kwargs.get(\u0027nspath\u0027) or netns.NETNS_RUN_DIR"},{"line_number":928,"context_line":"        ns_dir \u003d nspath + \u0027/\u0027 + namespace"},{"line_number":929,"context_line":"        if cfg.CONF.AGENT.use_helper_for_ns_read:"},{"line_number":930,"context_line":"            return priv_utils.path_exists(nspath)"},{"line_number":931,"context_line":"        else:"},{"line_number":932,"context_line":"            return path.exists(ns_dir)"},{"line_number":933,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"c34f77c2_b5f836d4","line":930,"range":{"start_line":930,"start_character":42,"end_line":930,"end_character":48},"in_reply_to":"d0093fad_1e3a7402","updated":"2021-10-21 11:11:36.000000000","message":"Done","commit_id":"b55e27599501c675180aef01184ea63c2a80575a"}],"neutron/privileged/agent/linux/utils.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"a8931d48eec39670413c12dc8be1f405097d4b35","unresolved":true,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"@privileged.default.entrypoint"},{"line_number":51,"context_line":"def delete_if_exists(path, remove\u003dos.unlink):"},{"line_number":52,"context_line":"    fileutils.delete_if_exists(path, remove\u003dremove)"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"be36698d_43f29c37","line":51,"range":{"start_line":51,"start_character":21,"end_line":51,"end_character":25},"updated":"2021-10-21 19:55:32.000000000","message":"I wonder if your import is messing with things like this, which is why you used _path below.  Maybe using \"from os import path as os_path\" would be better, or changing this line...","commit_id":"b510f60f704c670a1a3b90e5368b8a7ef995f73a"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"561bbf5c0227de7f787cc5eaf2092f5a6bdf4f90","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"@privileged.default.entrypoint"},{"line_number":51,"context_line":"def delete_if_exists(path, remove\u003dos.unlink):"},{"line_number":52,"context_line":"    fileutils.delete_if_exists(path, remove\u003dremove)"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"c9525c0f_a7cd0cf2","line":51,"range":{"start_line":51,"start_character":21,"end_line":51,"end_character":25},"in_reply_to":"be36698d_43f29c37","updated":"2021-10-22 07:00:02.000000000","message":"Done","commit_id":"b510f60f704c670a1a3b90e5368b8a7ef995f73a"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"54776de9f97faa48abbd03cd6e794c95abfd3621","unresolved":true,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"@privileged.default.entrypoint"},{"line_number":51,"context_line":"def delete_if_exists(_path, remove\u003dos.unlink):"},{"line_number":52,"context_line":"    fileutils.delete_if_exists(_path, remove\u003dremove)"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"4a67a781_d9eb2e65","line":51,"range":{"start_line":51,"start_character":21,"end_line":51,"end_character":22},"updated":"2021-10-25 09:05:44.000000000","message":"Why is this change?","commit_id":"3fad084479552d6ac298e6c28eca004552ebc353"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"4aa287f8e52081c2810dd9ddc56964ec87f547ef","unresolved":true,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"@privileged.default.entrypoint"},{"line_number":51,"context_line":"def delete_if_exists(_path, remove\u003dos.unlink):"},{"line_number":52,"context_line":"    fileutils.delete_if_exists(_path, remove\u003dremove)"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"07e632e6_f2fe5540","line":51,"range":{"start_line":51,"start_character":21,"end_line":51,"end_character":22},"in_reply_to":"4a67a781_d9eb2e65","updated":"2021-10-25 09:31:23.000000000","message":"Because \"path\" is an imported module now (L16).","commit_id":"3fad084479552d6ac298e6c28eca004552ebc353"}],"neutron/tests/unit/agent/l3/test_agent.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"43abadbe6eb860b0820f581d5447009cf15eed59","unresolved":true,"context_lines":[{"line_number":61,"context_line":"from neutron.conf.agent.l3 import config as l3_config"},{"line_number":62,"context_line":"from neutron.conf.agent.l3 import ha as ha_conf"},{"line_number":63,"context_line":"from neutron.conf import common as base_config"},{"line_number":64,"context_line":"from neutron.privileged.agent.linux import ip_lib as priv_ip_lib"},{"line_number":65,"context_line":"from neutron.tests import base"},{"line_number":66,"context_line":"from neutron.tests.common import l3_test_common"},{"line_number":67,"context_line":"from neutron.tests.unit.agent.linux.test_utils import FakeUser"}],"source_content_type":"text/x-python","patch_set":4,"id":"da924e24_d9ca44dc","line":64,"range":{"start_line":64,"start_character":43,"end_line":64,"end_character":64},"updated":"2021-10-21 20:45:07.000000000","message":"s/utils as priv_utils","commit_id":"b510f60f704c670a1a3b90e5368b8a7ef995f73a"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"65b781a8474264ea48b2eae563cbeaf1443ecc53","unresolved":false,"context_lines":[{"line_number":61,"context_line":"from neutron.conf.agent.l3 import config as l3_config"},{"line_number":62,"context_line":"from neutron.conf.agent.l3 import ha as ha_conf"},{"line_number":63,"context_line":"from neutron.conf import common as base_config"},{"line_number":64,"context_line":"from neutron.privileged.agent.linux import ip_lib as priv_ip_lib"},{"line_number":65,"context_line":"from neutron.tests import base"},{"line_number":66,"context_line":"from neutron.tests.common import l3_test_common"},{"line_number":67,"context_line":"from neutron.tests.unit.agent.linux.test_utils import FakeUser"}],"source_content_type":"text/x-python","patch_set":4,"id":"eabea5f6_743b649e","line":64,"range":{"start_line":64,"start_character":43,"end_line":64,"end_character":64},"in_reply_to":"da924e24_d9ca44dc","updated":"2021-10-22 06:58:19.000000000","message":"Done","commit_id":"b510f60f704c670a1a3b90e5368b8a7ef995f73a"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"43abadbe6eb860b0820f581d5447009cf15eed59","unresolved":true,"context_lines":[{"line_number":102,"context_line":"        self.list_network_namespaces_p \u003d mock.patch("},{"line_number":103,"context_line":"            \u0027neutron.agent.linux.ip_lib.list_network_namespaces\u0027)"},{"line_number":104,"context_line":"        self.list_network_namespaces \u003d self.list_network_namespaces_p.start()"},{"line_number":105,"context_line":"        self.path_exists_p \u003d mock.patch.object(priv_ip_lib, \u0027path_exists\u0027)"},{"line_number":106,"context_line":"        self.path_exists \u003d self.path_exists_p.start()"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"        self.ensure_dir \u003d mock.patch("}],"source_content_type":"text/x-python","patch_set":4,"id":"7498ced6_bfd1ec91","line":105,"range":{"start_line":105,"start_character":47,"end_line":105,"end_character":58},"updated":"2021-10-21 20:45:07.000000000","message":"s/priv_utils","commit_id":"b510f60f704c670a1a3b90e5368b8a7ef995f73a"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"65b781a8474264ea48b2eae563cbeaf1443ecc53","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        self.list_network_namespaces_p \u003d mock.patch("},{"line_number":103,"context_line":"            \u0027neutron.agent.linux.ip_lib.list_network_namespaces\u0027)"},{"line_number":104,"context_line":"        self.list_network_namespaces \u003d self.list_network_namespaces_p.start()"},{"line_number":105,"context_line":"        self.path_exists_p \u003d mock.patch.object(priv_ip_lib, \u0027path_exists\u0027)"},{"line_number":106,"context_line":"        self.path_exists \u003d self.path_exists_p.start()"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"        self.ensure_dir \u003d mock.patch("}],"source_content_type":"text/x-python","patch_set":4,"id":"de5230e1_b7997112","line":105,"range":{"start_line":105,"start_character":47,"end_line":105,"end_character":58},"in_reply_to":"7498ced6_bfd1ec91","updated":"2021-10-22 06:58:19.000000000","message":"Done","commit_id":"b510f60f704c670a1a3b90e5368b8a7ef995f73a"}]}
