)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"5df514c8967c99c7e4e7698b314364373626b33b","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     chenzongliang \u003cchenzongliang@huawei.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-06-05 11:45:12 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add Chap support for Huawei Storage"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add chap support to Huawei iSCSI driver."},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3afb71cf_84834dcc","line":7,"updated":"2015-06-06 12:36:09.000000000","message":"s/Chap/CHAP/","commit_id":"f77daf956582ce8db26bedf2175b8f22e0f35cc8"},{"author":{"_account_id":8202,"name":"chenzongliang","email":"chenzongliang@huawei.com","username":"zongliang"},"change_message_id":"94f16ca2b11cadfdbdeb3a17cf0a1f65cbbcdd0a","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     chenzongliang \u003cchenzongliang@huawei.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-06-05 11:45:12 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add Chap support for Huawei Storage"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add chap support to Huawei iSCSI driver."},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3afb71cf_764cffc7","line":7,"in_reply_to":"3afb71cf_84834dcc","updated":"2015-06-10 09:06:12.000000000","message":"Done","commit_id":"f77daf956582ce8db26bedf2175b8f22e0f35cc8"},{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"5df514c8967c99c7e4e7698b314364373626b33b","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add Chap support for Huawei Storage"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add chap support to Huawei iSCSI driver."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: Idb267cbf8cc237878eeb7e1f381a3440699b1342"},{"line_number":12,"context_line":"Implements: blueprint huawei-storage-add-chap-support"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3afb71cf_648851e8","line":9,"updated":"2015-06-06 12:36:09.000000000","message":"s/chap/CHAP/","commit_id":"f77daf956582ce8db26bedf2175b8f22e0f35cc8"},{"author":{"_account_id":8202,"name":"chenzongliang","email":"chenzongliang@huawei.com","username":"zongliang"},"change_message_id":"94f16ca2b11cadfdbdeb3a17cf0a1f65cbbcdd0a","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add Chap support for Huawei Storage"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add chap support to Huawei iSCSI driver."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: Idb267cbf8cc237878eeb7e1f381a3440699b1342"},{"line_number":12,"context_line":"Implements: blueprint huawei-storage-add-chap-support"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3afb71cf_564903b6","line":9,"in_reply_to":"3afb71cf_648851e8","updated":"2015-06-10 09:06:12.000000000","message":"Done","commit_id":"f77daf956582ce8db26bedf2175b8f22e0f35cc8"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"d9275546a6d7560742a91681777a0dfea2d9fef7","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add CHAP support for Huawei Storage"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add CHAP support to Huawei iSCSI driver."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: Idb267cbf8cc237878eeb7e1f381a3440699b1342"},{"line_number":12,"context_line":"Implements: blueprint huawei-storage-add-chap-support"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"fa32b979_7dac6535","line":9,"updated":"2015-06-16 07:13:31.000000000","message":"Suggest you put more detailed information in the second paragraph and resolve the conflict.","commit_id":"a91b0de4f54be5f8e9fe0800e61f44deb61e2e8f"},{"author":{"_account_id":8202,"name":"chenzongliang","email":"chenzongliang@huawei.com","username":"zongliang"},"change_message_id":"6f5600caa382182c315aa189e5aef64de3adc6ab","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add CHAP support for Huawei Storage"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add CHAP support to Huawei iSCSI driver."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: Idb267cbf8cc237878eeb7e1f381a3440699b1342"},{"line_number":12,"context_line":"Implements: blueprint huawei-storage-add-chap-support"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"fa32b979_e570d7de","line":9,"in_reply_to":"fa32b979_7dac6535","updated":"2015-06-16 08:27:45.000000000","message":"Done","commit_id":"a91b0de4f54be5f8e9fe0800e61f44deb61e2e8f"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"eac295d3b509643033d3d77af19b3f8a68baa7c9","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add CHAP support for Huawei driver"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"CHAP authentication for iSCSI has already been"},{"line_number":10,"context_line":"implemented in multiple drivers. The blueprint aims to"},{"line_number":11,"context_line":"add this feature to Huawei driver."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: Idb267cbf8cc237878eeb7e1f381a3440699b1342"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":23,"id":"3a50d1a3_4f7c7d72","line":10,"updated":"2015-07-20 13:30:54.000000000","message":"Is there anyway to make it so \"blueprint aims\" doesn\u0027t turn into a hyperlink?","commit_id":"02741df4c5e32ba26782d9d19114e8490d998004"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"9db8c7308aef1c4ab77cfa1e50056b5376561f6a","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add CHAP support for Huawei driver"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"CHAP authentication for iSCSI has already been"},{"line_number":10,"context_line":"implemented in multiple drivers. The blueprint aims to"},{"line_number":11,"context_line":"add this feature to Huawei driver."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: Idb267cbf8cc237878eeb7e1f381a3440699b1342"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":23,"id":"3a50d1a3_aedc03e5","line":10,"in_reply_to":"3a50d1a3_4f7c7d72","updated":"2015-07-21 01:25:08.000000000","message":"Done","commit_id":"02741df4c5e32ba26782d9d19114e8490d998004"}],"cinder/tests/unit/test_huawei_drivers.py":[{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"546be789ed1dbdcbd10331057c947179229a2d5a","unresolved":false,"context_lines":[{"line_number":1050,"context_line":"        iscsiinfo \u003d huawei_utils._get_iscsi_conf(self.configuration)"},{"line_number":1051,"context_line":"        result \u003d self.driver.restclient._is_need_chap(iscsiinfo,"},{"line_number":1052,"context_line":"                                                      Connector[\u0027initiator\u0027])"},{"line_number":1053,"context_line":"        self.assertTrue(result)"},{"line_number":1054,"context_line":""},{"line_number":1055,"context_line":"    def test_use_alua(self):"},{"line_number":1056,"context_line":"        self.driver.restclient.login()"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_b1b3904c","line":1053,"updated":"2015-06-10 15:26:25.000000000","message":"Is there a false unit test?","commit_id":"6475e35ac0069b53310370eaf87898189d41292c"},{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"546be789ed1dbdcbd10331057c947179229a2d5a","unresolved":false,"context_lines":[{"line_number":1059,"context_line":"        result \u003d self.driver.restclient._is_need_alua(iscsiinfo,"},{"line_number":1060,"context_line":"                                                      Connector[\u0027initiator\u0027],"},{"line_number":1061,"context_line":"                                                      multipath)"},{"line_number":1062,"context_line":"        self.assertTrue(result)"},{"line_number":1063,"context_line":""},{"line_number":1064,"context_line":"    def create_fake_conf_file(self):"},{"line_number":1065,"context_line":"        \"\"\"Create a fake Config file"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_517b3c7b","line":1062,"updated":"2015-06-10 15:26:25.000000000","message":"Ditto","commit_id":"6475e35ac0069b53310370eaf87898189d41292c"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"c7caaf3e75c75cb223aec10a9575831f4895424f","unresolved":false,"context_lines":[{"line_number":818,"context_line":"        pass"},{"line_number":819,"context_line":""},{"line_number":820,"context_line":"    def _parse_volume_type(self, volume):"},{"line_number":821,"context_line":""},{"line_number":822,"context_line":"        poolinfo \u003d self._find_pool_info()"},{"line_number":823,"context_line":"        volume_size \u003d self._get_volume_size(poolinfo, volume)"},{"line_number":824,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"9a41bdd9_102d97fd","line":821,"updated":"2015-07-15 13:18:40.000000000","message":"Please, remove blank line here","commit_id":"01cd0d8dc930de733b9d7e4669656c52fa1aa72d"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"a668e29d7b15912191a5dca23789c951acab2066","unresolved":false,"context_lines":[{"line_number":818,"context_line":"        pass"},{"line_number":819,"context_line":""},{"line_number":820,"context_line":"    def _parse_volume_type(self, volume):"},{"line_number":821,"context_line":""},{"line_number":822,"context_line":"        poolinfo \u003d self._find_pool_info()"},{"line_number":823,"context_line":"        volume_size \u003d self._get_volume_size(poolinfo, volume)"},{"line_number":824,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"9a41bdd9_69f17d94","line":821,"in_reply_to":"9a41bdd9_102d97fd","updated":"2015-07-16 03:15:06.000000000","message":"Done","commit_id":"01cd0d8dc930de733b9d7e4669656c52fa1aa72d"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"c7caaf3e75c75cb223aec10a9575831f4895424f","unresolved":false,"context_lines":[{"line_number":844,"context_line":"        return True"},{"line_number":845,"context_line":""},{"line_number":846,"context_line":"    def call(self, url\u003dFalse, data\u003dNone, method\u003dNone):"},{"line_number":847,"context_line":""},{"line_number":848,"context_line":"        url \u003d url.replace(\u0027http://100.115.10.69:8082/deviceManager/rest\u0027, \u0027\u0027)"},{"line_number":849,"context_line":"        command \u003d url.replace(\u0027/210235G7J20000000000/\u0027, \u0027\u0027)"},{"line_number":850,"context_line":"        data \u003d None"}],"source_content_type":"text/x-python","patch_set":21,"id":"9a41bdd9_9041a7ab","line":847,"updated":"2015-07-15 13:18:40.000000000","message":"Please, remove blank line here","commit_id":"01cd0d8dc930de733b9d7e4669656c52fa1aa72d"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"a668e29d7b15912191a5dca23789c951acab2066","unresolved":false,"context_lines":[{"line_number":844,"context_line":"        return True"},{"line_number":845,"context_line":""},{"line_number":846,"context_line":"    def call(self, url\u003dFalse, data\u003dNone, method\u003dNone):"},{"line_number":847,"context_line":""},{"line_number":848,"context_line":"        url \u003d url.replace(\u0027http://100.115.10.69:8082/deviceManager/rest\u0027, \u0027\u0027)"},{"line_number":849,"context_line":"        command \u003d url.replace(\u0027/210235G7J20000000000/\u0027, \u0027\u0027)"},{"line_number":850,"context_line":"        data \u003d None"}],"source_content_type":"text/x-python","patch_set":21,"id":"9a41bdd9_2915b59a","line":847,"in_reply_to":"9a41bdd9_9041a7ab","updated":"2015-07-16 03:15:06.000000000","message":"Done","commit_id":"01cd0d8dc930de733b9d7e4669656c52fa1aa72d"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"c7caaf3e75c75cb223aec10a9575831f4895424f","unresolved":false,"context_lines":[{"line_number":1058,"context_line":"        tmp_dict[\u0027Name\u0027] \u003d \u0027iqn.1993-08.debian:01:ec2bff7ac3a3\u0027"},{"line_number":1059,"context_line":"        tmp_dict[\u0027CHAPinfo\u0027] \u003d \u0027mm-user;mm-user@storage\u0027"},{"line_number":1060,"context_line":"        ini_list \u003d []"},{"line_number":1061,"context_line":"        ini_list.append(tmp_dict)"},{"line_number":1062,"context_line":"        iscsi_info[\u0027Initiator\u0027] \u003d ini_list"},{"line_number":1063,"context_line":"        initiator_name \u003d Connector[\u0027initiator\u0027]"},{"line_number":1064,"context_line":"        chapinfo \u003d self.driver.restclient.find_chap_info(iscsi_info,"}],"source_content_type":"text/x-python","patch_set":21,"id":"9a41bdd9_b025cb09","line":1061,"updated":"2015-07-15 13:18:40.000000000","message":"ini_list \u003d [tmp_dict]","commit_id":"01cd0d8dc930de733b9d7e4669656c52fa1aa72d"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"a668e29d7b15912191a5dca23789c951acab2066","unresolved":false,"context_lines":[{"line_number":1058,"context_line":"        tmp_dict[\u0027Name\u0027] \u003d \u0027iqn.1993-08.debian:01:ec2bff7ac3a3\u0027"},{"line_number":1059,"context_line":"        tmp_dict[\u0027CHAPinfo\u0027] \u003d \u0027mm-user;mm-user@storage\u0027"},{"line_number":1060,"context_line":"        ini_list \u003d []"},{"line_number":1061,"context_line":"        ini_list.append(tmp_dict)"},{"line_number":1062,"context_line":"        iscsi_info[\u0027Initiator\u0027] \u003d ini_list"},{"line_number":1063,"context_line":"        initiator_name \u003d Connector[\u0027initiator\u0027]"},{"line_number":1064,"context_line":"        chapinfo \u003d self.driver.restclient.find_chap_info(iscsi_info,"}],"source_content_type":"text/x-python","patch_set":21,"id":"9a41bdd9_49311959","line":1061,"in_reply_to":"9a41bdd9_b025cb09","updated":"2015-07-16 03:15:06.000000000","message":"Done","commit_id":"01cd0d8dc930de733b9d7e4669656c52fa1aa72d"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"c7caaf3e75c75cb223aec10a9575831f4895424f","unresolved":false,"context_lines":[{"line_number":1074,"context_line":"        tmp_dict[\u0027Name\u0027] \u003d \u0027iqn.1993-08.debian:01:ec2bff7ac3a3\u0027"},{"line_number":1075,"context_line":"        tmp_dict[\u0027ALUA\u0027] \u003d \u00271\u0027"},{"line_number":1076,"context_line":"        ini_list \u003d []"},{"line_number":1077,"context_line":"        ini_list.append(tmp_dict)"},{"line_number":1078,"context_line":"        iscsi_info[\u0027Initiator\u0027] \u003d ini_list"},{"line_number":1079,"context_line":"        initiator_name \u003d Connector[\u0027initiator\u0027]"},{"line_number":1080,"context_line":"        type \u003d self.driver.restclient._find_alua_info(iscsi_info,"}],"source_content_type":"text/x-python","patch_set":21,"id":"9a41bdd9_704983b6","line":1077,"updated":"2015-07-15 13:18:40.000000000","message":"The same as above","commit_id":"01cd0d8dc930de733b9d7e4669656c52fa1aa72d"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"a668e29d7b15912191a5dca23789c951acab2066","unresolved":false,"context_lines":[{"line_number":1074,"context_line":"        tmp_dict[\u0027Name\u0027] \u003d \u0027iqn.1993-08.debian:01:ec2bff7ac3a3\u0027"},{"line_number":1075,"context_line":"        tmp_dict[\u0027ALUA\u0027] \u003d \u00271\u0027"},{"line_number":1076,"context_line":"        ini_list \u003d []"},{"line_number":1077,"context_line":"        ini_list.append(tmp_dict)"},{"line_number":1078,"context_line":"        iscsi_info[\u0027Initiator\u0027] \u003d ini_list"},{"line_number":1079,"context_line":"        initiator_name \u003d Connector[\u0027initiator\u0027]"},{"line_number":1080,"context_line":"        type \u003d self.driver.restclient._find_alua_info(iscsi_info,"}],"source_content_type":"text/x-python","patch_set":21,"id":"9a41bdd9_a94225ac","line":1077,"in_reply_to":"9a41bdd9_704983b6","updated":"2015-07-16 03:15:06.000000000","message":"Done","commit_id":"01cd0d8dc930de733b9d7e4669656c52fa1aa72d"}],"cinder/tests/unit/test_huawei_drivers_compatibility.py":[{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"37e4f56640ce200df55fa72fb4239e943017b9f3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#    Copyright 2012 OpenStack Foundation\r"},{"line_number":2,"context_line":"#\r"},{"line_number":3,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may\r"},{"line_number":4,"context_line":"#    not use this file except in compliance with the License. You may obtain\r"}],"source_content_type":"text/x-python","patch_set":14,"id":"9a41bdd9_86031542","line":1,"updated":"2015-07-13 21:22:27.000000000","message":"What is it?","commit_id":"a378270e9045a43cbf2eb7a776845c61037d85b9"},{"author":{"_account_id":16258,"name":"nikesh","email":"nike.niec@gmail.com","username":"nikem"},"change_message_id":"6a9830e7dbbe1fc875e3ab91e40f3cbdbafa876c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#    Copyright 2012 OpenStack Foundation\r"},{"line_number":2,"context_line":"#\r"},{"line_number":3,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may\r"},{"line_number":4,"context_line":"#    not use this file except in compliance with the License. You may obtain\r"},{"line_number":5,"context_line":"#    a copy of the License at\r"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a41bdd9_d6b75038","line":2,"updated":"2015-07-14 22:33:15.000000000","message":"why are we using \\r ?","commit_id":"0cc020c28cdd724ed8dc70acfbacb6289faff907"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"86c9b4efd55ccfd6e693395b50e4acffcc053715","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#    Copyright 2012 OpenStack Foundation\r"},{"line_number":2,"context_line":"#\r"},{"line_number":3,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may\r"},{"line_number":4,"context_line":"#    not use this file except in compliance with the License. You may obtain\r"},{"line_number":5,"context_line":"#    a copy of the License at\r"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a41bdd9_0332455f","line":2,"in_reply_to":"9a41bdd9_d6b75038","updated":"2015-07-15 08:22:24.000000000","message":"Done","commit_id":"0cc020c28cdd724ed8dc70acfbacb6289faff907"}],"cinder/volume/drivers/huawei/huawei_driver.py":[{"author":{"_account_id":16258,"name":"nikesh","email":"nike.niec@gmail.com","username":"nikem"},"change_message_id":"759bd4854f6e47c623dca297eae025426043d44e","unresolved":false,"context_lines":[{"line_number":383,"context_line":"        properties[\u0027volume_id\u0027] \u003d volume[\u0027id\u0027]"},{"line_number":384,"context_line":""},{"line_number":385,"context_line":"        # If use CHAP, return CHAP info."},{"line_number":386,"context_line":"        if usechap:"},{"line_number":387,"context_line":"            auth_username, auth_password \u003d chapinfo.split(\u0027;\u0027)"},{"line_number":388,"context_line":"            properties[\u0027auth_method\u0027] \u003d \u0027CHAP\u0027"},{"line_number":389,"context_line":"            properties[\u0027auth_username\u0027] \u003d auth_username"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a41bdd9_db7539fa","line":386,"updated":"2015-07-14 20:37:00.000000000","message":"if chapinfo:","commit_id":"0cc020c28cdd724ed8dc70acfbacb6289faff907"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"86c9b4efd55ccfd6e693395b50e4acffcc053715","unresolved":false,"context_lines":[{"line_number":383,"context_line":"        properties[\u0027volume_id\u0027] \u003d volume[\u0027id\u0027]"},{"line_number":384,"context_line":""},{"line_number":385,"context_line":"        # If use CHAP, return CHAP info."},{"line_number":386,"context_line":"        if usechap:"},{"line_number":387,"context_line":"            auth_username, auth_password \u003d chapinfo.split(\u0027;\u0027)"},{"line_number":388,"context_line":"            properties[\u0027auth_method\u0027] \u003d \u0027CHAP\u0027"},{"line_number":389,"context_line":"            properties[\u0027auth_username\u0027] \u003d auth_username"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a41bdd9_234c29c7","line":386,"in_reply_to":"9a41bdd9_db7539fa","updated":"2015-07-15 08:22:24.000000000","message":"Done","commit_id":"0cc020c28cdd724ed8dc70acfbacb6289faff907"},{"author":{"_account_id":16258,"name":"nikesh","email":"nike.niec@gmail.com","username":"nikem"},"change_message_id":"759bd4854f6e47c623dca297eae025426043d44e","unresolved":false,"context_lines":[{"line_number":384,"context_line":""},{"line_number":385,"context_line":"        # If use CHAP, return CHAP info."},{"line_number":386,"context_line":"        if usechap:"},{"line_number":387,"context_line":"            auth_username, auth_password \u003d chapinfo.split(\u0027;\u0027)"},{"line_number":388,"context_line":"            properties[\u0027auth_method\u0027] \u003d \u0027CHAP\u0027"},{"line_number":389,"context_line":"            properties[\u0027auth_username\u0027] \u003d auth_username"},{"line_number":390,"context_line":"            properties[\u0027auth_password\u0027] \u003d auth_password"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a41bdd9_e3b18a48","line":387,"updated":"2015-07-14 20:37:00.000000000","message":"i think it is better to use chap_username and chap_password in place of auth_username and auth_password","commit_id":"0cc020c28cdd724ed8dc70acfbacb6289faff907"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"86c9b4efd55ccfd6e693395b50e4acffcc053715","unresolved":false,"context_lines":[{"line_number":384,"context_line":""},{"line_number":385,"context_line":"        # If use CHAP, return CHAP info."},{"line_number":386,"context_line":"        if usechap:"},{"line_number":387,"context_line":"            auth_username, auth_password \u003d chapinfo.split(\u0027;\u0027)"},{"line_number":388,"context_line":"            properties[\u0027auth_method\u0027] \u003d \u0027CHAP\u0027"},{"line_number":389,"context_line":"            properties[\u0027auth_username\u0027] \u003d auth_username"},{"line_number":390,"context_line":"            properties[\u0027auth_password\u0027] \u003d auth_password"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a41bdd9_039c850d","line":387,"in_reply_to":"9a41bdd9_e3b18a48","updated":"2015-07-15 08:22:24.000000000","message":"Done","commit_id":"0cc020c28cdd724ed8dc70acfbacb6289faff907"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"c7caaf3e75c75cb223aec10a9575831f4895424f","unresolved":false,"context_lines":[{"line_number":447,"context_line":"                self.restclient.delete_portgroup_mapping_view(view_id,"},{"line_number":448,"context_line":"                                                              portgroup_id)"},{"line_number":449,"context_line":"        if view_id and (int(left_lunnum) \u003c\u003d 0):"},{"line_number":450,"context_line":""},{"line_number":451,"context_line":"            self.restclient.remove_chap(initiator_name)"},{"line_number":452,"context_line":""},{"line_number":453,"context_line":"            if self.restclient.lungroup_associated(view_id, lungroupid):"}],"source_content_type":"text/x-python","patch_set":21,"id":"9a41bdd9_309c5b0e","line":450,"updated":"2015-07-15 13:18:40.000000000","message":"Please, remove blank line","commit_id":"01cd0d8dc930de733b9d7e4669656c52fa1aa72d"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"a668e29d7b15912191a5dca23789c951acab2066","unresolved":false,"context_lines":[{"line_number":447,"context_line":"                self.restclient.delete_portgroup_mapping_view(view_id,"},{"line_number":448,"context_line":"                                                              portgroup_id)"},{"line_number":449,"context_line":"        if view_id and (int(left_lunnum) \u003c\u003d 0):"},{"line_number":450,"context_line":""},{"line_number":451,"context_line":"            self.restclient.remove_chap(initiator_name)"},{"line_number":452,"context_line":""},{"line_number":453,"context_line":"            if self.restclient.lungroup_associated(view_id, lungroupid):"}],"source_content_type":"text/x-python","patch_set":21,"id":"9a41bdd9_294db599","line":450,"in_reply_to":"9a41bdd9_309c5b0e","updated":"2015-07-16 03:15:06.000000000","message":"Done","commit_id":"01cd0d8dc930de733b9d7e4669656c52fa1aa72d"}],"cinder/volume/drivers/huawei/huawei_utils.py":[{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"37e4f56640ce200df55fa72fb4239e943017b9f3","unresolved":false,"context_lines":[{"line_number":456,"context_line":""},{"line_number":457,"context_line":""},{"line_number":458,"context_line":"def check_chapinfo_true(auth_name, auth_password):"},{"line_number":459,"context_line":"    if not check_chapname(auth_name):"},{"line_number":460,"context_line":"        msg \u003d (_("},{"line_number":461,"context_line":"            \u0027The CHAP user name is not illegal. \u0027"},{"line_number":462,"context_line":"            \u0027Please re-check it.\u0027))"}],"source_content_type":"text/x-python","patch_set":14,"id":"9a41bdd9_8678f5c5","line":459,"updated":"2015-07-13 21:22:27.000000000","message":"Please, add unit tests for this method","commit_id":"a378270e9045a43cbf2eb7a776845c61037d85b9"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"924edfe053864e681a41876ad7441cdb958ae808","unresolved":false,"context_lines":[{"line_number":456,"context_line":""},{"line_number":457,"context_line":""},{"line_number":458,"context_line":"def check_chapinfo_true(auth_name, auth_password):"},{"line_number":459,"context_line":"    if not check_chapname(auth_name):"},{"line_number":460,"context_line":"        msg \u003d (_("},{"line_number":461,"context_line":"            \u0027The CHAP user name is not illegal. \u0027"},{"line_number":462,"context_line":"            \u0027Please re-check it.\u0027))"}],"source_content_type":"text/x-python","patch_set":14,"id":"9a41bdd9_ed867564","line":459,"in_reply_to":"9a41bdd9_8678f5c5","updated":"2015-07-14 08:48:14.000000000","message":"We have made some change about this, please check in the least patch, thanks!","commit_id":"a378270e9045a43cbf2eb7a776845c61037d85b9"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"37e4f56640ce200df55fa72fb4239e943017b9f3","unresolved":false,"context_lines":[{"line_number":462,"context_line":"            \u0027Please re-check it.\u0027))"},{"line_number":463,"context_line":"        LOG.error(msg)"},{"line_number":464,"context_line":"        raise exception.CinderException(msg)"},{"line_number":465,"context_line":"        return False"},{"line_number":466,"context_line":"    if not check_chappassword(auth_password):"},{"line_number":467,"context_line":"        msg \u003d (_("},{"line_number":468,"context_line":"            \u0027The CHAP password is not illegal. \u0027"}],"source_content_type":"text/x-python","patch_set":14,"id":"9a41bdd9_6645b1b1","line":465,"updated":"2015-07-13 21:22:27.000000000","message":"return won\u0027t be invoked after raise","commit_id":"a378270e9045a43cbf2eb7a776845c61037d85b9"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"924edfe053864e681a41876ad7441cdb958ae808","unresolved":false,"context_lines":[{"line_number":462,"context_line":"            \u0027Please re-check it.\u0027))"},{"line_number":463,"context_line":"        LOG.error(msg)"},{"line_number":464,"context_line":"        raise exception.CinderException(msg)"},{"line_number":465,"context_line":"        return False"},{"line_number":466,"context_line":"    if not check_chappassword(auth_password):"},{"line_number":467,"context_line":"        msg \u003d (_("},{"line_number":468,"context_line":"            \u0027The CHAP password is not illegal. \u0027"}],"source_content_type":"text/x-python","patch_set":14,"id":"9a41bdd9_4122c5ba","line":465,"in_reply_to":"9a41bdd9_6645b1b1","updated":"2015-07-14 08:48:14.000000000","message":"Done","commit_id":"a378270e9045a43cbf2eb7a776845c61037d85b9"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"37e4f56640ce200df55fa72fb4239e943017b9f3","unresolved":false,"context_lines":[{"line_number":469,"context_line":"            \u0027Please re-check it.\u0027))"},{"line_number":470,"context_line":"        LOG.error(msg)"},{"line_number":471,"context_line":"        raise exception.CinderException(msg)"},{"line_number":472,"context_line":"        return False"},{"line_number":473,"context_line":"    return True"},{"line_number":474,"context_line":""},{"line_number":475,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"9a41bdd9_c60cbd96","line":472,"updated":"2015-07-13 21:22:27.000000000","message":"The same as above","commit_id":"a378270e9045a43cbf2eb7a776845c61037d85b9"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"924edfe053864e681a41876ad7441cdb958ae808","unresolved":false,"context_lines":[{"line_number":469,"context_line":"            \u0027Please re-check it.\u0027))"},{"line_number":470,"context_line":"        LOG.error(msg)"},{"line_number":471,"context_line":"        raise exception.CinderException(msg)"},{"line_number":472,"context_line":"        return False"},{"line_number":473,"context_line":"    return True"},{"line_number":474,"context_line":""},{"line_number":475,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"9a41bdd9_e130b903","line":472,"in_reply_to":"9a41bdd9_c60cbd96","updated":"2015-07-14 08:48:14.000000000","message":"Done","commit_id":"a378270e9045a43cbf2eb7a776845c61037d85b9"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"37e4f56640ce200df55fa72fb4239e943017b9f3","unresolved":false,"context_lines":[{"line_number":474,"context_line":""},{"line_number":475,"context_line":""},{"line_number":476,"context_line":"def check_chapname(auth_name):"},{"line_number":477,"context_line":"    pattern \u003d re.compile(\u0027^[a-zA-Z0-9][a-zA-Z0-9.:-]{4,25}$\u0027)"},{"line_number":478,"context_line":"    match \u003d pattern.findall(auth_name)"},{"line_number":479,"context_line":"    if match:"},{"line_number":480,"context_line":"        return True"}],"source_content_type":"text/x-python","patch_set":14,"id":"9a41bdd9_a673b9e6","line":477,"updated":"2015-07-13 21:22:27.000000000","message":"Please, add unit tests for this method","commit_id":"a378270e9045a43cbf2eb7a776845c61037d85b9"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"37e4f56640ce200df55fa72fb4239e943017b9f3","unresolved":false,"context_lines":[{"line_number":482,"context_line":"        return False"},{"line_number":483,"context_line":""},{"line_number":484,"context_line":""},{"line_number":485,"context_line":"def check_chappassword(auth_password):"},{"line_number":486,"context_line":"    length \u003d re.compile(\u0027^.{12,16}$\u0027)"},{"line_number":487,"context_line":"    digit \u003d re.compile(\u0027[0-9]+\u0027)"},{"line_number":488,"context_line":"    uppder \u003d re.compile(\u0027[A-Z]+\u0027)"}],"source_content_type":"text/x-python","patch_set":14,"id":"9a41bdd9_667db1b0","line":485,"updated":"2015-07-13 21:22:27.000000000","message":"Please, add unit tests for this method","commit_id":"a378270e9045a43cbf2eb7a776845c61037d85b9"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"37e4f56640ce200df55fa72fb4239e943017b9f3","unresolved":false,"context_lines":[{"line_number":485,"context_line":"def check_chappassword(auth_password):"},{"line_number":486,"context_line":"    length \u003d re.compile(\u0027^.{12,16}$\u0027)"},{"line_number":487,"context_line":"    digit \u003d re.compile(\u0027[0-9]+\u0027)"},{"line_number":488,"context_line":"    uppder \u003d re.compile(\u0027[A-Z]+\u0027)"},{"line_number":489,"context_line":"    lower \u003d re.compile(\u0027[a-z]+\u0027)"},{"line_number":490,"context_line":"    smybol \u003d re.compile(\u0027[`~!@#$%^\u0026*()-_\u003d+|\\[{}\\]:;\"\\\u0027\u003c,./\u003e\\\\? ]+\u0027)"},{"line_number":491,"context_line":"    matchlength \u003d length.findall(auth_password)"}],"source_content_type":"text/x-python","patch_set":14,"id":"9a41bdd9_e65d417a","line":488,"updated":"2015-07-13 21:22:27.000000000","message":"upper","commit_id":"a378270e9045a43cbf2eb7a776845c61037d85b9"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"924edfe053864e681a41876ad7441cdb958ae808","unresolved":false,"context_lines":[{"line_number":485,"context_line":"def check_chappassword(auth_password):"},{"line_number":486,"context_line":"    length \u003d re.compile(\u0027^.{12,16}$\u0027)"},{"line_number":487,"context_line":"    digit \u003d re.compile(\u0027[0-9]+\u0027)"},{"line_number":488,"context_line":"    uppder \u003d re.compile(\u0027[A-Z]+\u0027)"},{"line_number":489,"context_line":"    lower \u003d re.compile(\u0027[a-z]+\u0027)"},{"line_number":490,"context_line":"    smybol \u003d re.compile(\u0027[`~!@#$%^\u0026*()-_\u003d+|\\[{}\\]:;\"\\\u0027\u003c,./\u003e\\\\? ]+\u0027)"},{"line_number":491,"context_line":"    matchlength \u003d length.findall(auth_password)"}],"source_content_type":"text/x-python","patch_set":14,"id":"9a41bdd9_210ea13b","line":488,"in_reply_to":"9a41bdd9_e65d417a","updated":"2015-07-14 08:48:14.000000000","message":"Done","commit_id":"a378270e9045a43cbf2eb7a776845c61037d85b9"}],"cinder/volume/drivers/huawei/rest_client.py":[{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"4d5bf8ae5e7aa1c7f0f62f70415374a532243c45","unresolved":false,"context_lines":[{"line_number":668,"context_line":"            if ini[\u0027Name\u0027] \u003d\u003d initiator_name:"},{"line_number":669,"context_line":"                for key in ini:"},{"line_number":670,"context_line":"                    if key \u003d\u003d \u0027CHAPinfo\u0027:"},{"line_number":671,"context_line":"                        chapinfo \u003d ini[\u0027CHAPinfo\u0027]"},{"line_number":672,"context_line":"        if chapinfo:"},{"line_number":673,"context_line":"            (auth_username, auth_password) \u003d chapinfo.split(\";\")"},{"line_number":674,"context_line":"            data \u003d json.dumps({\"TYPE\": \"222\","}],"source_content_type":"text/x-python","patch_set":1,"id":"5afe65bd_b7f74b58","line":671,"updated":"2015-06-04 12:33:30.000000000","message":"can you break out of the loops here?","commit_id":"7778d5150c0479df60c52b28916758329ac69afc"},{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"309a6ad719cfcbfca56be7b4e8dcbac904caa249","unresolved":false,"context_lines":[{"line_number":692,"context_line":"            if ini[\u0027Name\u0027] \u003d\u003d initiator_name:"},{"line_number":693,"context_line":"                for key in ini:"},{"line_number":694,"context_line":"                    if key \u003d\u003d \u0027ALUA\u0027:"},{"line_number":695,"context_line":"                        aluaflag \u003d ini[\u0027ALUA\u0027]"},{"line_number":696,"context_line":"        if aluaflag and multipath:"},{"line_number":697,"context_line":"            multipathtype \u003d aluaflag"},{"line_number":698,"context_line":"        data \u003d json.dumps({\"ID\": initiator_name,"}],"source_content_type":"text/x-python","patch_set":1,"id":"5afe65bd_8cb314e9","line":695,"updated":"2015-06-04 16:52:02.000000000","message":"It applies here as well based on what Tom says above.","commit_id":"7778d5150c0479df60c52b28916758329ac69afc"},{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"309a6ad719cfcbfca56be7b4e8dcbac904caa249","unresolved":false,"context_lines":[{"line_number":693,"context_line":"                for key in ini:"},{"line_number":694,"context_line":"                    if key \u003d\u003d \u0027ALUA\u0027:"},{"line_number":695,"context_line":"                        aluaflag \u003d ini[\u0027ALUA\u0027]"},{"line_number":696,"context_line":"        if aluaflag and multipath:"},{"line_number":697,"context_line":"            multipathtype \u003d aluaflag"},{"line_number":698,"context_line":"        data \u003d json.dumps({\"ID\": initiator_name,"},{"line_number":699,"context_line":"                           \"MULTIPATHTYPE\": multipathtype})"}],"source_content_type":"text/x-python","patch_set":1,"id":"5afe65bd_8c0f9487","line":696,"updated":"2015-06-04 16:52:02.000000000","message":"It looks like only aluaflag is needed if multipath is passed in.  Why don\u0027t you put the \"for ini in iscsi_conf[\u0027Initiator\u0027]:\" loop in this if statement?","commit_id":"7778d5150c0479df60c52b28916758329ac69afc"},{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"546be789ed1dbdcbd10331057c947179229a2d5a","unresolved":false,"context_lines":[{"line_number":656,"context_line":"                                     initiator_name,"},{"line_number":657,"context_line":"                                     multipath)"},{"line_number":658,"context_line":"        if usechap:"},{"line_number":659,"context_line":"            LOG.info(_LI(\u0027use CHAP when add initiator to array\u0027))"},{"line_number":660,"context_line":"        if usealua:"},{"line_number":661,"context_line":"            LOG.info(_LI(\u0027use ALUA when add initiator to array\u0027))"},{"line_number":662,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_7153d817","line":659,"updated":"2015-06-10 15:26:25.000000000","message":"Since this is an info message, could you change it to:\n\ns/use CHAP when add initiator to array/Use CHAP when adding initiator to array/","commit_id":"6475e35ac0069b53310370eaf87898189d41292c"},{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"546be789ed1dbdcbd10331057c947179229a2d5a","unresolved":false,"context_lines":[{"line_number":658,"context_line":"        if usechap:"},{"line_number":659,"context_line":"            LOG.info(_LI(\u0027use CHAP when add initiator to array\u0027))"},{"line_number":660,"context_line":"        if usealua:"},{"line_number":661,"context_line":"            LOG.info(_LI(\u0027use ALUA when add initiator to array\u0027))"},{"line_number":662,"context_line":""},{"line_number":663,"context_line":"    def _is_need_chap(self, iscsi_conf, initiator_name):"},{"line_number":664,"context_line":"        \"\"\"Check whether use CHAP.\"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_b15cb019","line":661,"updated":"2015-06-10 15:26:25.000000000","message":"Since this is an info message, could you change it to:\n\ns/use ALUA when add initiator to array/Use ALUA when adding initiator to array/","commit_id":"6475e35ac0069b53310370eaf87898189d41292c"},{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"641b2c16a9daedca16811f9e970782cdb4a71796","unresolved":false,"context_lines":[{"line_number":669,"context_line":"        chapflag \u003d False"},{"line_number":670,"context_line":"        for ini in iscsi_conf[\u0027Initiator\u0027]:"},{"line_number":671,"context_line":"            if ini[\u0027Name\u0027] \u003d\u003d initiator_name:"},{"line_number":672,"context_line":"                for key in ini:"},{"line_number":673,"context_line":"                    if key \u003d\u003d \u0027CHAPinfo\u0027:"},{"line_number":674,"context_line":"                        chapinfo \u003d ini[\u0027CHAPinfo\u0027]"},{"line_number":675,"context_line":"                        break"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa32b979_9bb9ee7b","line":672,"updated":"2015-06-17 12:24:50.000000000","message":"Is ini a list of strings?  If so, this for loop can be simplified to:\nif \u0027CHAPinfo\u0027 in ini:\n    chapinfo \u003d ini[\u0027CHAPinfo\u0027]","commit_id":"ae278b841b75e7efd7009a661aa1553c533ba0b1"},{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"641b2c16a9daedca16811f9e970782cdb4a71796","unresolved":false,"context_lines":[{"line_number":696,"context_line":"        aluaflag \u003d False"},{"line_number":697,"context_line":"        if multipath:"},{"line_number":698,"context_line":"            for ini in iscsi_conf[\u0027Initiator\u0027]:"},{"line_number":699,"context_line":"                if ini[\u0027Name\u0027] \u003d\u003d initiator_name:"},{"line_number":700,"context_line":"                    for key in ini:"},{"line_number":701,"context_line":"                        if key \u003d\u003d \u0027ALUA\u0027:"},{"line_number":702,"context_line":"                            multipathtype \u003d ini[\u0027ALUA\u0027]"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa32b979_fba83a22","line":699,"updated":"2015-06-17 12:24:50.000000000","message":"Ditto","commit_id":"ae278b841b75e7efd7009a661aa1553c533ba0b1"},{"author":{"_account_id":16883,"name":"huyang","email":"huyang1@huawei.com","username":"huyang"},"change_message_id":"73259707f70f1499a73c7f71c7e08c218b55e146","unresolved":false,"context_lines":[{"line_number":789,"context_line":"                chapflag \u003d True"},{"line_number":790,"context_line":"            else:"},{"line_number":791,"context_line":"                msg \u003d (_("},{"line_number":792,"context_line":"                    \u0027Invalid CHAP name or CHAP password,\u0027"},{"line_number":793,"context_line":"                    \u0027Please check the config file.\u0027))"},{"line_number":794,"context_line":"                LOG.error(msg)"},{"line_number":795,"context_line":"                raise exception.InvalidInput(msg)"}],"source_content_type":"text/x-python","patch_set":11,"id":"ba3cc151_aafdbe3c","line":792,"updated":"2015-07-07 11:12:05.000000000","message":"Need a blank character after \"CHAP password,\".","commit_id":"313e87dde82b1991cf314800fdd18fa38dd46053"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"920cc3a506130988a3992d23366dfc457451aeca","unresolved":false,"context_lines":[{"line_number":789,"context_line":"                chapflag \u003d True"},{"line_number":790,"context_line":"            else:"},{"line_number":791,"context_line":"                msg \u003d (_("},{"line_number":792,"context_line":"                    \u0027Invalid CHAP name or CHAP password,\u0027"},{"line_number":793,"context_line":"                    \u0027Please check the config file.\u0027))"},{"line_number":794,"context_line":"                LOG.error(msg)"},{"line_number":795,"context_line":"                raise exception.InvalidInput(msg)"}],"source_content_type":"text/x-python","patch_set":11,"id":"ba3cc151_ace20800","line":792,"in_reply_to":"ba3cc151_aafdbe3c","updated":"2015-07-10 09:35:58.000000000","message":"Done","commit_id":"313e87dde82b1991cf314800fdd18fa38dd46053"},{"author":{"_account_id":16883,"name":"huyang","email":"huyang1@huawei.com","username":"huyang"},"change_message_id":"73259707f70f1499a73c7f71c7e08c218b55e146","unresolved":false,"context_lines":[{"line_number":814,"context_line":"                    if key \u003d\u003d \u0027ALUA\u0027:"},{"line_number":815,"context_line":"                        if ini[\u0027ALUA\u0027] !\u003d \u00271\u0027 and ini[\u0027ALUA\u0027] !\u003d \u00270\u0027:"},{"line_number":816,"context_line":"                            msg \u003d (_("},{"line_number":817,"context_line":"                                \u0027Invalid ALUA value,\u0027"},{"line_number":818,"context_line":"                                \u0027ALUA value must be 1 or 0.\u0027))"},{"line_number":819,"context_line":"                            LOG.error(msg)"},{"line_number":820,"context_line":"                            raise exception.InvalidInput(msg)"}],"source_content_type":"text/x-python","patch_set":11,"id":"ba3cc151_0a95cae2","line":817,"updated":"2015-07-07 11:12:05.000000000","message":"Need a blank character after \"ALUA value\".","commit_id":"313e87dde82b1991cf314800fdd18fa38dd46053"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"920cc3a506130988a3992d23366dfc457451aeca","unresolved":false,"context_lines":[{"line_number":814,"context_line":"                    if key \u003d\u003d \u0027ALUA\u0027:"},{"line_number":815,"context_line":"                        if ini[\u0027ALUA\u0027] !\u003d \u00271\u0027 and ini[\u0027ALUA\u0027] !\u003d \u00270\u0027:"},{"line_number":816,"context_line":"                            msg \u003d (_("},{"line_number":817,"context_line":"                                \u0027Invalid ALUA value,\u0027"},{"line_number":818,"context_line":"                                \u0027ALUA value must be 1 or 0.\u0027))"},{"line_number":819,"context_line":"                            LOG.error(msg)"},{"line_number":820,"context_line":"                            raise exception.InvalidInput(msg)"}],"source_content_type":"text/x-python","patch_set":11,"id":"ba3cc151_2c8b5820","line":817,"in_reply_to":"ba3cc151_0a95cae2","updated":"2015-07-10 09:35:58.000000000","message":"Done","commit_id":"313e87dde82b1991cf314800fdd18fa38dd46053"},{"author":{"_account_id":16883,"name":"huyang","email":"huyang1@huawei.com","username":"huyang"},"change_message_id":"73259707f70f1499a73c7f71c7e08c218b55e146","unresolved":false,"context_lines":[{"line_number":850,"context_line":"        data \u003d json.dumps({\"TYPE\": \"245\"})"},{"line_number":851,"context_line":"        result \u003d self.call(url, data, \"GET\")"},{"line_number":852,"context_line":""},{"line_number":853,"context_line":"        msg \u003d \u0027Find map view error.\u0027"},{"line_number":854,"context_line":"        self._assert_rest_result(result, msg)"},{"line_number":855,"context_line":"        viewid \u003d None"},{"line_number":856,"context_line":"        if \"data\" in result:"}],"source_content_type":"text/x-python","patch_set":11,"id":"ba3cc151_cab5a27e","line":853,"updated":"2015-07-07 11:12:05.000000000","message":"map view -\u003e mapping view","commit_id":"313e87dde82b1991cf314800fdd18fa38dd46053"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"920cc3a506130988a3992d23366dfc457451aeca","unresolved":false,"context_lines":[{"line_number":850,"context_line":"        data \u003d json.dumps({\"TYPE\": \"245\"})"},{"line_number":851,"context_line":"        result \u003d self.call(url, data, \"GET\")"},{"line_number":852,"context_line":""},{"line_number":853,"context_line":"        msg \u003d \u0027Find map view error.\u0027"},{"line_number":854,"context_line":"        self._assert_rest_result(result, msg)"},{"line_number":855,"context_line":"        viewid \u003d None"},{"line_number":856,"context_line":"        if \"data\" in result:"}],"source_content_type":"text/x-python","patch_set":11,"id":"ba3cc151_4c749c35","line":853,"in_reply_to":"ba3cc151_cab5a27e","updated":"2015-07-10 09:35:58.000000000","message":"Done","commit_id":"313e87dde82b1991cf314800fdd18fa38dd46053"},{"author":{"_account_id":16258,"name":"nikesh","email":"nike.niec@gmail.com","username":"nikem"},"change_message_id":"759bd4854f6e47c623dca297eae025426043d44e","unresolved":false,"context_lines":[{"line_number":707,"context_line":"        usealua \u003d False"},{"line_number":708,"context_line":""},{"line_number":709,"context_line":"        usechap, chapinfo \u003d self.find_chap_info(iscsi_conf,"},{"line_number":710,"context_line":"                                                initiator_name)"},{"line_number":711,"context_line":"        usealua, multipathtype \u003d self._find_alua_info(iscsi_conf,"},{"line_number":712,"context_line":"                                                      initiator_name)"},{"line_number":713,"context_line":"        if usechap:"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a41bdd9_36131c5d","line":710,"updated":"2015-07-14 20:37:00.000000000","message":"only chapinfo is enough","commit_id":"0cc020c28cdd724ed8dc70acfbacb6289faff907"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"86c9b4efd55ccfd6e693395b50e4acffcc053715","unresolved":false,"context_lines":[{"line_number":707,"context_line":"        usealua \u003d False"},{"line_number":708,"context_line":""},{"line_number":709,"context_line":"        usechap, chapinfo \u003d self.find_chap_info(iscsi_conf,"},{"line_number":710,"context_line":"                                                initiator_name)"},{"line_number":711,"context_line":"        usealua, multipathtype \u003d self._find_alua_info(iscsi_conf,"},{"line_number":712,"context_line":"                                                      initiator_name)"},{"line_number":713,"context_line":"        if usechap:"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a41bdd9_be436c12","line":710,"in_reply_to":"9a41bdd9_36131c5d","updated":"2015-07-15 08:22:24.000000000","message":"Done","commit_id":"0cc020c28cdd724ed8dc70acfbacb6289faff907"},{"author":{"_account_id":16258,"name":"nikesh","email":"nike.niec@gmail.com","username":"nikem"},"change_message_id":"759bd4854f6e47c623dca297eae025426043d44e","unresolved":false,"context_lines":[{"line_number":709,"context_line":"        usechap, chapinfo \u003d self.find_chap_info(iscsi_conf,"},{"line_number":710,"context_line":"                                                initiator_name)"},{"line_number":711,"context_line":"        usealua, multipathtype \u003d self._find_alua_info(iscsi_conf,"},{"line_number":712,"context_line":"                                                      initiator_name)"},{"line_number":713,"context_line":"        if usechap:"},{"line_number":714,"context_line":"            LOG.info(_LI(\u0027Use CHAP when adding initiator to host\u0027))"},{"line_number":715,"context_line":"            self._use_chap(chapinfo, initiator_name, hostid)"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a41bdd9_561ee05f","line":712,"updated":"2015-07-14 20:37:00.000000000","message":"only multipathtype is enough","commit_id":"0cc020c28cdd724ed8dc70acfbacb6289faff907"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"86c9b4efd55ccfd6e693395b50e4acffcc053715","unresolved":false,"context_lines":[{"line_number":709,"context_line":"        usechap, chapinfo \u003d self.find_chap_info(iscsi_conf,"},{"line_number":710,"context_line":"                                                initiator_name)"},{"line_number":711,"context_line":"        usealua, multipathtype \u003d self._find_alua_info(iscsi_conf,"},{"line_number":712,"context_line":"                                                      initiator_name)"},{"line_number":713,"context_line":"        if usechap:"},{"line_number":714,"context_line":"            LOG.info(_LI(\u0027Use CHAP when adding initiator to host\u0027))"},{"line_number":715,"context_line":"            self._use_chap(chapinfo, initiator_name, hostid)"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a41bdd9_fe3d748f","line":712,"in_reply_to":"9a41bdd9_561ee05f","updated":"2015-07-15 08:22:24.000000000","message":"Done","commit_id":"0cc020c28cdd724ed8dc70acfbacb6289faff907"},{"author":{"_account_id":16258,"name":"nikesh","email":"nike.niec@gmail.com","username":"nikem"},"change_message_id":"759bd4854f6e47c623dca297eae025426043d44e","unresolved":false,"context_lines":[{"line_number":724,"context_line":"        \"\"\"Find CHAP info from xml.\"\"\""},{"line_number":725,"context_line":"        chapinfo \u003d None"},{"line_number":726,"context_line":"        chapflag \u003d False"},{"line_number":727,"context_line":""},{"line_number":728,"context_line":"        for ini in iscsi_conf[\u0027Initiator\u0027]:"},{"line_number":729,"context_line":"            if ini[\u0027Name\u0027] \u003d\u003d initiator_name:"},{"line_number":730,"context_line":"                for key in ini:"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a41bdd9_fb67ddb4","line":727,"updated":"2015-07-14 20:37:00.000000000","message":"i think only \u0027chapinfo\u0027 is enough. No need of using chapflag.\nWe can return only chapinfo.","commit_id":"0cc020c28cdd724ed8dc70acfbacb6289faff907"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"86c9b4efd55ccfd6e693395b50e4acffcc053715","unresolved":false,"context_lines":[{"line_number":724,"context_line":"        \"\"\"Find CHAP info from xml.\"\"\""},{"line_number":725,"context_line":"        chapinfo \u003d None"},{"line_number":726,"context_line":"        chapflag \u003d False"},{"line_number":727,"context_line":""},{"line_number":728,"context_line":"        for ini in iscsi_conf[\u0027Initiator\u0027]:"},{"line_number":729,"context_line":"            if ini[\u0027Name\u0027] \u003d\u003d initiator_name:"},{"line_number":730,"context_line":"                for key in ini:"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a41bdd9_9e5548c3","line":727,"in_reply_to":"9a41bdd9_fb67ddb4","updated":"2015-07-15 08:22:24.000000000","message":"Done","commit_id":"0cc020c28cdd724ed8dc70acfbacb6289faff907"},{"author":{"_account_id":16258,"name":"nikesh","email":"nike.niec@gmail.com","username":"nikem"},"change_message_id":"759bd4854f6e47c623dca297eae025426043d44e","unresolved":false,"context_lines":[{"line_number":730,"context_line":"                for key in ini:"},{"line_number":731,"context_line":"                    if key \u003d\u003d \u0027CHAPinfo\u0027:"},{"line_number":732,"context_line":"                        chapinfo \u003d ini[\u0027CHAPinfo\u0027]"},{"line_number":733,"context_line":"                        break"},{"line_number":734,"context_line":"        if chapinfo:"},{"line_number":735,"context_line":"            chapflag \u003d True"},{"line_number":736,"context_line":"        return chapflag, chapinfo"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a41bdd9_7ba2ed4c","line":733,"updated":"2015-07-14 20:37:00.000000000","message":"line 728 to 733 can be reduced by using more python concepts.","commit_id":"0cc020c28cdd724ed8dc70acfbacb6289faff907"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"86c9b4efd55ccfd6e693395b50e4acffcc053715","unresolved":false,"context_lines":[{"line_number":730,"context_line":"                for key in ini:"},{"line_number":731,"context_line":"                    if key \u003d\u003d \u0027CHAPinfo\u0027:"},{"line_number":732,"context_line":"                        chapinfo \u003d ini[\u0027CHAPinfo\u0027]"},{"line_number":733,"context_line":"                        break"},{"line_number":734,"context_line":"        if chapinfo:"},{"line_number":735,"context_line":"            chapflag \u003d True"},{"line_number":736,"context_line":"        return chapflag, chapinfo"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a41bdd9_dea2f0ad","line":733,"in_reply_to":"9a41bdd9_7ba2ed4c","updated":"2015-07-15 08:22:24.000000000","message":"Done","commit_id":"0cc020c28cdd724ed8dc70acfbacb6289faff907"},{"author":{"_account_id":16258,"name":"nikesh","email":"nike.niec@gmail.com","username":"nikem"},"change_message_id":"759bd4854f6e47c623dca297eae025426043d44e","unresolved":false,"context_lines":[{"line_number":743,"context_line":"            if ini[\u0027Name\u0027] \u003d\u003d initiator_name:"},{"line_number":744,"context_line":"                for key in ini:"},{"line_number":745,"context_line":"                    if key \u003d\u003d \u0027ALUA\u0027:"},{"line_number":746,"context_line":"                        if ini[\u0027ALUA\u0027] !\u003d \u00271\u0027 and ini[\u0027ALUA\u0027] !\u003d \u00270\u0027:"},{"line_number":747,"context_line":"                            msg \u003d (_("},{"line_number":748,"context_line":"                                \u0027Invalid ALUA value, \u0027"},{"line_number":749,"context_line":"                                \u0027ALUA value must be 1 or 0.\u0027))"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a41bdd9_5b428969","line":746,"updated":"2015-07-14 20:37:00.000000000","message":"line 740 to 746 can be reduced by using more python concepts.","commit_id":"0cc020c28cdd724ed8dc70acfbacb6289faff907"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"86c9b4efd55ccfd6e693395b50e4acffcc053715","unresolved":false,"context_lines":[{"line_number":743,"context_line":"            if ini[\u0027Name\u0027] \u003d\u003d initiator_name:"},{"line_number":744,"context_line":"                for key in ini:"},{"line_number":745,"context_line":"                    if key \u003d\u003d \u0027ALUA\u0027:"},{"line_number":746,"context_line":"                        if ini[\u0027ALUA\u0027] !\u003d \u00271\u0027 and ini[\u0027ALUA\u0027] !\u003d \u00270\u0027:"},{"line_number":747,"context_line":"                            msg \u003d (_("},{"line_number":748,"context_line":"                                \u0027Invalid ALUA value, \u0027"},{"line_number":749,"context_line":"                                \u0027ALUA value must be 1 or 0.\u0027))"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a41bdd9_fea7b4ba","line":746,"in_reply_to":"9a41bdd9_5b428969","updated":"2015-07-15 08:22:24.000000000","message":"Done","commit_id":"0cc020c28cdd724ed8dc70acfbacb6289faff907"},{"author":{"_account_id":16258,"name":"nikesh","email":"nike.niec@gmail.com","username":"nikem"},"change_message_id":"759bd4854f6e47c623dca297eae025426043d44e","unresolved":false,"context_lines":[{"line_number":758,"context_line":""},{"line_number":759,"context_line":"    def _use_chap(self, chapinfo, initiator_name, host_id):"},{"line_number":760,"context_line":"        \"\"\"Use CHAP when adding initiator to host.\"\"\""},{"line_number":761,"context_line":"        (auth_username, auth_password) \u003d chapinfo.split(\";\")"},{"line_number":762,"context_line":""},{"line_number":763,"context_line":"        url \u003d self.url + \"/iscsi_initiator/\" + initiator_name"},{"line_number":764,"context_line":"        data \u003d json.dumps({\"TYPE\": \"222\","}],"source_content_type":"text/x-python","patch_set":15,"id":"9a41bdd9_bb3875f0","line":761,"updated":"2015-07-14 20:37:00.000000000","message":"chap_username, chap_password","commit_id":"0cc020c28cdd724ed8dc70acfbacb6289faff907"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"86c9b4efd55ccfd6e693395b50e4acffcc053715","unresolved":false,"context_lines":[{"line_number":758,"context_line":""},{"line_number":759,"context_line":"    def _use_chap(self, chapinfo, initiator_name, host_id):"},{"line_number":760,"context_line":"        \"\"\"Use CHAP when adding initiator to host.\"\"\""},{"line_number":761,"context_line":"        (auth_username, auth_password) \u003d chapinfo.split(\";\")"},{"line_number":762,"context_line":""},{"line_number":763,"context_line":"        url \u003d self.url + \"/iscsi_initiator/\" + initiator_name"},{"line_number":764,"context_line":"        data \u003d json.dumps({\"TYPE\": \"222\","}],"source_content_type":"text/x-python","patch_set":15,"id":"9a41bdd9_5efb40c1","line":761,"in_reply_to":"9a41bdd9_bb3875f0","updated":"2015-07-15 08:22:24.000000000","message":"Done","commit_id":"0cc020c28cdd724ed8dc70acfbacb6289faff907"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"c7caaf3e75c75cb223aec10a9575831f4895424f","unresolved":false,"context_lines":[{"line_number":676,"context_line":""},{"line_number":677,"context_line":"    def _add_initiator_to_array(self, initiator_name):"},{"line_number":678,"context_line":"        \"\"\"Add a new initiator to storage device.\"\"\""},{"line_number":679,"context_line":""},{"line_number":680,"context_line":"        url \u003d self.url + \"/iscsi_initiator\""},{"line_number":681,"context_line":"        data \u003d json.dumps({\"TYPE\": \"222\","},{"line_number":682,"context_line":"                           \"USECHAP\": \"false\","}],"source_content_type":"text/x-python","patch_set":21,"id":"9a41bdd9_708e63d1","line":679,"updated":"2015-07-15 13:18:40.000000000","message":"Please, remove blank line here","commit_id":"01cd0d8dc930de733b9d7e4669656c52fa1aa72d"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"a668e29d7b15912191a5dca23789c951acab2066","unresolved":false,"context_lines":[{"line_number":676,"context_line":""},{"line_number":677,"context_line":"    def _add_initiator_to_array(self, initiator_name):"},{"line_number":678,"context_line":"        \"\"\"Add a new initiator to storage device.\"\"\""},{"line_number":679,"context_line":""},{"line_number":680,"context_line":"        url \u003d self.url + \"/iscsi_initiator\""},{"line_number":681,"context_line":"        data \u003d json.dumps({\"TYPE\": \"222\","},{"line_number":682,"context_line":"                           \"USECHAP\": \"false\","}],"source_content_type":"text/x-python","patch_set":21,"id":"9a41bdd9_0946b17a","line":679,"in_reply_to":"9a41bdd9_708e63d1","updated":"2015-07-16 03:15:06.000000000","message":"Done","commit_id":"01cd0d8dc930de733b9d7e4669656c52fa1aa72d"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"eac295d3b509643033d3d77af19b3f8a68baa7c9","unresolved":false,"context_lines":[{"line_number":707,"context_line":"        multipathtype \u003d self._find_alua_info(iscsi_conf,"},{"line_number":708,"context_line":"                                             initiator_name)"},{"line_number":709,"context_line":"        if chapinfo:"},{"line_number":710,"context_line":"            LOG.info(_LI(\u0027Use CHAP when adding initiator to host\u0027))"},{"line_number":711,"context_line":"            self._use_chap(chapinfo, initiator_name, host_id)"},{"line_number":712,"context_line":"        else:"},{"line_number":713,"context_line":"            self._add_initiator_to_host(initiator_name, host_id)"}],"source_content_type":"text/x-python","patch_set":23,"id":"3a50d1a3_6f25b9a9","line":710,"updated":"2015-07-20 13:30:54.000000000","message":"\".\" at EOL","commit_id":"02741df4c5e32ba26782d9d19114e8490d998004"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"9db8c7308aef1c4ab77cfa1e50056b5376561f6a","unresolved":false,"context_lines":[{"line_number":707,"context_line":"        multipathtype \u003d self._find_alua_info(iscsi_conf,"},{"line_number":708,"context_line":"                                             initiator_name)"},{"line_number":709,"context_line":"        if chapinfo:"},{"line_number":710,"context_line":"            LOG.info(_LI(\u0027Use CHAP when adding initiator to host\u0027))"},{"line_number":711,"context_line":"            self._use_chap(chapinfo, initiator_name, host_id)"},{"line_number":712,"context_line":"        else:"},{"line_number":713,"context_line":"            self._add_initiator_to_host(initiator_name, host_id)"}],"source_content_type":"text/x-python","patch_set":23,"id":"3a50d1a3_4e99bf1e","line":710,"in_reply_to":"3a50d1a3_6f25b9a9","updated":"2015-07-21 01:25:08.000000000","message":"Done","commit_id":"02741df4c5e32ba26782d9d19114e8490d998004"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"eac295d3b509643033d3d77af19b3f8a68baa7c9","unresolved":false,"context_lines":[{"line_number":713,"context_line":"            self._add_initiator_to_host(initiator_name, host_id)"},{"line_number":714,"context_line":""},{"line_number":715,"context_line":"        if multipathtype:"},{"line_number":716,"context_line":"            LOG.info(_LI(\u0027Use ALUA when adding initiator to host\u0027))"},{"line_number":717,"context_line":"            self._use_alua(initiator_name, multipathtype)"},{"line_number":718,"context_line":""},{"line_number":719,"context_line":"    def find_chap_info(self, iscsi_conf, initiator_name):"}],"source_content_type":"text/x-python","patch_set":23,"id":"3a50d1a3_2f3811d3","line":716,"updated":"2015-07-20 13:30:54.000000000","message":"\".\" at EOL","commit_id":"02741df4c5e32ba26782d9d19114e8490d998004"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"9db8c7308aef1c4ab77cfa1e50056b5376561f6a","unresolved":false,"context_lines":[{"line_number":713,"context_line":"            self._add_initiator_to_host(initiator_name, host_id)"},{"line_number":714,"context_line":""},{"line_number":715,"context_line":"        if multipathtype:"},{"line_number":716,"context_line":"            LOG.info(_LI(\u0027Use ALUA when adding initiator to host\u0027))"},{"line_number":717,"context_line":"            self._use_alua(initiator_name, multipathtype)"},{"line_number":718,"context_line":""},{"line_number":719,"context_line":"    def find_chap_info(self, iscsi_conf, initiator_name):"}],"source_content_type":"text/x-python","patch_set":23,"id":"3a50d1a3_ee9f6b01","line":716,"in_reply_to":"3a50d1a3_2f3811d3","updated":"2015-07-21 01:25:08.000000000","message":"Done","commit_id":"02741df4c5e32ba26782d9d19114e8490d998004"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"eac295d3b509643033d3d77af19b3f8a68baa7c9","unresolved":false,"context_lines":[{"line_number":735,"context_line":"                if \u0027ALUA\u0027 in ini:"},{"line_number":736,"context_line":"                    if ini[\u0027ALUA\u0027] !\u003d \u00271\u0027 and ini[\u0027ALUA\u0027] !\u003d \u00270\u0027:"},{"line_number":737,"context_line":"                        msg \u003d (_("},{"line_number":738,"context_line":"                            \u0027Invalid ALUA value, \u0027"},{"line_number":739,"context_line":"                            \u0027ALUA value must be 1 or 0.\u0027))"},{"line_number":740,"context_line":"                        LOG.error(msg)"},{"line_number":741,"context_line":"                        raise exception.InvalidInput(msg)"}],"source_content_type":"text/x-python","patch_set":23,"id":"3a50d1a3_ef48e95d","line":738,"updated":"2015-07-20 13:30:54.000000000","message":"Suggest: \"Invalid ALUA value. ALUA value must be 1 or 0. \"","commit_id":"02741df4c5e32ba26782d9d19114e8490d998004"}]}
