)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"b71a184ddb5a99fe5904ecec47b5fcfda3ab4cd5","unresolved":false,"context_lines":[{"line_number":18,"context_line":"\"rw\", \"auth_username\": \"nTxY6pvVU6eVyarcPknM\", \"auth_method\": \"CHAP\"}}}"},{"line_number":19,"context_line":" _http_log_response"},{"line_number":20,"context_line":"/usr/lib/python2.7/site-packages/keystoneauth1/session.py"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Change-Id: Ib105dce613c6cf0db3408f12be409df99aa83b12"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1f1a1f67_01478d7a","line":21,"updated":"2017-07-14 18:38:02.000000000","message":"This seems like a keystoneauth bug. We should open if a report doesn\u0027t already exist.","commit_id":"411c34fd7f455d1e3bd71484b41ad54496261595"}],"keystoneauth1/session.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"b71a184ddb5a99fe5904ecec47b5fcfda3ab4cd5","unresolved":false,"context_lines":[{"line_number":404,"context_line":"        if text:"},{"line_number":405,"context_line":"            string_parts.append(\u0027\\nRESP BODY: %s\\n\u0027 % text)"},{"line_number":406,"context_line":""},{"line_number":407,"context_line":"        logger.debug(strutils.mask_password(\u0027 \u0027.join(string_parts)))"},{"line_number":408,"context_line":""},{"line_number":409,"context_line":"    @positional()"},{"line_number":410,"context_line":"    def request(self, url, method, json\u003dNone, original_ip\u003dNone,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1f1a1f67_c1607504","line":407,"updated":"2017-07-14 18:38:02.000000000","message":"This will need unit tests.","commit_id":"411c34fd7f455d1e3bd71484b41ad54496261595"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"f3bcd62a9a048e9a80d2f22d1a54f35e582d8f8d","unresolved":false,"context_lines":[{"line_number":404,"context_line":"        if text:"},{"line_number":405,"context_line":"            string_parts.append(\u0027\\nRESP BODY: %s\\n\u0027 % text)"},{"line_number":406,"context_line":""},{"line_number":407,"context_line":"        logger.debug(strutils.mask_password(\u0027 \u0027.join(string_parts)))"},{"line_number":408,"context_line":""},{"line_number":409,"context_line":"    @positional()"},{"line_number":410,"context_line":"    def request(self, url, method, json\u003dNone, original_ip\u003dNone,"}],"source_content_type":"text/x-python","patch_set":4,"id":"1f1a1f67_599a8813","line":407,"updated":"2017-07-20 01:36:08.000000000","message":"I\u0027m torn on this. I\u0027d prefer not to have to inspect and change every output. You can specify log\u003dFalse for any command that returns sensitive data to prevent it ending up in the output. Also mask_password is just a complex list of regexps that someone is apparently updating in a cross project way. \n\nOn the other this will only be processed when debugging is enabled, and it seems like oslo is willing to keep updating this list so why not.","commit_id":"ee348a59a239db24618ae8cd38164ec6d3417477"}]}
