)]}'
{"cinder/tests/unit/volume/drivers/huawei/test_huawei_drivers.py":[{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"adceeb906fd57df10008df4b6fee1cda65b457d4","unresolved":false,"context_lines":[{"line_number":2263,"context_line":"        self.assertEqual(\u002721ec7341-2e1ac480c963f1e0\u0027, lun_name)"},{"line_number":2264,"context_line":""},{"line_number":2265,"context_line":"    @ddt.data({\u0027name\u0027: \u00279548e5e7-ca1c-46bf-b132\u0027,"},{"line_number":2266,"context_line":"               \u0027expected\u0027: \u00279548e5e7-ca1c-46bf-b132\u0027},"},{"line_number":2267,"context_line":"              {\u0027name\u0027: \u00279548e5e7ca1c46bfb132891b425a81f\u0027,"},{"line_number":2268,"context_line":"               \u0027expected\u0027: \u00279548e5e7ca1c46bfb132891b425a81f\u0027},"},{"line_number":2269,"context_line":"              {\u0027name\u0027: \u00279548e5e7-ca1c-46bf-b132-891b425a81f5\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"ff0f0b1f_a7a21b4a","line":2266,"updated":"2017-05-22 09:14:33.000000000","message":"Please, use mocks instead of hard-coded md5 hashes","commit_id":"f1ada9aa45e9fb0a72b266955510ff5f783ea757"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"47860ad11108f29ca431e6dd8a45016ad2628a6b","unresolved":false,"context_lines":[{"line_number":2263,"context_line":"        self.assertEqual(\u002721ec7341-2e1ac480c963f1e0\u0027, lun_name)"},{"line_number":2264,"context_line":""},{"line_number":2265,"context_line":"    @ddt.data({\u0027name\u0027: \u00279548e5e7-ca1c-46bf-b132\u0027,"},{"line_number":2266,"context_line":"               \u0027expected\u0027: \u00279548e5e7-ca1c-46bf-b132\u0027},"},{"line_number":2267,"context_line":"              {\u0027name\u0027: \u00279548e5e7ca1c46bfb132891b425a81f\u0027,"},{"line_number":2268,"context_line":"               \u0027expected\u0027: \u00279548e5e7ca1c46bfb132891b425a81f\u0027},"},{"line_number":2269,"context_line":"              {\u0027name\u0027: \u00279548e5e7-ca1c-46bf-b132-891b425a81f5\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f231b9d_2d8dbed2","line":2266,"in_reply_to":"ff0f0b1f_a7a21b4a","updated":"2017-06-14 17:19:02.000000000","message":"Not sure I follow. Can you explain how mocks could be used to verify the naming?","commit_id":"f1ada9aa45e9fb0a72b266955510ff5f783ea757"}],"cinder/volume/drivers/huawei/huawei_utils.py":[{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"78df1810cef67904e34879c8e97e0feb2bc50258","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"def encode_name(name):"},{"line_number":33,"context_line":"    vol_encoded \u003d hashlib.md5(name.encode(\u0027utf-8\u0027)).hexdigest()[8:-8]"},{"line_number":34,"context_line":"    return name.split(\"-\")[0] + \u0027-\u0027 + vol_encoded"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"ff0f0b1f_ff50f734","line":33,"range":{"start_line":33,"start_character":30,"end_line":33,"end_character":50},"updated":"2017-05-18 08:53:26.000000000","message":"why need to encode to \u0027utf-8\u0027 format?","commit_id":"96cfbef45af5839246b96fbea455651debb9fa1b"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"78df1810cef67904e34879c8e97e0feb2bc50258","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"def encode_name(name):"},{"line_number":33,"context_line":"    vol_encoded \u003d hashlib.md5(name.encode(\u0027utf-8\u0027)).hexdigest()[8:-8]"},{"line_number":34,"context_line":"    return name.split(\"-\")[0] + \u0027-\u0027 + vol_encoded"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"ff0f0b1f_4a195f77","line":33,"range":{"start_line":33,"start_character":63,"end_line":33,"end_character":69},"updated":"2017-05-18 08:53:26.000000000","message":"why only pick 16 characters from converted string? This makes the encoded name result only have 25 length, but the lun name upper limit is 31 for huawei array.","commit_id":"96cfbef45af5839246b96fbea455651debb9fa1b"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"ff9e6d3f51456016a55544eb48de919cef9e2bb1","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"def encode_name(name):"},{"line_number":33,"context_line":"    vol_encoded \u003d hashlib.md5(name.encode(\u0027utf-8\u0027)).hexdigest()[8:-8]"},{"line_number":34,"context_line":"    return name.split(\"-\")[0] + \u0027-\u0027 + vol_encoded"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"ff0f0b1f_eab71386","line":33,"range":{"start_line":33,"start_character":63,"end_line":33,"end_character":69},"in_reply_to":"ff0f0b1f_4a195f77","updated":"2017-05-18 09:16:53.000000000","message":"MD5 ususally has 32 or 16 characters, and the 16 characters are picked from the middle of the 32 one. and the reason why I pick this is it\u0027s shorter engough.","commit_id":"96cfbef45af5839246b96fbea455651debb9fa1b"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"ff9e6d3f51456016a55544eb48de919cef9e2bb1","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"def encode_name(name):"},{"line_number":33,"context_line":"    vol_encoded \u003d hashlib.md5(name.encode(\u0027utf-8\u0027)).hexdigest()[8:-8]"},{"line_number":34,"context_line":"    return name.split(\"-\")[0] + \u0027-\u0027 + vol_encoded"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"ff0f0b1f_cabc4f6b","line":33,"range":{"start_line":33,"start_character":30,"end_line":33,"end_character":50},"in_reply_to":"ff0f0b1f_ff50f734","updated":"2017-05-18 09:16:53.000000000","message":"It\u0027s required in the py3","commit_id":"96cfbef45af5839246b96fbea455651debb9fa1b"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"054e3cee6fb8e00dcdf41901c1d347a0fcf8bdf0","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"def encode_name(name):"},{"line_number":33,"context_line":"    vol_encoded \u003d hashlib.md5(name.encode(\u0027utf-8\u0027)).hexdigest()[8:-8]"},{"line_number":34,"context_line":"    return name.split(\"-\")[0] + \u0027-\u0027 + vol_encoded"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"df140735_19dea76c","line":33,"range":{"start_line":33,"start_character":64,"end_line":33,"end_character":68},"updated":"2017-06-02 15:40:03.000000000","message":"There\u0027s nothing better about picking the middle of the md5 hash rather than just picking the beginning.  Why make this more complicated than needed?","commit_id":"f1ada9aa45e9fb0a72b266955510ff5f783ea757"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"c7630feb6ba6530173f60775d87b905daf71e74c","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"def encode_name(name):"},{"line_number":33,"context_line":"    vol_encoded \u003d hashlib.md5(name.encode(\u0027utf-8\u0027)).hexdigest()[8:-8]"},{"line_number":34,"context_line":"    return name.split(\"-\")[0] + \u0027-\u0027 + vol_encoded"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"df140735_957f05df","line":33,"range":{"start_line":33,"start_character":64,"end_line":33,"end_character":68},"in_reply_to":"df140735_19dea76c","updated":"2017-06-04 05:53:12.000000000","message":"I don\u0027t have a strong feeling on picking the front or middle. why picking the middle will make it more complicated?","commit_id":"f1ada9aa45e9fb0a72b266955510ff5f783ea757"}]}
