)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"97675e32434a01851ff92f960f89c84f585fb71a","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     liucheng \u003cliucheng20@huawei.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-03-22 10:25:26 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Huawei: Cinder driver support for ipv6 when attaching a volume to a VM."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Both ipv4 and ipv6 are supported by Huawei cinder driver when attaching"},{"line_number":10,"context_line":"a volume to a VM."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1a1ced50_41296336","line":7,"updated":"2017-03-22 10:30:36.000000000","message":"Please reformat commit message to conform to the guidelines. I think \"Huawei: support for ipv6\" is probably sufficient. And note no \".\" at the end.","commit_id":"4894d6eaab6ac1f320b9a7e0e1747575b8e3c14e"}],"cinder/tests/unit/volume/drivers/huawei/test_huawei_drivers.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"ee9d8a17c7ac30e287b75a108c2875a1c71fa1dd","unresolved":false,"context_lines":[{"line_number":548,"context_line":"{"},{"line_number":549,"context_line":"    \"data\": [{"},{"line_number":550,"context_line":"        \"ETHPORTID\": \"139267\","},{"line_number":551,"context_line":"        \"ID\": \"0+iqn.2006-08.com.huawei:oceanstor:\\"},{"line_number":552,"context_line":"               21004846fb8ca15f::22004:192.0.2.1,t,0x2005\","},{"line_number":553,"context_line":"        \"TPGT\": \"8197\","},{"line_number":554,"context_line":"        \"TYPE\": 249"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a1ced50_de16094b","line":551,"range":{"start_line":551,"start_character":50,"end_line":551,"end_character":51},"updated":"2017-03-22 12:21:04.000000000","message":"Don\u0027t use \"\\\" to span multiple lines. Wrap this in () if you need to.","commit_id":"161603e78d55372679968048c88ef6d4156537c8"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"ee9d8a17c7ac30e287b75a108c2875a1c71fa1dd","unresolved":false,"context_lines":[{"line_number":555,"context_line":"    },"},{"line_number":556,"context_line":"    {"},{"line_number":557,"context_line":"        \"ETHPORTID\": \"139268\","},{"line_number":558,"context_line":"        \"ID\": \"1+iqn.2006-08.com.huawei:oceanstor:\\"},{"line_number":559,"context_line":"               21004846fb8ca15f::22003:192.0.2.2,t,0x2004\","},{"line_number":560,"context_line":"        \"TPGT\": \"8196\","},{"line_number":561,"context_line":"        \"TYPE\": 249"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a1ced50_fe110553","line":558,"range":{"start_line":558,"start_character":50,"end_line":558,"end_character":51},"updated":"2017-03-22 12:21:04.000000000","message":"Same.","commit_id":"161603e78d55372679968048c88ef6d4156537c8"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"ee9d8a17c7ac30e287b75a108c2875a1c71fa1dd","unresolved":false,"context_lines":[{"line_number":4253,"context_line":"        match_res \u003d {"},{"line_number":4254,"context_line":"            \u0027data\u0027: [{"},{"line_number":4255,"context_line":"                \u0027TYPE\u0027: 249,"},{"line_number":4256,"context_line":"                \u0027ID\u0027: \u00270+iqn.2006-08.com.huawei:oceanstor:\\"},{"line_number":4257,"context_line":"                       2100643e8c4c5f67::22004:111.111.111.19,t,0x01\u0027"},{"line_number":4258,"context_line":"            }, {"},{"line_number":4259,"context_line":"                \u0027TYPE\u0027: 249,"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a1ced50_9e1f315a","line":4256,"range":{"start_line":4256,"start_character":58,"end_line":4256,"end_character":59},"updated":"2017-03-22 12:21:04.000000000","message":"Same throughout.","commit_id":"161603e78d55372679968048c88ef6d4156537c8"}],"cinder/volume/drivers/huawei/rest_client.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"ee9d8a17c7ac30e287b75a108c2875a1c71fa1dd","unresolved":false,"context_lines":[{"line_number":1268,"context_line":"                target_iqns.append(target_iqn)"},{"line_number":1269,"context_line":""},{"line_number":1270,"context_line":"        if not target_iqns:"},{"line_number":1271,"context_line":"            err_msg \u003d (_("},{"line_number":1272,"context_line":"                \u0027Get iSCSI target iqn error, please check the target IP \u0027"},{"line_number":1273,"context_line":"                \u0027configured on array.\u0027))"},{"line_number":1274,"context_line":"            LOG.error(err_msg)"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a1ced50_1e6261d8","line":1271,"range":{"start_line":1271,"start_character":22,"end_line":1271,"end_character":23},"updated":"2017-03-22 12:21:04.000000000","message":"Outer () not needed.","commit_id":"161603e78d55372679968048c88ef6d4156537c8"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"3863985564ec48d999d4b3b35baf7d51767a30be","unresolved":false,"context_lines":[{"line_number":1208,"context_line":""},{"line_number":1209,"context_line":"        if \u0027data\u0027 in result:"},{"line_number":1210,"context_line":"            for item in result[\u0027data\u0027]:"},{"line_number":1211,"context_line":"                if ((item[\u0027IPV4ADDR\u0027] or item[\u0027IPV6ADDR\u0027])"},{"line_number":1212,"context_line":"                   and item[\u0027HEALTHSTATUS\u0027] \u003d\u003d constants.STATUS_HEALTH"},{"line_number":1213,"context_line":"                   and item[\u0027RUNNINGSTATUS\u0027] \u003d\u003d constants.STATUS_RUNNING):"},{"line_number":1214,"context_line":"                    if item[\u0027IPV4ADDR\u0027]:"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a1ced50_9148d6cd","line":1211,"range":{"start_line":1211,"start_character":16,"end_line":1211,"end_character":58},"updated":"2017-03-23 09:53:23.000000000","message":"This validation and that validation at line #1214/1214 is redundant. You could remove the outside validation.","commit_id":"b25c5992f8fa66bb850bb2fad47b75b35f43d1a1"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"3f33ccc065441ae6a2b4268e4b063ead31656b57","unresolved":false,"context_lines":[{"line_number":1276,"context_line":""},{"line_number":1277,"context_line":"        target_ips \u003d []"},{"line_number":1278,"context_line":"        for iqn in target_iqns:"},{"line_number":1279,"context_line":"            ip \u003d iqn.split(\u0027:\u0027, 5)[5]"},{"line_number":1280,"context_line":"            if netaddr.IPAddress(ip).version \u003d\u003d 6:"},{"line_number":1281,"context_line":"                ip \u003d \u0027[\u0027 + ip + \u0027]\u0027"},{"line_number":1282,"context_line":"            target_ips.append(ip)"}],"source_content_type":"text/x-python","patch_set":6,"id":"5ff73747_d37821c5","line":1279,"updated":"2017-04-27 15:27:47.000000000","message":"Why is [5] the magic number here?  This code looks error-prone.","commit_id":"b25c5992f8fa66bb850bb2fad47b75b35f43d1a1"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"3f33ccc065441ae6a2b4268e4b063ead31656b57","unresolved":false,"context_lines":[{"line_number":1287,"context_line":"        format_ips \u003d []"},{"line_number":1288,"context_line":"        for ip in target_ips:"},{"line_number":1289,"context_line":"            format_ip \u003d netaddr.IPAddress(ip)"},{"line_number":1290,"context_line":"            if format_ip.version \u003d\u003d 6:"},{"line_number":1291,"context_line":"                ip \u003d str(format_ip.format(dialect\u003dnetaddr.ipv6_compact))"},{"line_number":1292,"context_line":"            format_ips.append(ip)"},{"line_number":1293,"context_line":"        return format_ips"}],"source_content_type":"text/x-python","patch_set":6,"id":"5ff73747_0e209c9a","line":1290,"range":{"start_line":1290,"start_character":15,"end_line":1290,"end_character":37},"updated":"2017-04-27 15:27:47.000000000","message":"Should use oslo_utils.netutils.is_valid_ipv6().","commit_id":"b25c5992f8fa66bb850bb2fad47b75b35f43d1a1"}],"releasenotes/notes/support-for-ipv6-9f087136b3b70ea4.yaml":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"ee9d8a17c7ac30e287b75a108c2875a1c71fa1dd","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"   Huawei cinder driver support for ipv6 when attaching a volume to a VM."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"1a1ced50_fead85e9","line":3,"range":{"start_line":3,"start_character":10,"end_line":3,"end_character":16},"updated":"2017-03-22 12:21:04.000000000","message":"I think \"cinder\" can be removed.","commit_id":"161603e78d55372679968048c88ef6d4156537c8"}]}
