)]}'
{"oslo/messaging/_drivers/common.py":[{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"47f12b418aff3fd1937feb89d3ea6dc2a2695ca1","unresolved":false,"context_lines":[{"line_number":178,"context_line":"    \"\"\"Sanitizes the msg_data field before logging.\"\"\""},{"line_number":179,"context_line":"    SANITIZE \u003d [\u0027_context_auth_token\u0027, \u0027auth_token\u0027, \u0027new_pass\u0027]"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"    def _fix_passwords(d):"},{"line_number":182,"context_line":"        \"\"\"Sanitizes the password fields in dictionary or list.\"\"\""},{"line_number":183,"context_line":"        if isinstance(d, list):"},{"line_number":184,"context_line":"            for item in d:"}],"source_content_type":"text/x-python","patch_set":5,"id":"9aa7fdbe_523fe0b3","line":181,"updated":"2014-10-27 16:13:21.000000000","message":"why did you have duplicate this code ?","commit_id":"08c9ffde0ade52271a272860d83c8306eb29c182"},{"author":{"_account_id":8157,"name":"Bertrand LALLAU","email":"bertrand.lallau@gmail.com","username":"blallau"},"change_message_id":"82f48d8743a86230aabbe83edba44c298ad4e9db","unresolved":false,"context_lines":[{"line_number":178,"context_line":"    \"\"\"Sanitizes the msg_data field before logging.\"\"\""},{"line_number":179,"context_line":"    SANITIZE \u003d [\u0027_context_auth_token\u0027, \u0027auth_token\u0027, \u0027new_pass\u0027]"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"    def _fix_passwords(d):"},{"line_number":182,"context_line":"        \"\"\"Sanitizes the password fields in dictionary or list.\"\"\""},{"line_number":183,"context_line":"        if isinstance(d, list):"},{"line_number":184,"context_line":"            for item in d:"}],"source_content_type":"text/x-python","patch_set":5,"id":"9aa7fdbe_ed70e5a5","line":181,"in_reply_to":"9aa7fdbe_523fe0b3","updated":"2014-10-28 08:39:43.000000000","message":"It is a rebase issue, that\u0027s why I already put -1","commit_id":"08c9ffde0ade52271a272860d83c8306eb29c182"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"615aa4100c62ff380e17e44685d5f674cdd77bb7","unresolved":false,"context_lines":[{"line_number":163,"context_line":""},{"line_number":164,"context_line":"def _fix_passwords(d):"},{"line_number":165,"context_line":"    \"\"\"Sanitizes the password fields in the dictionary.\"\"\""},{"line_number":166,"context_line":"    if isinstance(d, list):"},{"line_number":167,"context_line":"        for item in d:"},{"line_number":168,"context_line":"            _fix_passwords(item)"},{"line_number":169,"context_line":"    elif isinstance(d, dict):"}],"source_content_type":"text/x-python","patch_set":6,"id":"9aa7fdbe_dc43d03f","line":166,"updated":"2014-10-28 09:51:51.000000000","message":"You should not touch this file. \n\nThe enhancement of fix_password have already been adressed here: https://review.openstack.org/#/c/123759/ (but it\u0027s block until a new version of oslo.utils is out)","commit_id":"528153cbd8c68fd91c1c357e798a234ca9dd0310"},{"author":{"_account_id":8157,"name":"Bertrand LALLAU","email":"bertrand.lallau@gmail.com","username":"blallau"},"change_message_id":"e4354e66b1a34846c5b114a0a63016ddda072e0d","unresolved":false,"context_lines":[{"line_number":163,"context_line":""},{"line_number":164,"context_line":"def _fix_passwords(d):"},{"line_number":165,"context_line":"    \"\"\"Sanitizes the password fields in the dictionary.\"\"\""},{"line_number":166,"context_line":"    if isinstance(d, list):"},{"line_number":167,"context_line":"        for item in d:"},{"line_number":168,"context_line":"            _fix_passwords(item)"},{"line_number":169,"context_line":"    elif isinstance(d, dict):"}],"source_content_type":"text/x-python","patch_set":6,"id":"9aa7fdbe_dc7e7018","line":166,"in_reply_to":"9aa7fdbe_dc43d03f","updated":"2014-10-28 10:02:56.000000000","message":"Thanks, I\u0027ll wait for this enhancement","commit_id":"528153cbd8c68fd91c1c357e798a234ca9dd0310"}],"oslo/messaging/rpc/client.py":[{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"98399fcbccf686ce01023fb5a704faffea25b511","unresolved":false,"context_lines":[{"line_number":136,"context_line":"                LOG.debug(\u0027Making asynchronous fanout cast %s \u003c%s\u003e...\u0027, method,"},{"line_number":137,"context_line":"                          self.target.topic)"},{"line_number":138,"context_line":"            else:"},{"line_number":139,"context_line":"                LOG.debug(\u0027Making asynchronous cast %s on %s \u003c%s\u003e...\u0027, method,"},{"line_number":140,"context_line":"                          self.target.server, self.target.topic)"},{"line_number":141,"context_line":"            self.transport._send(self.target, ctxt, msg, retry\u003dself.retry)"},{"line_number":142,"context_line":"        except driver_base.TransportDriverError as ex:"}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_eaa4974d","line":139,"updated":"2014-07-25 09:37:10.000000000","message":"LOG.debug should be outside of the try except.","commit_id":"227633a16dd6394167a25d7ae98c17ea5599ce36"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"a268764223f3edec869d7f18813d555a39e3d5e3","unresolved":false,"context_lines":[{"line_number":133,"context_line":""},{"line_number":134,"context_line":"        if self.version_cap:"},{"line_number":135,"context_line":"            self._check_version_cap(msg.get(\u0027version\u0027))"},{"line_number":136,"context_line":"        if \u0027fanout\u0027 in kwargs:"},{"line_number":137,"context_line":"            LOG.debug(\u0027Making asynchronous fanout cast %s \u003c%s\u003e...\u0027, method,"},{"line_number":138,"context_line":"                      self.target.topic)"},{"line_number":139,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":3,"id":"baa201ad_1a716844","line":136,"updated":"2014-10-13 20:07:52.000000000","message":"What if fanout is false?","commit_id":"7510bfd116fb91074882dfc0842e4bd616c249e1"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"a268764223f3edec869d7f18813d555a39e3d5e3","unresolved":false,"context_lines":[{"line_number":164,"context_line":"                                          retry\u003dself.retry)"},{"line_number":165,"context_line":"        except driver_base.TransportDriverError as ex:"},{"line_number":166,"context_line":"            raise ClientSendError(self.target, ex)"},{"line_number":167,"context_line":"        LOG.debug(\u0027Synchronous call %s receive %s\u0027, method, result)"},{"line_number":168,"context_line":"        return self.serializer.deserialize_entity(ctxt, result)"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":3,"id":"baa201ad_7afef46c","line":167,"updated":"2014-10-13 20:07:52.000000000","message":"The results of a remote method call might include information we don\u0027t want to go into the logs (passwords, and other security-sensitive data). If we need to log the results, we should call oslo.messaging._drivers.safe_log to do it safely.","commit_id":"7510bfd116fb91074882dfc0842e4bd616c249e1"},{"author":{"_account_id":8157,"name":"Bertrand LALLAU","email":"bertrand.lallau@gmail.com","username":"blallau"},"change_message_id":"c5ed37ddeb3dbecbf5d73e383f1d7ce66a8d6290","unresolved":false,"context_lines":[{"line_number":166,"context_line":"        except driver_base.TransportDriverError as ex:"},{"line_number":167,"context_line":"            raise ClientSendError(self.target, ex)"},{"line_number":168,"context_line":"        rpc_common._safe_log(LOG.debug, \u0027Synchronous call receive %s\u0027,"},{"line_number":169,"context_line":"                             result[0])"},{"line_number":170,"context_line":"        return self.serializer.deserialize_entity(ctxt, result)"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":4,"id":"baa201ad_9175e899","line":169,"updated":"2014-10-16 08:01:51.000000000","message":"result MUST be tested before using it","commit_id":"83c89a51474245e0306fc98195a1a22190f65315"}]}
