)]}'
{"neutron/agent/l3/dvr_local_router.py":[{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"5cc4fbd2ee968398811082559a918c054b3003b8","unresolved":false,"context_lines":[{"line_number":363,"context_line":""},{"line_number":364,"context_line":"    def _snat_redirect_modify(self, gateway, sn_port, sn_int, is_add):"},{"line_number":365,"context_line":"        \"\"\"Adds or removes rules and routes for SNAT redirection.\"\"\""},{"line_number":366,"context_line":"        knob \u003d \u0027net.ipv4.conf.%s.send_redirects\u0027 % sn_int"},{"line_number":367,"context_line":"        knob_value \u003d 0"},{"line_number":368,"context_line":"        try:"},{"line_number":369,"context_line":"            ns_ipd \u003d ip_lib.IPDevice(sn_int, namespace\u003dself.ns_name)"},{"line_number":370,"context_line":"            for port_fixed_ip in sn_port[\u0027fixed_ips\u0027]:"}],"source_content_type":"text/x-python","patch_set":8,"id":"ff570b3c_07a4b2b8","line":367,"range":{"start_line":366,"start_character":8,"end_line":367,"end_character":22},"updated":"2020-06-10 07:45:09.000000000","message":"why need vars for this?","commit_id":"588f5e1d88b49def13cf2ba7e1b418629748d820"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"243807282c8b0800fae10fd0dfcbac33174e9eba","unresolved":false,"context_lines":[{"line_number":363,"context_line":""},{"line_number":364,"context_line":"    def _snat_redirect_modify(self, gateway, sn_port, sn_int, is_add):"},{"line_number":365,"context_line":"        \"\"\"Adds or removes rules and routes for SNAT redirection.\"\"\""},{"line_number":366,"context_line":"        knob \u003d \u0027net.ipv4.conf.%s.send_redirects\u0027 % sn_int"},{"line_number":367,"context_line":"        knob_value \u003d 0"},{"line_number":368,"context_line":"        try:"},{"line_number":369,"context_line":"            ns_ipd \u003d ip_lib.IPDevice(sn_int, namespace\u003dself.ns_name)"},{"line_number":370,"context_line":"            for port_fixed_ip in sn_port[\u0027fixed_ips\u0027]:"}],"source_content_type":"text/x-python","patch_set":8,"id":"ff570b3c_473eaada","line":367,"range":{"start_line":366,"start_character":8,"end_line":367,"end_character":22},"in_reply_to":"ff570b3c_07a4b2b8","updated":"2020-06-10 08:30:57.000000000","message":"No reason at all, just converted the old value. I\u0027ll keep the first one, closer to the call, for aesthetic reasons.","commit_id":"588f5e1d88b49def13cf2ba7e1b418629748d820"}],"neutron/agent/linux/ip_lib.py":[{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"5cc4fbd2ee968398811082559a918c054b3003b8","unresolved":false,"context_lines":[{"line_number":1161,"context_line":""},{"line_number":1162,"context_line":"def get_ipv6_forwarding(device, namespace\u003dNone):"},{"line_number":1163,"context_line":"    \"\"\"Get kernel value of IPv6 forwarding for device in given namespace.\"\"\""},{"line_number":1164,"context_line":"    cmd \u003d [\u0027sysctl\u0027, \u0027-b\u0027, \"net.ipv6.conf.%s.forwarding\" % device]"},{"line_number":1165,"context_line":"    ip_wrapper \u003d IPWrapper(namespace)"},{"line_number":1166,"context_line":"    return int(ip_wrapper.netns.execute(cmd, run_as_root\u003dTrue))"},{"line_number":1167,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"ff570b3c_67e5aedc","side":"PARENT","line":1164,"range":{"start_line":1164,"start_character":22,"end_line":1164,"end_character":24},"updated":"2020-06-10 07:45:09.000000000","message":"does it matter?","commit_id":"1a3811448d0a108e8e16bb32810e4f59db226a4b"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"243807282c8b0800fae10fd0dfcbac33174e9eba","unresolved":false,"context_lines":[{"line_number":1161,"context_line":""},{"line_number":1162,"context_line":"def get_ipv6_forwarding(device, namespace\u003dNone):"},{"line_number":1163,"context_line":"    \"\"\"Get kernel value of IPv6 forwarding for device in given namespace.\"\"\""},{"line_number":1164,"context_line":"    cmd \u003d [\u0027sysctl\u0027, \u0027-b\u0027, \"net.ipv6.conf.%s.forwarding\" % device]"},{"line_number":1165,"context_line":"    ip_wrapper \u003d IPWrapper(namespace)"},{"line_number":1166,"context_line":"    return int(ip_wrapper.netns.execute(cmd, run_as_root\u003dTrue))"},{"line_number":1167,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"ff570b3c_2ae7fd48","side":"PARENT","line":1164,"range":{"start_line":1164,"start_character":22,"end_line":1164,"end_character":24},"in_reply_to":"ff570b3c_67e5aedc","updated":"2020-06-10 08:30:57.000000000","message":"This will print the value without new line. For us is better: the output will be a single line string that could be converted to int easily.\n\nWith \"-n\", you will print the value in a separate line. The output of \"processutils.execute\" will have line line break.\n\nL1129 is using two exclusive options, \"-bn\". Option \"-b\" prevails.","commit_id":"1a3811448d0a108e8e16bb32810e4f59db226a4b"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"5cc4fbd2ee968398811082559a918c054b3003b8","unresolved":false,"context_lines":[{"line_number":1076,"context_line":"            threading.Thread(target\u003darping).start()"},{"line_number":1077,"context_line":""},{"line_number":1078,"context_line":""},{"line_number":1079,"context_line":"def sysctl(knob, namespace\u003dNone, value\u003dNone, list\u003dFalse, load_config\u003dFalse,"},{"line_number":1080,"context_line":"           check_exit_code\u003dFalse, log_fail_as_error\u003dTrue):"},{"line_number":1081,"context_line":"    \"\"\"Run sysctl command \u0027cmd\u0027"},{"line_number":1082,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"ff570b3c_a7c9865b","line":1079,"range":{"start_line":1079,"start_character":45,"end_line":1079,"end_character":49},"updated":"2020-06-10 07:45:09.000000000","message":"better avoid builtin names","commit_id":"588f5e1d88b49def13cf2ba7e1b418629748d820"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"243807282c8b0800fae10fd0dfcbac33174e9eba","unresolved":false,"context_lines":[{"line_number":1076,"context_line":"            threading.Thread(target\u003darping).start()"},{"line_number":1077,"context_line":""},{"line_number":1078,"context_line":""},{"line_number":1079,"context_line":"def sysctl(knob, namespace\u003dNone, value\u003dNone, list\u003dFalse, load_config\u003dFalse,"},{"line_number":1080,"context_line":"           check_exit_code\u003dFalse, log_fail_as_error\u003dTrue):"},{"line_number":1081,"context_line":"    \"\"\"Run sysctl command \u0027cmd\u0027"},{"line_number":1082,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"ff570b3c_ca176145","line":1079,"range":{"start_line":1079,"start_character":45,"end_line":1079,"end_character":49},"in_reply_to":"ff570b3c_a7c9865b","updated":"2020-06-10 08:30:57.000000000","message":"Yes, this is a mistake.","commit_id":"588f5e1d88b49def13cf2ba7e1b418629748d820"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"d620a279ffbc5a6d4eb3f1d6247519c7b0a9e065","unresolved":false,"context_lines":[{"line_number":1093,"context_line":"                \u0027list_knobs %s, check_exit_code %s\u0027, knob, namespace, value,"},{"line_number":1094,"context_line":"                list_knobs, check_exit_code)"},{"line_number":1095,"context_line":"    a \u003d privileged.sysctl(knob, namespace\u003dnamespace, value\u003dvalue,"},{"line_number":1096,"context_line":"                             list_knobs\u003dlist_knobs, load_config\u003dload_config,"},{"line_number":1097,"context_line":"                             check_exit_code\u003dcheck_exit_code,"},{"line_number":1098,"context_line":"                             log_fail_as_error\u003dlog_fail_as_error)"},{"line_number":1099,"context_line":"    LOG.warning(\u0027RAH: sysctl returned %s\u0027, a)"}],"source_content_type":"text/x-python","patch_set":17,"id":"bf51134e_d6b92a79","line":1096,"updated":"2020-06-25 18:05:30.000000000","message":"pep8: E127 continuation line over-indented for visual indent","commit_id":"3823a7dfc16e0537056ceecfe8a9c8a606ce3b26"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"d620a279ffbc5a6d4eb3f1d6247519c7b0a9e065","unresolved":false,"context_lines":[{"line_number":1094,"context_line":"                list_knobs, check_exit_code)"},{"line_number":1095,"context_line":"    a \u003d privileged.sysctl(knob, namespace\u003dnamespace, value\u003dvalue,"},{"line_number":1096,"context_line":"                             list_knobs\u003dlist_knobs, load_config\u003dload_config,"},{"line_number":1097,"context_line":"                             check_exit_code\u003dcheck_exit_code,"},{"line_number":1098,"context_line":"                             log_fail_as_error\u003dlog_fail_as_error)"},{"line_number":1099,"context_line":"    LOG.warning(\u0027RAH: sysctl returned %s\u0027, a)"},{"line_number":1100,"context_line":"    return a"}],"source_content_type":"text/x-python","patch_set":17,"id":"bf51134e_36b4e67f","line":1097,"updated":"2020-06-25 18:05:30.000000000","message":"pep8: E127 continuation line over-indented for visual indent","commit_id":"3823a7dfc16e0537056ceecfe8a9c8a606ce3b26"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"d620a279ffbc5a6d4eb3f1d6247519c7b0a9e065","unresolved":false,"context_lines":[{"line_number":1095,"context_line":"    a \u003d privileged.sysctl(knob, namespace\u003dnamespace, value\u003dvalue,"},{"line_number":1096,"context_line":"                             list_knobs\u003dlist_knobs, load_config\u003dload_config,"},{"line_number":1097,"context_line":"                             check_exit_code\u003dcheck_exit_code,"},{"line_number":1098,"context_line":"                             log_fail_as_error\u003dlog_fail_as_error)"},{"line_number":1099,"context_line":"    LOG.warning(\u0027RAH: sysctl returned %s\u0027, a)"},{"line_number":1100,"context_line":"    return a"},{"line_number":1101,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"bf51134e_16af222a","line":1098,"updated":"2020-06-25 18:05:30.000000000","message":"pep8: E127 continuation line over-indented for visual indent","commit_id":"3823a7dfc16e0537056ceecfe8a9c8a606ce3b26"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8bef508c3be06b29fb270d8773354b48530f46cf","unresolved":false,"context_lines":[{"line_number":1093,"context_line":"                \u0027list_knobs %s, check_exit_code %s\u0027, knob, namespace, value,"},{"line_number":1094,"context_line":"                list_knobs, check_exit_code)"},{"line_number":1095,"context_line":"    a \u003d privileged.sysctl(knob, namespace\u003dnamespace, value\u003dvalue,"},{"line_number":1096,"context_line":"                             list_knobs\u003dlist_knobs, load_config\u003dload_config,"},{"line_number":1097,"context_line":"                             check_exit_code\u003dcheck_exit_code,"},{"line_number":1098,"context_line":"                             log_fail_as_error\u003dlog_fail_as_error)"},{"line_number":1099,"context_line":"    LOG.warning(\u0027RAH: sysctl returned %s\u0027, a)"}],"source_content_type":"text/x-python","patch_set":18,"id":"bf51134e_00222ab9","line":1096,"updated":"2020-06-26 16:16:42.000000000","message":"pep8: E127 continuation line over-indented for visual indent","commit_id":"567b1453fb16e3caa08730fb168d31b2a1e711b6"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8bef508c3be06b29fb270d8773354b48530f46cf","unresolved":false,"context_lines":[{"line_number":1094,"context_line":"                list_knobs, check_exit_code)"},{"line_number":1095,"context_line":"    a \u003d privileged.sysctl(knob, namespace\u003dnamespace, value\u003dvalue,"},{"line_number":1096,"context_line":"                             list_knobs\u003dlist_knobs, load_config\u003dload_config,"},{"line_number":1097,"context_line":"                             check_exit_code\u003dcheck_exit_code,"},{"line_number":1098,"context_line":"                             log_fail_as_error\u003dlog_fail_as_error)"},{"line_number":1099,"context_line":"    LOG.warning(\u0027RAH: sysctl returned %s\u0027, a)"},{"line_number":1100,"context_line":"    return a"}],"source_content_type":"text/x-python","patch_set":18,"id":"bf51134e_602de6a6","line":1097,"updated":"2020-06-26 16:16:42.000000000","message":"pep8: E127 continuation line over-indented for visual indent","commit_id":"567b1453fb16e3caa08730fb168d31b2a1e711b6"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8bef508c3be06b29fb270d8773354b48530f46cf","unresolved":false,"context_lines":[{"line_number":1095,"context_line":"    a \u003d privileged.sysctl(knob, namespace\u003dnamespace, value\u003dvalue,"},{"line_number":1096,"context_line":"                             list_knobs\u003dlist_knobs, load_config\u003dload_config,"},{"line_number":1097,"context_line":"                             check_exit_code\u003dcheck_exit_code,"},{"line_number":1098,"context_line":"                             log_fail_as_error\u003dlog_fail_as_error)"},{"line_number":1099,"context_line":"    LOG.warning(\u0027RAH: sysctl returned %s\u0027, a)"},{"line_number":1100,"context_line":"    return a"},{"line_number":1101,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"bf51134e_4028a295","line":1098,"updated":"2020-06-26 16:16:42.000000000","message":"pep8: E127 continuation line over-indented for visual indent","commit_id":"567b1453fb16e3caa08730fb168d31b2a1e711b6"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"40f647c11133d010977b298fea01f92208d11079","unresolved":false,"context_lines":[{"line_number":1075,"context_line":"            threading.Thread(target\u003darping).start()"},{"line_number":1076,"context_line":""},{"line_number":1077,"context_line":""},{"line_number":1078,"context_line":"def sysctl(knob, namespace\u003dNone, value\u003dNone, list_knobs\u003dFalse,"},{"line_number":1079,"context_line":"           load_config\u003dFalse, check_exit_code\u003dFalse, log_fail_as_error\u003dTrue):"},{"line_number":1080,"context_line":"    \"\"\"Run sysctl command \u0027cmd\u0027"},{"line_number":1081,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"bf51134e_c0728bad","line":1078,"range":{"start_line":1078,"start_character":33,"end_line":1078,"end_character":38},"updated":"2020-07-06 07:56:27.000000000","message":"nitty nit: IMHO more \"natural\" would be if value would be as second argument after knob. But as it\u0027s kwarg it doesn\u0027t really matter much :)","commit_id":"887366ae3620ceadd754bd9bc604850217af1a48"}],"neutron/agent/linux/iptables_firewall.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"87a7a70ddd86cda34c43c9dfe7e94980ad48eaf4","unresolved":false,"context_lines":[{"line_number":31,"context_line":"from neutron.agent.linux import ipset_manager"},{"line_number":32,"context_line":"from neutron.agent.linux import iptables_comments as ic"},{"line_number":33,"context_line":"from neutron.agent.linux import iptables_manager"},{"line_number":34,"context_line":"from neutron.agent.linux import utils as a_utils"},{"line_number":35,"context_line":"from neutron.common import _constants as const"},{"line_number":36,"context_line":"from neutron.common import utils as c_utils"},{"line_number":37,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"ff570b3c_17fb9278","line":34,"updated":"2020-06-04 21:02:32.000000000","message":"pep8: F401 \u0027neutron.agent.linux.utils as a_utils\u0027 imported but unused","commit_id":"77b62c556d8b39d2c2fa159daf4d8fd80c108d6f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"82daa26a978ded4a344077339eeac798a6e17c59","unresolved":false,"context_lines":[{"line_number":31,"context_line":"from neutron.agent.linux import ipset_manager"},{"line_number":32,"context_line":"from neutron.agent.linux import iptables_comments as ic"},{"line_number":33,"context_line":"from neutron.agent.linux import iptables_manager"},{"line_number":34,"context_line":"from neutron.agent.linux import utils as a_utils"},{"line_number":35,"context_line":"from neutron.common import _constants as const"},{"line_number":36,"context_line":"from neutron.common import utils as c_utils"},{"line_number":37,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"ff570b3c_1f48bd59","line":34,"updated":"2020-06-05 14:16:20.000000000","message":"pep8: F401 \u0027neutron.agent.linux.utils as a_utils\u0027 imported but unused","commit_id":"66632d56f9bdb7befdc1030b348cb49db4c2cec6"}],"neutron/cmd/netns_cleanup.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"c1d6c7046b87141394ae6a2980f1d02024e7020b","unresolved":false,"context_lines":[{"line_number":35,"context_line":"from neutron.conf.agent import cmd"},{"line_number":36,"context_line":"from neutron.conf.agent import common as agent_config"},{"line_number":37,"context_line":"from neutron.conf.agent import dhcp as dhcp_config"},{"line_number":38,"context_line":"from neutron.privileged.agent.linux import utils as priv_utils"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":41,"context_line":"NS_PREFIXES \u003d {"}],"source_content_type":"text/x-python","patch_set":14,"id":"ff570b3c_6199efce","line":38,"updated":"2020-06-12 14:09:33.000000000","message":"pep8: E0611: No name \u0027utils\u0027 in module \u0027neutron.privileged.agent.linux\u0027 (no-name-in-module)","commit_id":"0bb97a77b5efecee31d9f92a29112fbbf136bddc"}],"neutron/privileged/agent/linux/ip_lib.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"697d827a45cff540eb9bd189420d37aa321442ec","unresolved":false,"context_lines":[{"line_number":717,"context_line":""},{"line_number":718,"context_line":""},{"line_number":719,"context_line":""},{"line_number":720,"context_line":"@privileged.sysctl_cmd.entrypoint"},{"line_number":721,"context_line":"def sysctl(knob, namespace\u003dNone, value\u003dNone, list\u003dFalse,"},{"line_number":722,"context_line":"           check_exit_code\u003dFalse, log_fail_as_error\u003dTrue):"},{"line_number":723,"context_line":"    \"\"\"Run sysctl command \u0027cmd\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"ff570b3c_b2c2cd51","line":720,"updated":"2020-06-03 20:07:03.000000000","message":"pep8: E303 too many blank lines (3)","commit_id":"370da934ee0702b905b1101d4debe1b67329b0f8"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"5cc4fbd2ee968398811082559a918c054b3003b8","unresolved":false,"context_lines":[{"line_number":717,"context_line":""},{"line_number":718,"context_line":""},{"line_number":719,"context_line":"@privileged.sysctl_cmd.entrypoint"},{"line_number":720,"context_line":"def sysctl(knob, namespace\u003dNone, value\u003dNone, list\u003dFalse, load_config\u003dFalse,"},{"line_number":721,"context_line":"           check_exit_code\u003dFalse, log_fail_as_error\u003dTrue):"},{"line_number":722,"context_line":"    \"\"\"Run sysctl command \u0027cmd\u0027"},{"line_number":723,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"ff570b3c_c7d59ae7","line":720,"range":{"start_line":720,"start_character":45,"end_line":720,"end_character":49},"updated":"2020-06-10 07:45:09.000000000","message":"ditto","commit_id":"588f5e1d88b49def13cf2ba7e1b418629748d820"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"243807282c8b0800fae10fd0dfcbac33174e9eba","unresolved":false,"context_lines":[{"line_number":717,"context_line":""},{"line_number":718,"context_line":""},{"line_number":719,"context_line":"@privileged.sysctl_cmd.entrypoint"},{"line_number":720,"context_line":"def sysctl(knob, namespace\u003dNone, value\u003dNone, list\u003dFalse, load_config\u003dFalse,"},{"line_number":721,"context_line":"           check_exit_code\u003dFalse, log_fail_as_error\u003dTrue):"},{"line_number":722,"context_line":"    \"\"\"Run sysctl command \u0027cmd\u0027"},{"line_number":723,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"ff570b3c_4a2511ab","line":720,"range":{"start_line":720,"start_character":45,"end_line":720,"end_character":49},"in_reply_to":"ff570b3c_c7d59ae7","updated":"2020-06-10 08:30:57.000000000","message":"Done","commit_id":"588f5e1d88b49def13cf2ba7e1b418629748d820"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"c1d6c7046b87141394ae6a2980f1d02024e7020b","unresolved":false,"context_lines":[{"line_number":786,"context_line":""},{"line_number":787,"context_line":"    finally:"},{"line_number":788,"context_line":"        if not namespace:"},{"line_number":789,"context_line":"            return"},{"line_number":790,"context_line":""},{"line_number":791,"context_line":"        try:"},{"line_number":792,"context_line":"            netns.setns(root_fd, flags\u003dos.O_RDONLY, libc\u003d_get_cdll())"}],"source_content_type":"text/x-python","patch_set":14,"id":"ff570b3c_419cabbe","line":789,"updated":"2020-06-12 14:09:33.000000000","message":"pep8: W0150: return statement in finally block may swallow exception (lost-exception)","commit_id":"0bb97a77b5efecee31d9f92a29112fbbf136bddc"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"d620a279ffbc5a6d4eb3f1d6247519c7b0a9e065","unresolved":false,"context_lines":[{"line_number":781,"context_line":"    try:"},{"line_number":782,"context_line":"        if namespace:"},{"line_number":783,"context_line":"            root_fd \u003d os.open(\u0027/proc/self/ns/net\u0027, os.O_RDONLY)"},{"line_number":784,"context_line":"            netns.setns(namespace, flags\u003dos.O_RDONLY, libc\u003d_get_cdll())"},{"line_number":785,"context_line":""},{"line_number":786,"context_line":"        if value is not None:"},{"line_number":787,"context_line":"            read_command \u003d False"}],"source_content_type":"text/x-python","patch_set":17,"id":"bf51134e_76aade18","line":784,"updated":"2020-06-25 18:05:30.000000000","message":"pep8: F821 undefined name \u0027_get_cdll\u0027","commit_id":"3823a7dfc16e0537056ceecfe8a9c8a606ce3b26"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"d620a279ffbc5a6d4eb3f1d6247519c7b0a9e065","unresolved":false,"context_lines":[{"line_number":813,"context_line":"    finally:"},{"line_number":814,"context_line":"        if namespace:"},{"line_number":815,"context_line":"            try:"},{"line_number":816,"context_line":"                netns.setns(root_fd, flags\u003dos.O_RDONLY, libc\u003d_get_cdll())"},{"line_number":817,"context_line":"            finally:"},{"line_number":818,"context_line":"                os.close(root_fd)"}],"source_content_type":"text/x-python","patch_set":17,"id":"bf51134e_56a51a46","line":816,"updated":"2020-06-25 18:05:30.000000000","message":"pep8: F821 undefined name \u0027_get_cdll\u0027","commit_id":"3823a7dfc16e0537056ceecfe8a9c8a606ce3b26"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"4a62edcdb2d741513d5f1b12d97cee1ad31eb54e","unresolved":false,"context_lines":[{"line_number":781,"context_line":"    try:"},{"line_number":782,"context_line":"        if namespace:"},{"line_number":783,"context_line":"            root_fd \u003d os.open(\u0027/proc/self/ns/net\u0027, os.O_RDONLY)"},{"line_number":784,"context_line":"            netns.setns(namespace, flags\u003dos.O_RDONLY, libc\u003d_get_cdll())"},{"line_number":785,"context_line":""},{"line_number":786,"context_line":"        if value is not None:"},{"line_number":787,"context_line":"            read_command \u003d False"}],"source_content_type":"text/x-python","patch_set":19,"id":"bf51134e_fb7cb5ec","line":784,"updated":"2020-07-02 23:36:38.000000000","message":"pep8: F821 undefined name \u0027_get_cdll\u0027","commit_id":"d16daad7cfd36be5c8c51c986b310522c47e6cbe"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"4a62edcdb2d741513d5f1b12d97cee1ad31eb54e","unresolved":false,"context_lines":[{"line_number":813,"context_line":"    finally:"},{"line_number":814,"context_line":"        if namespace:"},{"line_number":815,"context_line":"            try:"},{"line_number":816,"context_line":"                netns.setns(root_fd, flags\u003dos.O_RDONLY, libc\u003d_get_cdll())"},{"line_number":817,"context_line":"            finally:"},{"line_number":818,"context_line":"                os.close(root_fd)"}],"source_content_type":"text/x-python","patch_set":19,"id":"bf51134e_5b8201ca","line":816,"updated":"2020-07-02 23:36:38.000000000","message":"pep8: F821 undefined name \u0027_get_cdll\u0027","commit_id":"d16daad7cfd36be5c8c51c986b310522c47e6cbe"}],"neutron/tests/unit/agent/l3/test_dvr_fip_ns.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"82daa26a978ded4a344077339eeac798a6e17c59","unresolved":false,"context_lines":[{"line_number":19,"context_line":"from oslo_config import cfg"},{"line_number":20,"context_line":"from oslo_utils import uuidutils"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from neutron.agent.common import utils"},{"line_number":23,"context_line":"from neutron.agent.l3 import dvr_fip_ns"},{"line_number":24,"context_line":"from neutron.agent.l3 import link_local_allocator as lla"},{"line_number":25,"context_line":"from neutron.agent.l3 import router_info"}],"source_content_type":"text/x-python","patch_set":3,"id":"ff570b3c_bf3c31bf","line":22,"updated":"2020-06-05 14:16:20.000000000","message":"pep8: F401 \u0027neutron.agent.common.utils\u0027 imported but unused","commit_id":"66632d56f9bdb7befdc1030b348cb49db4c2cec6"}],"neutron/tests/unit/agent/l3/test_dvr_snat_ns.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"82daa26a978ded4a344077339eeac798a6e17c59","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        exists.return_value \u003d False"},{"line_number":46,"context_line":"        self.snat_ns.create()"},{"line_number":47,"context_line":"        create.assert_called_once_with(self.snat_ns.name)"},{"line_number":48,"context_line":"        execute.assert_has_calls([mock.call(\u0027net.netfilter.nf_conntrack_tcp_loose\u0027,"},{"line_number":49,"context_line":"                                            namespace\u003dself.snat_ns.name, value\u003d0)])"}],"source_content_type":"text/x-python","patch_set":3,"id":"ff570b3c_7f573902","line":48,"updated":"2020-06-05 14:16:20.000000000","message":"pep8: E501 line too long (83 \u003e 79 characters)","commit_id":"66632d56f9bdb7befdc1030b348cb49db4c2cec6"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"82daa26a978ded4a344077339eeac798a6e17c59","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        self.snat_ns.create()"},{"line_number":47,"context_line":"        create.assert_called_once_with(self.snat_ns.name)"},{"line_number":48,"context_line":"        execute.assert_has_calls([mock.call(\u0027net.netfilter.nf_conntrack_tcp_loose\u0027,"},{"line_number":49,"context_line":"                                            namespace\u003dself.snat_ns.name, value\u003d0)])"}],"source_content_type":"text/x-python","patch_set":3,"id":"ff570b3c_df41253b","line":49,"updated":"2020-06-05 14:16:20.000000000","message":"pep8: E501 line too long (83 \u003e 79 characters)","commit_id":"66632d56f9bdb7befdc1030b348cb49db4c2cec6"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"5cc4fbd2ee968398811082559a918c054b3003b8","unresolved":false,"context_lines":[{"line_number":41,"context_line":"    @mock.patch.object(ip_lib, \u0027sysctl\u0027)"},{"line_number":42,"context_line":"    @mock.patch.object(ip_lib, \u0027create_network_namespace\u0027)"},{"line_number":43,"context_line":"    @mock.patch.object(ip_lib, \u0027network_namespace_exists\u0027)"},{"line_number":44,"context_line":"    def test_create(self, exists, create, execute, set_link_attr):"},{"line_number":45,"context_line":"        exists.return_value \u003d False"},{"line_number":46,"context_line":"        self.snat_ns.create()"},{"line_number":47,"context_line":"        create.assert_called_once_with(self.snat_ns.name)"}],"source_content_type":"text/x-python","patch_set":8,"id":"ff570b3c_e7337ef5","line":44,"range":{"start_line":44,"start_character":42,"end_line":44,"end_character":49},"updated":"2020-06-10 07:45:09.000000000","message":"nit: sysctl","commit_id":"588f5e1d88b49def13cf2ba7e1b418629748d820"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"243807282c8b0800fae10fd0dfcbac33174e9eba","unresolved":false,"context_lines":[{"line_number":41,"context_line":"    @mock.patch.object(ip_lib, \u0027sysctl\u0027)"},{"line_number":42,"context_line":"    @mock.patch.object(ip_lib, \u0027create_network_namespace\u0027)"},{"line_number":43,"context_line":"    @mock.patch.object(ip_lib, \u0027network_namespace_exists\u0027)"},{"line_number":44,"context_line":"    def test_create(self, exists, create, execute, set_link_attr):"},{"line_number":45,"context_line":"        exists.return_value \u003d False"},{"line_number":46,"context_line":"        self.snat_ns.create()"},{"line_number":47,"context_line":"        create.assert_called_once_with(self.snat_ns.name)"}],"source_content_type":"text/x-python","patch_set":8,"id":"ff570b3c_4a5a312a","line":44,"range":{"start_line":44,"start_character":42,"end_line":44,"end_character":49},"in_reply_to":"ff570b3c_e7337ef5","updated":"2020-06-10 08:30:57.000000000","message":"Done","commit_id":"588f5e1d88b49def13cf2ba7e1b418629748d820"}]}
