)]}'
{"neutron/agent/linux/dhcp.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"2f5a9f9b25ae6865f5979dd51dc1248edd008d8c","unresolved":true,"context_lines":[{"line_number":312,"context_line":"        except IOError:"},{"line_number":313,"context_line":"            msg \u003d \"Unable to access %s\""},{"line_number":314,"context_line":"        except Exception:"},{"line_number":315,"context_line":"            logger_method \u003d LOG.exception"},{"line_number":316,"context_line":"            msg \u003d \"Error while reading %s\""},{"line_number":317,"context_line":"        logger_method(msg, file_name)"},{"line_number":318,"context_line":"        return None"}],"source_content_type":"text/x-python","patch_set":1,"id":"311966cc_8b0dc830","line":315,"updated":"2021-01-19 18:33:13.000000000","message":"This never logged at exception level before, only at debug, why does this need to change?","commit_id":"bec0e70e2e7e25d63d458f8e8eb002e7f7947780"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"d1b3830e1c15989c878457c5c6a9f48005cb1f9e","unresolved":true,"context_lines":[{"line_number":312,"context_line":"        except IOError:"},{"line_number":313,"context_line":"            msg \u003d \"Unable to access %s\""},{"line_number":314,"context_line":"        except Exception:"},{"line_number":315,"context_line":"            logger_method \u003d LOG.exception"},{"line_number":316,"context_line":"            msg \u003d \"Error while reading %s\""},{"line_number":317,"context_line":"        logger_method(msg, file_name)"},{"line_number":318,"context_line":"        return None"}],"source_content_type":"text/x-python","patch_set":1,"id":"60163efb_1697bfea","line":315,"in_reply_to":"311966cc_8b0dc830","updated":"2021-01-19 19:00:39.000000000","message":"I initially tried to solve the problem that message \"Error while reading %s\" is never used.\nI suppose the message is for broad exception, because it looks like very common error message.\nIf I\u0027m wrong please explain in which case we should use the log message - I\u0027ll fix it.\nMaybe just delete the log message.","commit_id":"bec0e70e2e7e25d63d458f8e8eb002e7f7947780"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"ca00b5baf02cccdab30190b2ffff1b42c7268ddb","unresolved":true,"context_lines":[{"line_number":312,"context_line":"        except IOError:"},{"line_number":313,"context_line":"            msg \u003d \"Unable to access %s\""},{"line_number":314,"context_line":"        except Exception:"},{"line_number":315,"context_line":"            logger_method \u003d LOG.exception"},{"line_number":316,"context_line":"            msg \u003d \"Error while reading %s\""},{"line_number":317,"context_line":"        logger_method(msg, file_name)"},{"line_number":318,"context_line":"        return None"}],"source_content_type":"text/x-python","patch_set":1,"id":"dfc11122_558ccbc9","line":315,"in_reply_to":"60163efb_1697bfea","updated":"2021-01-19 19:11:59.000000000","message":"Right, anything besides these two can probably just be raised to the caller.  And I also didn\u0027t look into the changelog to see why this was done in two levels, if it matters.","commit_id":"bec0e70e2e7e25d63d458f8e8eb002e7f7947780"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"2a9af2d9722811b4be0465bacba2f029e55aa5f2","unresolved":false,"context_lines":[{"line_number":312,"context_line":"        except IOError:"},{"line_number":313,"context_line":"            msg \u003d \"Unable to access %s\""},{"line_number":314,"context_line":"        except Exception:"},{"line_number":315,"context_line":"            logger_method \u003d LOG.exception"},{"line_number":316,"context_line":"            msg \u003d \"Error while reading %s\""},{"line_number":317,"context_line":"        logger_method(msg, file_name)"},{"line_number":318,"context_line":"        return None"}],"source_content_type":"text/x-python","patch_set":1,"id":"3517b5f6_3d7707cf","line":315,"in_reply_to":"dfc11122_558ccbc9","updated":"2021-01-20 18:42:08.000000000","message":"Done","commit_id":"bec0e70e2e7e25d63d458f8e8eb002e7f7947780"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"2f5a9f9b25ae6865f5979dd51dc1248edd008d8c","unresolved":true,"context_lines":[{"line_number":314,"context_line":"        except Exception:"},{"line_number":315,"context_line":"            logger_method \u003d LOG.exception"},{"line_number":316,"context_line":"            msg \u003d \"Error while reading %s\""},{"line_number":317,"context_line":"        logger_method(msg, file_name)"},{"line_number":318,"context_line":"        return None"},{"line_number":319,"context_line":""},{"line_number":320,"context_line":"    @property"}],"source_content_type":"text/x-python","patch_set":1,"id":"16e43362_4562aa34","line":317,"updated":"2021-01-19 18:33:13.000000000","message":"I\u0027m surprised not always initializing msg above didn\u0027t generate a pep8 warning","commit_id":"bec0e70e2e7e25d63d458f8e8eb002e7f7947780"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"d1b3830e1c15989c878457c5c6a9f48005cb1f9e","unresolved":true,"context_lines":[{"line_number":314,"context_line":"        except Exception:"},{"line_number":315,"context_line":"            logger_method \u003d LOG.exception"},{"line_number":316,"context_line":"            msg \u003d \"Error while reading %s\""},{"line_number":317,"context_line":"        logger_method(msg, file_name)"},{"line_number":318,"context_line":"        return None"},{"line_number":319,"context_line":""},{"line_number":320,"context_line":"    @property"}],"source_content_type":"text/x-python","patch_set":1,"id":"e54e6a99_dcf8e5fe","line":317,"in_reply_to":"16e43362_4562aa34","updated":"2021-01-19 19:00:39.000000000","message":"I launched all unit tests, including PEP8 - it\u0027s OK.\nThere is not problem of uninitialized variable.\nVariable \"msg\" is always defined in every code branch where it\u0027s used:\n1. ValueError\n2. IOError\n3. broad Exception\n\nThe variable is not used in branch where an exception does not occur (return converter(f.read()).....)\n\nVariable is already initialized in logger_method(msg, file_name)","commit_id":"bec0e70e2e7e25d63d458f8e8eb002e7f7947780"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"2a9af2d9722811b4be0465bacba2f029e55aa5f2","unresolved":false,"context_lines":[{"line_number":314,"context_line":"        except Exception:"},{"line_number":315,"context_line":"            logger_method \u003d LOG.exception"},{"line_number":316,"context_line":"            msg \u003d \"Error while reading %s\""},{"line_number":317,"context_line":"        logger_method(msg, file_name)"},{"line_number":318,"context_line":"        return None"},{"line_number":319,"context_line":""},{"line_number":320,"context_line":"    @property"}],"source_content_type":"text/x-python","patch_set":1,"id":"bad2edd3_faabe712","line":317,"in_reply_to":"d7718576_a8deff54","updated":"2021-01-20 18:42:08.000000000","message":"Done","commit_id":"bec0e70e2e7e25d63d458f8e8eb002e7f7947780"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"ca00b5baf02cccdab30190b2ffff1b42c7268ddb","unresolved":true,"context_lines":[{"line_number":314,"context_line":"        except Exception:"},{"line_number":315,"context_line":"            logger_method \u003d LOG.exception"},{"line_number":316,"context_line":"            msg \u003d \"Error while reading %s\""},{"line_number":317,"context_line":"        logger_method(msg, file_name)"},{"line_number":318,"context_line":"        return None"},{"line_number":319,"context_line":""},{"line_number":320,"context_line":"    @property"}],"source_content_type":"text/x-python","patch_set":1,"id":"d7718576_a8deff54","line":317,"in_reply_to":"e54e6a99_dcf8e5fe","updated":"2021-01-19 19:11:59.000000000","message":"Yes, I was only implying that sometimes pep8/pylint aren\u0027t smart enough to notice this.","commit_id":"bec0e70e2e7e25d63d458f8e8eb002e7f7947780"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"b8e29b6fb6585296dccc1ede9f854c89c48d2595","unresolved":true,"context_lines":[{"line_number":311,"context_line":"            msg \u003d \"Unable to convert value in %s\""},{"line_number":312,"context_line":"        except IOError:"},{"line_number":313,"context_line":"            msg \u003d \"Unable to access %s\""},{"line_number":314,"context_line":"        except Exception:"},{"line_number":315,"context_line":"            logger_method \u003d LOG.exception"},{"line_number":316,"context_line":"            msg \u003d \"Error while reading %s\""},{"line_number":317,"context_line":"        logger_method(msg, file_name)"},{"line_number":318,"context_line":"        return None"},{"line_number":319,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"f8b75386_977184de","line":316,"range":{"start_line":314,"start_character":8,"end_line":316,"end_character":42},"updated":"2021-01-20 09:23:58.000000000","message":"this is behavior change, are we sure Exception is not handled somewhere up the stack? I\u0027d avoid behavior changes in such kind of patches.","commit_id":"f76ac734111cebc455f3f5a5fb7623e66a194140"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"2a9af2d9722811b4be0465bacba2f029e55aa5f2","unresolved":false,"context_lines":[{"line_number":311,"context_line":"            msg \u003d \"Unable to convert value in %s\""},{"line_number":312,"context_line":"        except IOError:"},{"line_number":313,"context_line":"            msg \u003d \"Unable to access %s\""},{"line_number":314,"context_line":"        except Exception:"},{"line_number":315,"context_line":"            logger_method \u003d LOG.exception"},{"line_number":316,"context_line":"            msg \u003d \"Error while reading %s\""},{"line_number":317,"context_line":"        logger_method(msg, file_name)"},{"line_number":318,"context_line":"        return None"},{"line_number":319,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"f2fb545e_f57f11b8","line":316,"range":{"start_line":314,"start_character":8,"end_line":316,"end_character":42},"in_reply_to":"1cdfd5ea_063284d6","updated":"2021-01-20 18:42:08.000000000","message":"Done","commit_id":"f76ac734111cebc455f3f5a5fb7623e66a194140"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"3f7b57bea7ea1cadd4547f10b710f6f0969958d0","unresolved":true,"context_lines":[{"line_number":311,"context_line":"            msg \u003d \"Unable to convert value in %s\""},{"line_number":312,"context_line":"        except IOError:"},{"line_number":313,"context_line":"            msg \u003d \"Unable to access %s\""},{"line_number":314,"context_line":"        except Exception:"},{"line_number":315,"context_line":"            logger_method \u003d LOG.exception"},{"line_number":316,"context_line":"            msg \u003d \"Error while reading %s\""},{"line_number":317,"context_line":"        logger_method(msg, file_name)"},{"line_number":318,"context_line":"        return None"},{"line_number":319,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1cdfd5ea_063284d6","line":316,"range":{"start_line":314,"start_character":8,"end_line":316,"end_character":42},"in_reply_to":"f8b75386_977184de","updated":"2021-01-20 18:01:42.000000000","message":"I see we don\u0027t need to catch broad exception.\nThe only thing to do with unused log message is to delete it.\nDo you agree guys ?","commit_id":"f76ac734111cebc455f3f5a5fb7623e66a194140"}],"neutron/agent/linux/ip_lib.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"2f5a9f9b25ae6865f5979dd51dc1248edd008d8c","unresolved":true,"context_lines":[{"line_number":1024,"context_line":"                                                        [address],"},{"line_number":1025,"context_line":"                                                        mac\u003dNone,"},{"line_number":1026,"context_line":"                                                        namespace\u003dns_name)"},{"line_number":1027,"context_line":"                msg \u003d \"Failed sending gratuitous ARP to %(addr)s on \" \\"},{"line_number":1028,"context_line":"                      \"%(iface)s in namespace %(ns)s: %(err)s\""},{"line_number":1029,"context_line":"                logger_method \u003d LOG.exception"},{"line_number":1030,"context_line":"                if not (log_exception and (first or exists)):"}],"source_content_type":"text/x-python","patch_set":1,"id":"53d76bb4_1e83073d","line":1027,"range":{"start_line":1027,"start_character":70,"end_line":1027,"end_character":71},"updated":"2021-01-19 18:33:13.000000000","message":"If you keep the parens but remove the \"_\" you won\u0027t need the backslash here","commit_id":"bec0e70e2e7e25d63d458f8e8eb002e7f7947780"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"2a9af2d9722811b4be0465bacba2f029e55aa5f2","unresolved":false,"context_lines":[{"line_number":1024,"context_line":"                                                        [address],"},{"line_number":1025,"context_line":"                                                        mac\u003dNone,"},{"line_number":1026,"context_line":"                                                        namespace\u003dns_name)"},{"line_number":1027,"context_line":"                msg \u003d \"Failed sending gratuitous ARP to %(addr)s on \" \\"},{"line_number":1028,"context_line":"                      \"%(iface)s in namespace %(ns)s: %(err)s\""},{"line_number":1029,"context_line":"                logger_method \u003d LOG.exception"},{"line_number":1030,"context_line":"                if not (log_exception and (first or exists)):"}],"source_content_type":"text/x-python","patch_set":1,"id":"e71c991f_72d12ed7","line":1027,"range":{"start_line":1027,"start_character":70,"end_line":1027,"end_character":71},"in_reply_to":"53d76bb4_1e83073d","updated":"2021-01-20 18:42:08.000000000","message":"Done","commit_id":"bec0e70e2e7e25d63d458f8e8eb002e7f7947780"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"b8e29b6fb6585296dccc1ede9f854c89c48d2595","unresolved":true,"context_lines":[{"line_number":1024,"context_line":"                                                        [address],"},{"line_number":1025,"context_line":"                                                        mac\u003dNone,"},{"line_number":1026,"context_line":"                                                        namespace\u003dns_name)"},{"line_number":1027,"context_line":"                msg \u003d \"Failed sending gratuitous ARP to %(addr)s on \" \\"},{"line_number":1028,"context_line":"                      \"%(iface)s in namespace %(ns)s: %(err)s\""},{"line_number":1029,"context_line":"                logger_method \u003d LOG.exception"},{"line_number":1030,"context_line":"                if not (log_exception and (first or exists)):"}],"source_content_type":"text/x-python","patch_set":2,"id":"59680c31_892c7562","line":1027,"range":{"start_line":1027,"start_character":70,"end_line":1027,"end_character":71},"updated":"2021-01-20 09:23:58.000000000","message":"not needed","commit_id":"f76ac734111cebc455f3f5a5fb7623e66a194140"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"2a9af2d9722811b4be0465bacba2f029e55aa5f2","unresolved":false,"context_lines":[{"line_number":1024,"context_line":"                                                        [address],"},{"line_number":1025,"context_line":"                                                        mac\u003dNone,"},{"line_number":1026,"context_line":"                                                        namespace\u003dns_name)"},{"line_number":1027,"context_line":"                msg \u003d \"Failed sending gratuitous ARP to %(addr)s on \" \\"},{"line_number":1028,"context_line":"                      \"%(iface)s in namespace %(ns)s: %(err)s\""},{"line_number":1029,"context_line":"                logger_method \u003d LOG.exception"},{"line_number":1030,"context_line":"                if not (log_exception and (first or exists)):"}],"source_content_type":"text/x-python","patch_set":2,"id":"4946467a_7723836d","line":1027,"range":{"start_line":1027,"start_character":70,"end_line":1027,"end_character":71},"in_reply_to":"59680c31_892c7562","updated":"2021-01-20 18:42:08.000000000","message":"Done","commit_id":"f76ac734111cebc455f3f5a5fb7623e66a194140"}],"neutron/agent/linux/utils.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"2f5a9f9b25ae6865f5979dd51dc1248edd008d8c","unresolved":true,"context_lines":[{"line_number":128,"context_line":""},{"line_number":129,"context_line":"        extra_ok_codes \u003d extra_ok_codes or []"},{"line_number":130,"context_line":"        if returncode and returncode not in extra_ok_codes:"},{"line_number":131,"context_line":"            msg \u003d \"Exit code: %(returncode)d; \" \\"},{"line_number":132,"context_line":"                  \"Cmd: %(cmd)s; \" \\"},{"line_number":133,"context_line":"                  \"Stdin: %(stdin)s; \" \\"},{"line_number":134,"context_line":"                  \"Stdout: %(stdout)s; \" \\"}],"source_content_type":"text/x-python","patch_set":1,"id":"e4ed5b11_a20f32de","line":131,"range":{"start_line":131,"start_character":48,"end_line":131,"end_character":49},"updated":"2021-01-19 18:33:13.000000000","message":"Same message as other file, keep the parens and don\u0027t add the backslashes","commit_id":"bec0e70e2e7e25d63d458f8e8eb002e7f7947780"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"2a9af2d9722811b4be0465bacba2f029e55aa5f2","unresolved":false,"context_lines":[{"line_number":128,"context_line":""},{"line_number":129,"context_line":"        extra_ok_codes \u003d extra_ok_codes or []"},{"line_number":130,"context_line":"        if returncode and returncode not in extra_ok_codes:"},{"line_number":131,"context_line":"            msg \u003d \"Exit code: %(returncode)d; \" \\"},{"line_number":132,"context_line":"                  \"Cmd: %(cmd)s; \" \\"},{"line_number":133,"context_line":"                  \"Stdin: %(stdin)s; \" \\"},{"line_number":134,"context_line":"                  \"Stdout: %(stdout)s; \" \\"}],"source_content_type":"text/x-python","patch_set":1,"id":"e26ba97a_0d6e2d44","line":131,"range":{"start_line":131,"start_character":48,"end_line":131,"end_character":49},"in_reply_to":"e4ed5b11_a20f32de","updated":"2021-01-20 18:42:08.000000000","message":"Done","commit_id":"bec0e70e2e7e25d63d458f8e8eb002e7f7947780"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"b8e29b6fb6585296dccc1ede9f854c89c48d2595","unresolved":true,"context_lines":[{"line_number":128,"context_line":""},{"line_number":129,"context_line":"        extra_ok_codes \u003d extra_ok_codes or []"},{"line_number":130,"context_line":"        if returncode and returncode not in extra_ok_codes:"},{"line_number":131,"context_line":"            msg \u003d \"Exit code: %(returncode)d; \" \\"},{"line_number":132,"context_line":"                  \"Cmd: %(cmd)s; \" \\"},{"line_number":133,"context_line":"                  \"Stdin: %(stdin)s; \" \\"},{"line_number":134,"context_line":"                  \"Stdout: %(stdout)s; \" \\"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f3b856b_d7d8d911","line":131,"range":{"start_line":131,"start_character":48,"end_line":131,"end_character":49},"updated":"2021-01-20 09:23:58.000000000","message":"not needed here and below","commit_id":"f76ac734111cebc455f3f5a5fb7623e66a194140"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"2a9af2d9722811b4be0465bacba2f029e55aa5f2","unresolved":false,"context_lines":[{"line_number":128,"context_line":""},{"line_number":129,"context_line":"        extra_ok_codes \u003d extra_ok_codes or []"},{"line_number":130,"context_line":"        if returncode and returncode not in extra_ok_codes:"},{"line_number":131,"context_line":"            msg \u003d \"Exit code: %(returncode)d; \" \\"},{"line_number":132,"context_line":"                  \"Cmd: %(cmd)s; \" \\"},{"line_number":133,"context_line":"                  \"Stdin: %(stdin)s; \" \\"},{"line_number":134,"context_line":"                  \"Stdout: %(stdout)s; \" \\"}],"source_content_type":"text/x-python","patch_set":2,"id":"4378f1ee_ae5f4486","line":131,"range":{"start_line":131,"start_character":48,"end_line":131,"end_character":49},"in_reply_to":"9f3b856b_d7d8d911","updated":"2021-01-20 18:42:08.000000000","message":"Done","commit_id":"f76ac734111cebc455f3f5a5fb7623e66a194140"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"adea39f76d15fe143cea9eca71962a8924cc7ce1","unresolved":true,"context_lines":[{"line_number":142,"context_line":"            if log_fail_as_error:"},{"line_number":143,"context_line":"                LOG.error(msg)"},{"line_number":144,"context_line":"            if check_exit_code:"},{"line_number":145,"context_line":"                raise exceptions.ProcessExecutionError(_(msg),"},{"line_number":146,"context_line":"                                                       returncode\u003dreturncode)"},{"line_number":147,"context_line":"    finally:"},{"line_number":148,"context_line":"        # NOTE(termie): this appears to be necessary to let the subprocess"}],"source_content_type":"text/x-python","patch_set":4,"id":"702a48d6_86ccb7f9","line":145,"range":{"start_line":145,"start_character":55,"end_line":145,"end_character":62},"updated":"2021-02-04 05:53:09.000000000","message":"This actually cannot be translated because no corrsponding message string is extracted.\nExceptions in the agent side is not user visibile via API, so there is no need to mark it as translatable.","commit_id":"c156c7d8837f9bbb730558f7b0cad4fa238c42e7"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"b67420666466c1b8d290411be5ffab355299fadf","unresolved":true,"context_lines":[{"line_number":142,"context_line":"            if log_fail_as_error:"},{"line_number":143,"context_line":"                LOG.error(msg)"},{"line_number":144,"context_line":"            if check_exit_code:"},{"line_number":145,"context_line":"                raise exceptions.ProcessExecutionError(_(msg),"},{"line_number":146,"context_line":"                                                       returncode\u003dreturncode)"},{"line_number":147,"context_line":"    finally:"},{"line_number":148,"context_line":"        # NOTE(termie): this appears to be necessary to let the subprocess"}],"source_content_type":"text/x-python","patch_set":4,"id":"cc757851_1fafdd80","line":145,"range":{"start_line":145,"start_character":55,"end_line":145,"end_character":62},"in_reply_to":"702a48d6_86ccb7f9","updated":"2021-02-04 06:42:22.000000000","message":"I\u0027ll fix it","commit_id":"c156c7d8837f9bbb730558f7b0cad4fa238c42e7"}],"neutron/agent/windows/utils.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"2f5a9f9b25ae6865f5979dd51dc1248edd008d8c","unresolved":true,"context_lines":[{"line_number":114,"context_line":"    _stdout \u003d helpers.safe_decode_utf8(_stdout)"},{"line_number":115,"context_line":"    _stderr \u003d helpers.safe_decode_utf8(_stderr)"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    m \u003d \"\\nCommand: %(cmd)s\\nExit code: %(code)s\\nStdin: %(stdin)s\\n\" \\"},{"line_number":118,"context_line":"        \"Stdout: %(stdout)s\\nStderr: %(stderr)s\" % \\"},{"line_number":119,"context_line":"        {\u0027cmd\u0027: cmd,"},{"line_number":120,"context_line":"         \u0027code\u0027: obj.returncode,"}],"source_content_type":"text/x-python","patch_set":1,"id":"fdfeccbb_6bd5d2e0","line":117,"range":{"start_line":117,"start_character":70,"end_line":117,"end_character":71},"updated":"2021-01-19 18:33:13.000000000","message":"Same comment","commit_id":"bec0e70e2e7e25d63d458f8e8eb002e7f7947780"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"2a9af2d9722811b4be0465bacba2f029e55aa5f2","unresolved":false,"context_lines":[{"line_number":114,"context_line":"    _stdout \u003d helpers.safe_decode_utf8(_stdout)"},{"line_number":115,"context_line":"    _stderr \u003d helpers.safe_decode_utf8(_stderr)"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    m \u003d \"\\nCommand: %(cmd)s\\nExit code: %(code)s\\nStdin: %(stdin)s\\n\" \\"},{"line_number":118,"context_line":"        \"Stdout: %(stdout)s\\nStderr: %(stderr)s\" % \\"},{"line_number":119,"context_line":"        {\u0027cmd\u0027: cmd,"},{"line_number":120,"context_line":"         \u0027code\u0027: obj.returncode,"}],"source_content_type":"text/x-python","patch_set":1,"id":"ef2222d2_88228758","line":117,"range":{"start_line":117,"start_character":70,"end_line":117,"end_character":71},"in_reply_to":"fdfeccbb_6bd5d2e0","updated":"2021-01-20 18:42:08.000000000","message":"Done","commit_id":"bec0e70e2e7e25d63d458f8e8eb002e7f7947780"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"b8e29b6fb6585296dccc1ede9f854c89c48d2595","unresolved":true,"context_lines":[{"line_number":114,"context_line":"    _stdout \u003d helpers.safe_decode_utf8(_stdout)"},{"line_number":115,"context_line":"    _stderr \u003d helpers.safe_decode_utf8(_stderr)"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    m \u003d \"\\nCommand: %(cmd)s\\nExit code: %(code)s\\nStdin: %(stdin)s\\n\" \\"},{"line_number":118,"context_line":"        \"Stdout: %(stdout)s\\nStderr: %(stderr)s\" % \\"},{"line_number":119,"context_line":"        {\u0027cmd\u0027: cmd,"},{"line_number":120,"context_line":"         \u0027code\u0027: obj.returncode,"}],"source_content_type":"text/x-python","patch_set":2,"id":"e4633e9c_dee4b848","line":117,"range":{"start_line":117,"start_character":70,"end_line":117,"end_character":71},"updated":"2021-01-20 09:23:58.000000000","message":"not needed","commit_id":"f76ac734111cebc455f3f5a5fb7623e66a194140"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"2a9af2d9722811b4be0465bacba2f029e55aa5f2","unresolved":false,"context_lines":[{"line_number":114,"context_line":"    _stdout \u003d helpers.safe_decode_utf8(_stdout)"},{"line_number":115,"context_line":"    _stderr \u003d helpers.safe_decode_utf8(_stderr)"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    m \u003d \"\\nCommand: %(cmd)s\\nExit code: %(code)s\\nStdin: %(stdin)s\\n\" \\"},{"line_number":118,"context_line":"        \"Stdout: %(stdout)s\\nStderr: %(stderr)s\" % \\"},{"line_number":119,"context_line":"        {\u0027cmd\u0027: cmd,"},{"line_number":120,"context_line":"         \u0027code\u0027: obj.returncode,"}],"source_content_type":"text/x-python","patch_set":2,"id":"59d099b5_f23ecb29","line":117,"range":{"start_line":117,"start_character":70,"end_line":117,"end_character":71},"in_reply_to":"e4633e9c_dee4b848","updated":"2021-01-20 18:42:08.000000000","message":"Done","commit_id":"f76ac734111cebc455f3f5a5fb7623e66a194140"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"adea39f76d15fe143cea9eca71962a8924cc7ce1","unresolved":true,"context_lines":[{"line_number":133,"context_line":"        LOG.debug(log_msg)"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"    if obj.returncode and check_exit_code:"},{"line_number":136,"context_line":"        raise exceptions.ProcessExecutionError(_(m), returncode\u003dobj.returncode)"},{"line_number":137,"context_line":"    return (_stdout, _stderr) if return_stderr else _stdout"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"724bdfd5_6421e6c3","line":136,"range":{"start_line":136,"start_character":47,"end_line":136,"end_character":51},"updated":"2021-02-04 05:53:09.000000000","message":"ditto","commit_id":"c156c7d8837f9bbb730558f7b0cad4fa238c42e7"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"b67420666466c1b8d290411be5ffab355299fadf","unresolved":true,"context_lines":[{"line_number":133,"context_line":"        LOG.debug(log_msg)"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"    if obj.returncode and check_exit_code:"},{"line_number":136,"context_line":"        raise exceptions.ProcessExecutionError(_(m), returncode\u003dobj.returncode)"},{"line_number":137,"context_line":"    return (_stdout, _stderr) if return_stderr else _stdout"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"59aa9ebf_539a88bc","line":136,"range":{"start_line":136,"start_character":47,"end_line":136,"end_character":51},"in_reply_to":"724bdfd5_6421e6c3","updated":"2021-02-04 06:42:22.000000000","message":"I\u0027ll fix it","commit_id":"c156c7d8837f9bbb730558f7b0cad4fa238c42e7"}],"neutron/privileged/agent/linux/netlink_lib.py":[{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"ee113971d109ded4ffbac5f9c669f5202e3ae3a8","unresolved":true,"context_lines":[{"line_number":191,"context_line":"                self._set_attributes(conntrack, entry)"},{"line_number":192,"context_line":"                self._query(nl_constants.NFCT_Q_DESTROY, conntrack)"},{"line_number":193,"context_line":"        except Exception as e:"},{"line_number":194,"context_line":"            msg \u003d \"Failed to delete conntrack entries %s\" % e"},{"line_number":195,"context_line":"            LOG.critical(msg)"},{"line_number":196,"context_line":"            raise exceptions.CTZoneExhaustedError()"},{"line_number":197,"context_line":"        finally:"}],"source_content_type":"text/x-python","patch_set":3,"id":"aa0e841a_d8962967","line":194,"range":{"start_line":194,"start_character":12,"end_line":194,"end_character":15},"updated":"2021-01-21 05:52:53.000000000","message":"nit: local var not needed, just LOG.citical(..., e)","commit_id":"a8f7fbabf25e6b6fbdfb37464db866ba183fbc8c"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"f3756d44fa63417fd40ec5c91bbad78cd81f49e6","unresolved":false,"context_lines":[{"line_number":191,"context_line":"                self._set_attributes(conntrack, entry)"},{"line_number":192,"context_line":"                self._query(nl_constants.NFCT_Q_DESTROY, conntrack)"},{"line_number":193,"context_line":"        except Exception as e:"},{"line_number":194,"context_line":"            msg \u003d \"Failed to delete conntrack entries %s\" % e"},{"line_number":195,"context_line":"            LOG.critical(msg)"},{"line_number":196,"context_line":"            raise exceptions.CTZoneExhaustedError()"},{"line_number":197,"context_line":"        finally:"}],"source_content_type":"text/x-python","patch_set":3,"id":"d3765db0_eace7b59","line":194,"range":{"start_line":194,"start_character":12,"end_line":194,"end_character":15},"in_reply_to":"aa0e841a_d8962967","updated":"2021-01-21 16:08:49.000000000","message":"Done","commit_id":"a8f7fbabf25e6b6fbdfb37464db866ba183fbc8c"}]}
