)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":14865,"name":"Adriano Freires Rosso","email":"adriano.rosso@fit-tecnologia.org.br","username":"adriano_rosso"},"change_message_id":"7bbad34cf660469906c334fa2aeb66a7daa0ffab","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Huawei: Don\u0027t show chap password in log"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"User won\u0027t the chap password show in the log for safty"},{"line_number":10,"context_line":"consideration, so we will not print the log message if"},{"line_number":11,"context_line":"it contains chap password."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"5a5ae5dd_fd95b4e3","line":9,"range":{"start_line":9,"start_character":49,"end_line":9,"end_character":54},"updated":"2016-02-04 12:15:43.000000000","message":"s/safty/safety","commit_id":"d1cbfde6b76e1809244923c9fc45503d629f07af"},{"author":{"_account_id":14865,"name":"Adriano Freires Rosso","email":"adriano.rosso@fit-tecnologia.org.br","username":"adriano_rosso"},"change_message_id":"7bbad34cf660469906c334fa2aeb66a7daa0ffab","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Huawei: Don\u0027t show chap password in log"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"User won\u0027t the chap password show in the log for safty"},{"line_number":10,"context_line":"consideration, so we will not print the log message if"},{"line_number":11,"context_line":"it contains chap password."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"5a5ae5dd_3dab4c1f","line":9,"range":{"start_line":9,"start_character":29,"end_line":9,"end_character":33},"updated":"2016-02-04 12:15:43.000000000","message":"s/show/shown","commit_id":"d1cbfde6b76e1809244923c9fc45503d629f07af"},{"author":{"_account_id":14865,"name":"Adriano Freires Rosso","email":"adriano.rosso@fit-tecnologia.org.br","username":"adriano_rosso"},"change_message_id":"7bbad34cf660469906c334fa2aeb66a7daa0ffab","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Huawei: Don\u0027t show chap password in log"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"User won\u0027t the chap password show in the log for safty"},{"line_number":10,"context_line":"consideration, so we will not print the log message if"},{"line_number":11,"context_line":"it contains chap password."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"5a5ae5dd_ddeb1877","line":9,"range":{"start_line":9,"start_character":5,"end_line":9,"end_character":14},"updated":"2016-02-04 12:15:43.000000000","message":"won\u0027t see?","commit_id":"d1cbfde6b76e1809244923c9fc45503d629f07af"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"d4d65bc176229fd7af9fd8bd37295d90822d8b21","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Users won\u0027t see the chap password shown in the log for"},{"line_number":10,"context_line":"safety consideration, so we will not print the log message"},{"line_number":11,"context_line":"if it contains chap password."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Closes-Bug: #1535706"},{"line_number":14,"context_line":"Change-Id: I3835d7364cc3c96c38c917fc0fb1674a11447954"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"dae33548_b03b269c","line":12,"updated":"2016-02-14 07:20:48.000000000","message":"Probably should have included SecImpact and keep the bug private before creating a patch.","commit_id":"79b8ed55ba6c4208dba0ef32a10f188c1e90112f"}],"cinder/tests/unit/test_huawei_drivers.py":[{"author":{"_account_id":8358,"name":"zhangguoqing","email":"zhang.guoqing@99cloud.net","username":"zhangguoqing"},"change_message_id":"c3a302500feb3cc62099db5109120dfb87e58943","unresolved":false,"context_lines":[{"line_number":3720,"context_line":"    def test_do_call_mask_passwd(self, load, urlopen, mock_log):"},{"line_number":3721,"context_line":"        url \u003d \"/iscsi_initiator/testini\""},{"line_number":3722,"context_line":"        data \u003d {\"ID\": \"testini\", \"CHAPPASSWORD\": \"testpwd\"}"},{"line_number":3723,"context_line":"        rest_client.RestClient(None, None, None, None).do_call(url, data)"},{"line_number":3724,"context_line":""},{"line_number":3725,"context_line":"        self.assertEqual(1, mock_log.call_count)"},{"line_number":3726,"context_line":"        message \u003d mock_log.call_args[0][1][\u0027data\u0027]"}],"source_content_type":"text/x-python","patch_set":21,"id":"fa0719c6_f42fd585","line":3723,"range":{"start_line":3723,"start_character":31,"end_line":3723,"end_character":35},"updated":"2016-03-23 09:20:05.000000000","message":"I think, you should mock the configuration.","commit_id":"8f96566f810f1abc202ca481a37187edcac2a0c1"},{"author":{"_account_id":11903,"name":"Anthony Lee","email":"anthony.mic.lee@hpe.com","username":"leeantho"},"change_message_id":"3a0b1c9ef1112b9eb175127e49e95eead2524628","unresolved":false,"context_lines":[{"line_number":3824,"context_line":"    @mock.patch.object(json, \u0027loads\u0027)"},{"line_number":3825,"context_line":"    def test_do_call_mask_passwd(self, load, urlopen, mock_log):"},{"line_number":3826,"context_line":"        url \u003d \"/iscsi_initiator/testini\""},{"line_number":3827,"context_line":"        data \u003d {\"ID\": \"testini\", \"CHAPPASSWORD\": \"testpwd\"}"},{"line_number":3828,"context_line":"        config \u003d mock.Mock(spec\u003dconf.Configuration)"},{"line_number":3829,"context_line":"        setattr(config, \u0027storage_pools\u0027, \u0027test_pool\u0027)"},{"line_number":3830,"context_line":"        setattr(config, \u0027iscsi_info\u0027, \u0027iscsi_info\u0027)"}],"source_content_type":"text/x-python","patch_set":27,"id":"dab17558_7c1724ee","line":3827,"range":{"start_line":3827,"start_character":34,"end_line":3827,"end_character":46},"updated":"2016-05-16 16:02:27.000000000","message":"It looks like strutils.mask_password() does not support masking of \"CHAPPASSWORD\" keys.  You should use one of the keys listed at http://docs.openstack.org/developer/oslo.utils/api/strutils.html#oslo_utils.strutils.mask_password\n\nThis causes the unit test to fail during the self.assertNone() call.\n\nMaybe just make the key name \"password\"?","commit_id":"3a11faf18a1e48b0b60d80e3a74cd80a09dd0063"}],"cinder/volume/drivers/huawei/rest_client.py":[{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"652e7778909582c6cd4b2bc5d3616c070ea2e9a1","unresolved":false,"context_lines":[{"line_number":74,"context_line":"                req.get_method \u003d lambda: method"},{"line_number":75,"context_line":"            res \u003d urllib.request.urlopen(req).read().decode(\"utf-8\")"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"            if (\"xx/sessions\" not in url"},{"line_number":78,"context_line":"                    and not (data and \u0027CHAPPASSWORD\u0027 in data)):"},{"line_number":79,"context_line":"                LOG.info(_LI(\u0027\\n\\n\\n\\nRequest URL: %(url)s\\n\\n\u0027"},{"line_number":80,"context_line":"                             \u0027Call Method: %(method)s\\n\\n\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a68dd71_76d5d0e2","line":77,"updated":"2016-01-25 21:44:38.000000000","message":"There should be a unit test for this.","commit_id":"a8674ceecb49569977a42709fba58467933bb1e7"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"09bfe9365f73fb95eb97f8ae40708152e8c4a7d5","unresolved":false,"context_lines":[{"line_number":74,"context_line":"                req.get_method \u003d lambda: method"},{"line_number":75,"context_line":"            res \u003d urllib.request.urlopen(req).read().decode(\"utf-8\")"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"            if (\"xx/sessions\" not in url"},{"line_number":78,"context_line":"                    and not (data and \u0027CHAPPASSWORD\u0027 in data)):"},{"line_number":79,"context_line":"                LOG.info(_LI(\u0027\\n\\n\\n\\nRequest URL: %(url)s\\n\\n\u0027"},{"line_number":80,"context_line":"                             \u0027Call Method: %(method)s\\n\\n\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a68dd71_4151a361","line":77,"in_reply_to":"9a68dd71_76d5d0e2","updated":"2016-01-27 03:26:03.000000000","message":"The whole function do_call is replaced in our ut test for ut test, because the do_call will send requests to the real storage array. So I\u0027v no idea how to add ut test for this modify, could you give me some suggestions?","commit_id":"a8674ceecb49569977a42709fba58467933bb1e7"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"76e67ac12e0abd637374a27ae306c5f01cd3b16c","unresolved":false,"context_lines":[{"line_number":75,"context_line":"            res \u003d urllib.request.urlopen(req).read().decode(\"utf-8\")"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"            if (\"xx/sessions\" not in url"},{"line_number":78,"context_line":"                    and not (data and \u0027CHAPPASSWORD\u0027 in data)):"},{"line_number":79,"context_line":"                LOG.info(_LI(\u0027\\n\\n\\n\\nRequest URL: %(url)s\\n\\n\u0027"},{"line_number":80,"context_line":"                             \u0027Call Method: %(method)s\\n\\n\u0027"},{"line_number":81,"context_line":"                             \u0027Request Data: %(data)s\\n\\n\u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"dae33548_b092b849","line":78,"updated":"2016-02-16 11:04:41.000000000","message":"Please, remove CHAPPASSWORD from the log message, instead of removing log call","commit_id":"8a0201f29df6b83385cfec69fd7c2f47464a85a8"},{"author":{"_account_id":10439,"name":"Xi Yang","email":"yang.xi@99cloud.net","username":"phenom"},"change_message_id":"3ecd13afb786778f28cfe385ff6c1538d929ab74","unresolved":false,"context_lines":[{"line_number":69,"context_line":"            socket.setdefaulttimeout(calltimeout)"},{"line_number":70,"context_line":"            masked_data \u003d None"},{"line_number":71,"context_line":"            if data:"},{"line_number":72,"context_line":"                if \u0027CHAPPASSWORD\u0027 in data:"},{"line_number":73,"context_line":"                    # We won\u0027t print the password in the log."},{"line_number":74,"context_line":"                    masked_data \u003d data.copy()"},{"line_number":75,"context_line":"                    masked_data[\u0027CHAPNAME\u0027] \u003d \u0027******\u0027"}],"source_content_type":"text/x-python","patch_set":11,"id":"bae84128_d8d17ccf","line":72,"range":{"start_line":72,"start_character":20,"end_line":72,"end_character":32},"updated":"2016-02-20 10:18:42.000000000","message":"Is iSCSI CHAP password? If so, you\u0027d better specify it clearly in the comment and commit message.","commit_id":"00e65a671d2964bd848a5a8852bd72d5f9659384"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"ee5e33c62d235d75980fc3bf83a4bb357de9b737","unresolved":false,"context_lines":[{"line_number":72,"context_line":"                if \u0027CHAPPASSWORD\u0027 in data:"},{"line_number":73,"context_line":"                    # We won\u0027t print the password in the log."},{"line_number":74,"context_line":"                    masked_data \u003d data.copy()"},{"line_number":75,"context_line":"                    masked_data[\u0027CHAPNAME\u0027] \u003d \u0027******\u0027"},{"line_number":76,"context_line":"                    masked_data[\u0027CHAPPASSWORD\u0027] \u003d \u0027******\u0027"},{"line_number":77,"context_line":"                    masked_data \u003d json.dumps(masked_data)"},{"line_number":78,"context_line":"                data \u003d json.dumps(data)"}],"source_content_type":"text/x-python","patch_set":11,"id":"bae84128_924ce443","line":75,"updated":"2016-02-20 23:33:53.000000000","message":"Please use oslo.utils mask_password() instead.  You may need to update oslo.utils to include CHAPPASSWORD as a key.","commit_id":"00e65a671d2964bd848a5a8852bd72d5f9659384"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"e6db2d6c226286f91dae1775a90e9eae67a1803c","unresolved":false,"context_lines":[{"line_number":69,"context_line":"            socket.setdefaulttimeout(calltimeout)"},{"line_number":70,"context_line":"            masked_data \u003d None"},{"line_number":71,"context_line":"            if data:"},{"line_number":72,"context_line":"                if \u0027CHAPPASSWORD\u0027 in data:"},{"line_number":73,"context_line":"                    # We won\u0027t print the password in the log."},{"line_number":74,"context_line":"                    masked_data \u003d data.copy()"},{"line_number":75,"context_line":"                    masked_data[\u0027CHAPNAME\u0027] \u003d \u0027******\u0027"}],"source_content_type":"text/x-python","patch_set":12,"id":"bae84128_bad17725","line":72,"updated":"2016-02-24 03:44:12.000000000","message":"I still believe its way better to use oslo.utils mask_password rather than implement your own.  But can be fixed later.","commit_id":"6447bd86308870b04d91a1f8ac7a39923d02bc8e"},{"author":{"_account_id":1207,"name":"Duncan Thomas","email":"duncan.thomas@gmail.com","username":"duncan-thomas"},"change_message_id":"8bbb8058af6988c6cc24367346eb4a16b9c17064","unresolved":false,"context_lines":[{"line_number":69,"context_line":"            socket.setdefaulttimeout(calltimeout)"},{"line_number":70,"context_line":"            masked_data \u003d None"},{"line_number":71,"context_line":"            if data:"},{"line_number":72,"context_line":"                if \u0027CHAPPASSWORD\u0027 in data:"},{"line_number":73,"context_line":"                    # We won\u0027t print the password in the log."},{"line_number":74,"context_line":"                    masked_data \u003d data.copy()"},{"line_number":75,"context_line":"                    masked_data[\u0027CHAPNAME\u0027] \u003d \u0027******\u0027"}],"source_content_type":"text/x-python","patch_set":12,"id":"bae84128_1abe98fe","line":72,"in_reply_to":"bae84128_bad17725","updated":"2016-02-24 09:03:23.000000000","message":"I think it should be fixed now, it isn\u0027t a big change and there are plenty of examples in tree","commit_id":"6447bd86308870b04d91a1f8ac7a39923d02bc8e"},{"author":{"_account_id":1207,"name":"Duncan Thomas","email":"duncan.thomas@gmail.com","username":"duncan-thomas"},"change_message_id":"16eebe43f9f52f33aa7057af978d500bb89575f8","unresolved":false,"context_lines":[{"line_number":455,"context_line":"        return map_info"},{"line_number":456,"context_line":""},{"line_number":457,"context_line":"    def check_iscsi_initiators_exist_in_host(self, host_id):"},{"line_number":458,"context_line":"        url \u003d \"/iscsi_initiator?range\u003d[0-256]\u0026PARENTID\u003d%s\" % host_id"},{"line_number":459,"context_line":"        result \u003d self.call(url, None, \"GET\")"},{"line_number":460,"context_line":"        self._assert_rest_result(result, \u0027Get host initiators info failed.\u0027)"},{"line_number":461,"context_line":"        if \"data\" in result:"}],"source_content_type":"text/x-python","patch_set":13,"id":"bae84128_aa52b732","line":458,"updated":"2016-02-24 10:57:43.000000000","message":"This and the below url changes aren\u0027t covered by the commit message","commit_id":"2b8f4a159030fcdc64082f47fa442cd5030b2b56"}]}
