)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"24c3e05ec5707ea005b669e18b50e0e1b870ac79","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Bob-OpenStack \u003c295988511@qq.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-01-18 17:05:14 -0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Check whether the LUN have been associated to the LUNgroup before"},{"line_number":8,"context_line":"do the association."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"*Change in huawei_t.py removes the reduplicate wwns returned from the array."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3a961159_51cce0bb","line":7,"updated":"2015-01-20 16:25:05.000000000","message":"Numerous lines in here are too long.  Please fix.","commit_id":"1d9de0ec07c35dc6128c97a2b6533859e8ecfa4b"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"cbcc2fcf06e8b13433e4a751010ed1cdfaa80a3a","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Bob-OpenStack \u003c295988511@qq.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-02-04 19:28:00 -0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Do a check before associate a LUN to a LUN group"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This commit fixes the following problems:"},{"line_number":10,"context_line":"*Change in huawei_t.py removes the reduplicate wwns"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"da86d52c_ec77cd39","line":7,"updated":"2015-02-07 19:27:47.000000000","message":"Huawei driver check before associating LUN to a LUN group","commit_id":"80660ff7aca57096f69e6a7b21e066197a61cf16"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"fa73d613e0eb0835ffacaa7db7b03b832dd8f254","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Bob-OpenStack \u003c295988511@qq.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-02-04 19:28:00 -0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Do a check before associate a LUN to a LUN group"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This commit fixes the following problems:"},{"line_number":10,"context_line":"*Change in huawei_t.py removes the reduplicate wwns"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"da86d52c_0eaec6e7","line":7,"in_reply_to":"da86d52c_ec77cd39","updated":"2015-02-09 09:50:18.000000000","message":"Done","commit_id":"80660ff7aca57096f69e6a7b21e066197a61cf16"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"9360b5d99ca89b9b6d8c68fa768c3520314e264a","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This commit fixes the following problems:"},{"line_number":10,"context_line":"*Change in huawei_t.py removes the reduplicate wwns"},{"line_number":11,"context_line":" returned from the array."},{"line_number":12,"context_line":"*Change in rest_common.py at line 81 adds log print"},{"line_number":13,"context_line":" for response data from the array."},{"line_number":14,"context_line":"*Change in rest_common.py at line 677 and line 979 do"},{"line_number":15,"context_line":" a check before associate a LUN to a LUN group."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"da86d52c_d930ffa0","line":12,"updated":"2015-02-09 04:57:04.000000000","message":"Please remove line numbers from the commit message. You can describe the changes but line numbers are not needed.","commit_id":"80660ff7aca57096f69e6a7b21e066197a61cf16"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"fa73d613e0eb0835ffacaa7db7b03b832dd8f254","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This commit fixes the following problems:"},{"line_number":10,"context_line":"*Change in huawei_t.py removes the reduplicate wwns"},{"line_number":11,"context_line":" returned from the array."},{"line_number":12,"context_line":"*Change in rest_common.py at line 81 adds log print"},{"line_number":13,"context_line":" for response data from the array."},{"line_number":14,"context_line":"*Change in rest_common.py at line 677 and line 979 do"},{"line_number":15,"context_line":" a check before associate a LUN to a LUN group."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"da86d52c_ce566e06","line":12,"in_reply_to":"da86d52c_d930ffa0","updated":"2015-02-09 09:50:18.000000000","message":"Thanks,done.","commit_id":"80660ff7aca57096f69e6a7b21e066197a61cf16"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"9360b5d99ca89b9b6d8c68fa768c3520314e264a","unresolved":false,"context_lines":[{"line_number":16,"context_line":"*Change in rest_common.py at line 1027 and line 1040 fix"},{"line_number":17,"context_line":" the REST request."},{"line_number":18,"context_line":"*Change in ssh_common.py checks whether the hostlunid"},{"line_number":19,"context_line":" have already been asigned."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Closes-Bug: #1411904"},{"line_number":22,"context_line":"Change-Id: I862ed5d71780fb7b8cbc5ed257072ea1113fead7"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"da86d52c_99ff67aa","line":19,"updated":"2015-02-09 04:57:04.000000000","message":"assigned","commit_id":"80660ff7aca57096f69e6a7b21e066197a61cf16"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"fa73d613e0eb0835ffacaa7db7b03b832dd8f254","unresolved":false,"context_lines":[{"line_number":16,"context_line":"*Change in rest_common.py at line 1027 and line 1040 fix"},{"line_number":17,"context_line":" the REST request."},{"line_number":18,"context_line":"*Change in ssh_common.py checks whether the hostlunid"},{"line_number":19,"context_line":" have already been asigned."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Closes-Bug: #1411904"},{"line_number":22,"context_line":"Change-Id: I862ed5d71780fb7b8cbc5ed257072ea1113fead7"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"da86d52c_6e5e6214","line":19,"in_reply_to":"da86d52c_99ff67aa","updated":"2015-02-09 09:50:18.000000000","message":"Done","commit_id":"80660ff7aca57096f69e6a7b21e066197a61cf16"},{"author":{"_account_id":13900,"name":"Accela Zhao","email":"accelazh@gmail.com","username":"accelazh"},"change_message_id":"c56650e9673f66e04648ec648595236e7cb06207","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Bob-OpenStack \u003c295988511@qq.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-02-13 02:00:54 -0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Huawei driver check before associating LUN to a LUN group"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This commit fixes the following problems:"},{"line_number":10,"context_line":"*Change in huawei_t.py removes the reduplicate wwns"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"da86d52c_1218cd74","line":7,"updated":"2015-02-13 12:07:53.000000000","message":"It would be better if you describe how your code modifications are related to the bug \"Check whether the LUN have been associated to the LUNgroup before do the association\".","commit_id":"385242b137a58025521a0b52a50b2b08925e1b73"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"ccdc65429310c67196fe93e6475de33ae60bc8ca","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Bob-OpenStack \u003c295988511@qq.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-02-13 02:00:54 -0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Huawei driver check before associating LUN to a LUN group"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This commit fixes the following problems:"},{"line_number":10,"context_line":"*Change in huawei_t.py removes the reduplicate wwns"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"da86d52c_fc03e3bb","line":7,"in_reply_to":"da86d52c_1218cd74","updated":"2015-02-15 12:54:05.000000000","message":"Not all the code modifications are exactly related to this bug because some of them are too small to submit as a bug.","commit_id":"385242b137a58025521a0b52a50b2b08925e1b73"},{"author":{"_account_id":13900,"name":"Accela Zhao","email":"accelazh@gmail.com","username":"accelazh"},"change_message_id":"c56650e9673f66e04648ec648595236e7cb06207","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Huawei driver check before associating LUN to a LUN group"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This commit fixes the following problems:"},{"line_number":10,"context_line":"*Change in huawei_t.py removes the reduplicate wwns"},{"line_number":11,"context_line":" returned from the array."},{"line_number":12,"context_line":"*Change in rest_common.py adds log print for response"},{"line_number":13,"context_line":" data from the array."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"da86d52c_de03a10e","line":10,"updated":"2015-02-13 12:07:53.000000000","message":"If you intent to use markdown list, a space is needed after \u0027*\u0027.","commit_id":"385242b137a58025521a0b52a50b2b08925e1b73"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"ccdc65429310c67196fe93e6475de33ae60bc8ca","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Huawei driver check before associating LUN to a LUN group"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This commit fixes the following problems:"},{"line_number":10,"context_line":"*Change in huawei_t.py removes the reduplicate wwns"},{"line_number":11,"context_line":" returned from the array."},{"line_number":12,"context_line":"*Change in rest_common.py adds log print for response"},{"line_number":13,"context_line":" data from the array."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"da86d52c_b9c25d32","line":10,"in_reply_to":"da86d52c_de03a10e","updated":"2015-02-15 12:54:05.000000000","message":"Done","commit_id":"385242b137a58025521a0b52a50b2b08925e1b73"},{"author":{"_account_id":13900,"name":"Accela Zhao","email":"accelazh@gmail.com","username":"accelazh"},"change_message_id":"c56650e9673f66e04648ec648595236e7cb06207","unresolved":false,"context_lines":[{"line_number":11,"context_line":" returned from the array."},{"line_number":12,"context_line":"*Change in rest_common.py adds log print for response"},{"line_number":13,"context_line":" data from the array."},{"line_number":14,"context_line":"*Change in rest_common.py do a check before associate"},{"line_number":15,"context_line":" a LUN to a LUN group."},{"line_number":16,"context_line":"*Change in rest_common.py fix the REST request."},{"line_number":17,"context_line":"*Change in ssh_common.py checks whether the hostlunid"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"da86d52c_12460d50","line":14,"updated":"2015-02-13 12:07:53.000000000","message":"\u0027do\u0027 \u003d\u003e \u0027does\u0027? \u0027associate\u0027 \u003d\u003e \u0027associating\u0027?","commit_id":"385242b137a58025521a0b52a50b2b08925e1b73"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"ccdc65429310c67196fe93e6475de33ae60bc8ca","unresolved":false,"context_lines":[{"line_number":11,"context_line":" returned from the array."},{"line_number":12,"context_line":"*Change in rest_common.py adds log print for response"},{"line_number":13,"context_line":" data from the array."},{"line_number":14,"context_line":"*Change in rest_common.py do a check before associate"},{"line_number":15,"context_line":" a LUN to a LUN group."},{"line_number":16,"context_line":"*Change in rest_common.py fix the REST request."},{"line_number":17,"context_line":"*Change in ssh_common.py checks whether the hostlunid"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"da86d52c_39e66de9","line":14,"in_reply_to":"da86d52c_12460d50","updated":"2015-02-15 12:54:05.000000000","message":"Done","commit_id":"385242b137a58025521a0b52a50b2b08925e1b73"},{"author":{"_account_id":13900,"name":"Accela Zhao","email":"accelazh@gmail.com","username":"accelazh"},"change_message_id":"c56650e9673f66e04648ec648595236e7cb06207","unresolved":false,"context_lines":[{"line_number":13,"context_line":" data from the array."},{"line_number":14,"context_line":"*Change in rest_common.py do a check before associate"},{"line_number":15,"context_line":" a LUN to a LUN group."},{"line_number":16,"context_line":"*Change in rest_common.py fix the REST request."},{"line_number":17,"context_line":"*Change in ssh_common.py checks whether the hostlunid"},{"line_number":18,"context_line":" have already been assigned."},{"line_number":19,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"da86d52c_5277a59f","line":16,"updated":"2015-02-13 12:07:53.000000000","message":"\u0027fix\u0027 \u003d\u003e \u0027fixes\u0027?","commit_id":"385242b137a58025521a0b52a50b2b08925e1b73"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"ccdc65429310c67196fe93e6475de33ae60bc8ca","unresolved":false,"context_lines":[{"line_number":13,"context_line":" data from the array."},{"line_number":14,"context_line":"*Change in rest_common.py do a check before associate"},{"line_number":15,"context_line":" a LUN to a LUN group."},{"line_number":16,"context_line":"*Change in rest_common.py fix the REST request."},{"line_number":17,"context_line":"*Change in ssh_common.py checks whether the hostlunid"},{"line_number":18,"context_line":" have already been assigned."},{"line_number":19,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"da86d52c_59eb21b0","line":16,"in_reply_to":"da86d52c_5277a59f","updated":"2015-02-15 12:54:05.000000000","message":"Done","commit_id":"385242b137a58025521a0b52a50b2b08925e1b73"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"9c13e15bcae22ce516d58a1385f5f69ed230a921","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Huawei driver check before associating LUN to a LUN group"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This commit fixes the following problems:"},{"line_number":10,"context_line":"* Change in huawei_t.py removes the reduplicate wwns"},{"line_number":11,"context_line":"  returned from the array."},{"line_number":12,"context_line":"* Change in rest_common.py adds log print for response"},{"line_number":13,"context_line":"  data from the array."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"ba7be1f8_5402460a","line":10,"updated":"2015-02-26 14:30:25.000000000","message":"/reduplicate/duplicate/ ?","commit_id":"12420f2f13252225b2700bb92bed315d245e4683"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"52b3c9b435ebf362795d13df85622116a79628a4","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Huawei driver check before associating LUN to a LUN group"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This commit fixes the following problems:"},{"line_number":10,"context_line":"* Change in huawei_t.py removes the reduplicate wwns"},{"line_number":11,"context_line":"  returned from the array."},{"line_number":12,"context_line":"* Change in rest_common.py adds log print for response"},{"line_number":13,"context_line":"  data from the array."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"ba7be1f8_bad50fbb","line":10,"in_reply_to":"ba7be1f8_5402460a","updated":"2015-02-27 03:25:05.000000000","message":"I really don\u0027t know which one is the most appropriate word to use. I will have a consider about this, thanks!","commit_id":"12420f2f13252225b2700bb92bed315d245e4683"},{"author":{"_account_id":13900,"name":"Accela Zhao","email":"accelazh@gmail.com","username":"accelazh"},"change_message_id":"b1f1fcc2f6a496c928c9eeb8e3c485a6e4ca2afd","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Huawei driver check before associating LUN to a LUN group"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This commit fixes the following problems:"},{"line_number":10,"context_line":"* Change in huawei_t.py removes the reduplicate wwns"},{"line_number":11,"context_line":"  returned from the array."},{"line_number":12,"context_line":"* Change in rest_common.py adds log print for response"},{"line_number":13,"context_line":"  data from the array."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"ba7be1f8_26645648","line":10,"updated":"2015-03-02 11:40:10.000000000","message":"\"reduplicate\" \u003d\u003e \"duplicated\"?","commit_id":"12a500a6d27e94efc29c06f54924c942342005f2"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"fb2568294a12eaabfa10fbba8b62e7f7bd5603f0","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Huawei driver check before associating LUN to a LUN group"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This commit fixes the following problems:"},{"line_number":10,"context_line":"* Change in huawei_t.py removes the reduplicate wwns"},{"line_number":11,"context_line":"  returned from the array."},{"line_number":12,"context_line":"* Change in rest_common.py adds log print for response"},{"line_number":13,"context_line":"  data from the array."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"ba7be1f8_0d8f472b","line":10,"in_reply_to":"ba7be1f8_26645648","updated":"2015-03-04 11:23:53.000000000","message":"Done","commit_id":"12a500a6d27e94efc29c06f54924c942342005f2"}],"cinder/tests/test_huawei_18000.py":[{"author":{"_account_id":8412,"name":"Mike Durnosvistov","email":"glacierr.dev@gmail.com","username":"mdurnosvistov"},"change_message_id":"96facdc3111e908a4e3256bbd3df398471ba42f9","unresolved":false,"context_lines":[{"line_number":414,"context_line":"        url \u003d url.replace(\u0027http://100.115.10.69:8082/deviceManager/rest\u0027, \u0027\u0027)"},{"line_number":415,"context_line":"        url \u003d url.replace(\u0027/210235G7J20000000000/\u0027, \u0027\u0027)"},{"line_number":416,"context_line":"        data \u003d None"},{"line_number":417,"context_line":""},{"line_number":418,"context_line":"        if self.test_normal:"},{"line_number":419,"context_line":"            if url \u003d\u003d \"/xx/sessions\" or url \u003d\u003d \"sessions\":"},{"line_number":420,"context_line":"                data \u003d data_session(url)"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa81d914_52f21d9b","side":"PARENT","line":417,"updated":"2015-01-28 16:03:08.000000000","message":"unrelated changes","commit_id":"ddeb6a841a05091ef856bcadce628583aa7f9a91"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"d1994af5e6d85538fb0ec894097a977c55e5ea14","unresolved":false,"context_lines":[{"line_number":906,"context_line":"        result \u003d self.driver.common._get_wait_interval(\u0027LUNReadyWaitInterval\u0027)"},{"line_number":907,"context_line":"        self.assertEqual(\u00272\u0027, result)"},{"line_number":908,"context_line":""},{"line_number":909,"context_line":"    def testlunisassociatedtolungroup(self):"},{"line_number":910,"context_line":"        self.driver.common.login()"},{"line_number":911,"context_line":"        self.driver.common._associate_lun_to_lungroup(\u002711\u0027, \u002711\u0027)"},{"line_number":912,"context_line":"        result \u003d self.driver.common._is_lun_associate_to_lungroup(\u002711\u0027, \u002711\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_ee5897fc","line":909,"updated":"2015-02-02 07:36:48.000000000","message":"Please follow naming convention:\r\n\r\ntest_lun_is_associated_to_lun_group","commit_id":"97a6ae90430084cb26672d2bbdedd2f715c80203"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"9360b5d99ca89b9b6d8c68fa768c3520314e264a","unresolved":false,"context_lines":[{"line_number":696,"context_line":"        self.driver.common.login()"},{"line_number":697,"context_line":"        self.driver.common._associate_lun_to_lungroup(\u002711\u0027, \u002711\u0027)"},{"line_number":698,"context_line":"        result \u003d self.driver.common._is_lun_associate_to_lungroup(\u002711\u0027, \u002711\u0027)"},{"line_number":699,"context_line":"        self.assertEqual(True, result)"},{"line_number":700,"context_line":""},{"line_number":701,"context_line":"    def create_fake_conf_file(self):"},{"line_number":702,"context_line":"        \"\"\"Create a fake Config file"}],"source_content_type":"text/x-python","patch_set":7,"id":"da86d52c_999be771","line":699,"updated":"2015-02-09 04:57:04.000000000","message":"Please add a test case where lun is not associated to lun group.","commit_id":"80660ff7aca57096f69e6a7b21e066197a61cf16"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"fa73d613e0eb0835ffacaa7db7b03b832dd8f254","unresolved":false,"context_lines":[{"line_number":696,"context_line":"        self.driver.common.login()"},{"line_number":697,"context_line":"        self.driver.common._associate_lun_to_lungroup(\u002711\u0027, \u002711\u0027)"},{"line_number":698,"context_line":"        result \u003d self.driver.common._is_lun_associate_to_lungroup(\u002711\u0027, \u002711\u0027)"},{"line_number":699,"context_line":"        self.assertEqual(True, result)"},{"line_number":700,"context_line":""},{"line_number":701,"context_line":"    def create_fake_conf_file(self):"},{"line_number":702,"context_line":"        \"\"\"Create a fake Config file"}],"source_content_type":"text/x-python","patch_set":7,"id":"da86d52c_91a01ba7","line":699,"in_reply_to":"da86d52c_999be771","updated":"2015-02-09 09:50:18.000000000","message":"Done","commit_id":"80660ff7aca57096f69e6a7b21e066197a61cf16"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"87cf0bb6dba10b7d0d81df1fdd9abf2cad6dca79","unresolved":false,"context_lines":[{"line_number":711,"context_line":""},{"line_number":712,"context_line":"    def testgettgtip(self):"},{"line_number":713,"context_line":"        self.driver.common.login()"},{"line_number":714,"context_line":"        portg_id \u003d self.driver.common._find_tgtportgroup(self.tgt_portgroup)"},{"line_number":715,"context_line":"        result \u003d self.driver.common._get_tgt_ip_from_portgroup(portg_id)"},{"line_number":716,"context_line":"        self.assertEqual(self.target_ip, result)"},{"line_number":717,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"da86d52c_c7a26dad","line":714,"updated":"2015-02-11 05:41:51.000000000","message":"There\u0027s a unit test error:\n\nAttributeError: Fake18000Common instance has no attribute \u0027_find_tgtportgroup\u0027","commit_id":"932298fd98198089de0b1c0aab1f0d2a41cbbff9"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"0ad6588b389a0d2627ea526d95c1de9c9b2a1f1e","unresolved":false,"context_lines":[{"line_number":711,"context_line":""},{"line_number":712,"context_line":"    def testgettgtip(self):"},{"line_number":713,"context_line":"        self.driver.common.login()"},{"line_number":714,"context_line":"        portg_id \u003d self.driver.common._find_tgtportgroup(self.tgt_portgroup)"},{"line_number":715,"context_line":"        result \u003d self.driver.common._get_tgt_ip_from_portgroup(portg_id)"},{"line_number":716,"context_line":"        self.assertEqual(self.target_ip, result)"},{"line_number":717,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"da86d52c_ead2a35a","line":714,"in_reply_to":"da86d52c_c7a26dad","updated":"2015-02-12 04:41:55.000000000","message":"I made a mistake here, this test case should not included in this commit.","commit_id":"932298fd98198089de0b1c0aab1f0d2a41cbbff9"},{"author":{"_account_id":13900,"name":"Accela Zhao","email":"accelazh@gmail.com","username":"accelazh"},"change_message_id":"c86c77fbda7301c006a4c0a02c30a5d9d2f7824c","unresolved":false,"context_lines":[{"line_number":18,"context_line":"import shutil"},{"line_number":19,"context_line":"import tempfile"},{"line_number":20,"context_line":"import time"},{"line_number":21,"context_line":"from xml.dom.minidom import Document"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"import mock"},{"line_number":24,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"9a80dd14_34ba996e","line":21,"updated":"2015-03-06 14:35:49.000000000","message":"Import only modules.","commit_id":"8dc90331a65fc13b40685924a1c5ed3ef5f2ee07"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"1711b16af8b2a7f9ef20a4fc5fdee6435f749b98","unresolved":false,"context_lines":[{"line_number":700,"context_line":"        self.driver.common.login()"},{"line_number":701,"context_line":"        self.driver.common._associate_lun_to_lungroup(\u002711\u0027, \u002711\u0027)"},{"line_number":702,"context_line":"        result \u003d self.driver.common._is_lun_associated_to_lungroup(\u002711\u0027, \u002711\u0027)"},{"line_number":703,"context_line":"        self.assertEqual(True, result)"},{"line_number":704,"context_line":""},{"line_number":705,"context_line":"    def test_lun_is_not_associated_to_lun_group(self):"},{"line_number":706,"context_line":"        self.driver.common.login()"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_cbe400ae","line":703,"updated":"2015-03-09 13:36:23.000000000","message":"Please use assertTrue(result)","commit_id":"1de4156104b81f8f96fbcd69f93e415d72093b44"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"e03b0fe450a120e3457876aaa3bc057016f1244c","unresolved":false,"context_lines":[{"line_number":700,"context_line":"        self.driver.common.login()"},{"line_number":701,"context_line":"        self.driver.common._associate_lun_to_lungroup(\u002711\u0027, \u002711\u0027)"},{"line_number":702,"context_line":"        result \u003d self.driver.common._is_lun_associated_to_lungroup(\u002711\u0027, \u002711\u0027)"},{"line_number":703,"context_line":"        self.assertEqual(True, result)"},{"line_number":704,"context_line":""},{"line_number":705,"context_line":"    def test_lun_is_not_associated_to_lun_group(self):"},{"line_number":706,"context_line":"        self.driver.common.login()"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_27549bc9","line":703,"in_reply_to":"9a80dd14_cbe400ae","updated":"2015-03-11 03:11:19.000000000","message":"Done","commit_id":"1de4156104b81f8f96fbcd69f93e415d72093b44"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"1711b16af8b2a7f9ef20a4fc5fdee6435f749b98","unresolved":false,"context_lines":[{"line_number":707,"context_line":"        self.driver.common._associate_lun_to_lungroup(\u002712\u0027, \u002712\u0027)"},{"line_number":708,"context_line":"        self.driver.common._remove_lun_from_lungroup(\u002712\u0027, \u002712\u0027)"},{"line_number":709,"context_line":"        result \u003d self.driver.common._is_lun_associated_to_lungroup(\u002712\u0027, \u002712\u0027)"},{"line_number":710,"context_line":"        self.assertEqual(False, result)"},{"line_number":711,"context_line":""},{"line_number":712,"context_line":"    def create_fake_conf_file(self):"},{"line_number":713,"context_line":"        \"\"\"Create a fake Config file"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_6beb1478","line":710,"updated":"2015-03-09 13:36:23.000000000","message":"Please use assertFalse(result)","commit_id":"1de4156104b81f8f96fbcd69f93e415d72093b44"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"e03b0fe450a120e3457876aaa3bc057016f1244c","unresolved":false,"context_lines":[{"line_number":707,"context_line":"        self.driver.common._associate_lun_to_lungroup(\u002712\u0027, \u002712\u0027)"},{"line_number":708,"context_line":"        self.driver.common._remove_lun_from_lungroup(\u002712\u0027, \u002712\u0027)"},{"line_number":709,"context_line":"        result \u003d self.driver.common._is_lun_associated_to_lungroup(\u002712\u0027, \u002712\u0027)"},{"line_number":710,"context_line":"        self.assertEqual(False, result)"},{"line_number":711,"context_line":""},{"line_number":712,"context_line":"    def create_fake_conf_file(self):"},{"line_number":713,"context_line":"        \"\"\"Create a fake Config file"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_8762a7ab","line":710,"in_reply_to":"9a80dd14_6beb1478","updated":"2015-03-11 03:11:19.000000000","message":"Done","commit_id":"1de4156104b81f8f96fbcd69f93e415d72093b44"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"1711b16af8b2a7f9ef20a4fc5fdee6435f749b98","unresolved":false,"context_lines":[{"line_number":921,"context_line":"        self.driver.common.login()"},{"line_number":922,"context_line":"        self.driver.common._associate_lun_to_lungroup(\u002711\u0027, \u002711\u0027)"},{"line_number":923,"context_line":"        result \u003d self.driver.common._is_lun_associated_to_lungroup(\u002711\u0027, \u002711\u0027)"},{"line_number":924,"context_line":"        self.assertEqual(True, result)"},{"line_number":925,"context_line":""},{"line_number":926,"context_line":"    def test_lun_is_not_associated_to_lun_group(self):"},{"line_number":927,"context_line":"        self.driver.common.login()"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_8b8cc8db","line":924,"updated":"2015-03-09 13:36:23.000000000","message":"assertTrue","commit_id":"1de4156104b81f8f96fbcd69f93e415d72093b44"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"e03b0fe450a120e3457876aaa3bc057016f1244c","unresolved":false,"context_lines":[{"line_number":921,"context_line":"        self.driver.common.login()"},{"line_number":922,"context_line":"        self.driver.common._associate_lun_to_lungroup(\u002711\u0027, \u002711\u0027)"},{"line_number":923,"context_line":"        result \u003d self.driver.common._is_lun_associated_to_lungroup(\u002711\u0027, \u002711\u0027)"},{"line_number":924,"context_line":"        self.assertEqual(True, result)"},{"line_number":925,"context_line":""},{"line_number":926,"context_line":"    def test_lun_is_not_associated_to_lun_group(self):"},{"line_number":927,"context_line":"        self.driver.common.login()"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_6654d4ca","line":924,"in_reply_to":"9a80dd14_8b8cc8db","updated":"2015-03-11 03:11:19.000000000","message":"Done","commit_id":"1de4156104b81f8f96fbcd69f93e415d72093b44"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"1711b16af8b2a7f9ef20a4fc5fdee6435f749b98","unresolved":false,"context_lines":[{"line_number":928,"context_line":"        self.driver.common._associate_lun_to_lungroup(\u002712\u0027, \u002712\u0027)"},{"line_number":929,"context_line":"        self.driver.common._remove_lun_from_lungroup(\u002712\u0027, \u002712\u0027)"},{"line_number":930,"context_line":"        result \u003d self.driver.common._is_lun_associated_to_lungroup(\u002712\u0027, \u002712\u0027)"},{"line_number":931,"context_line":"        self.assertEqual(False, result)"},{"line_number":932,"context_line":""},{"line_number":933,"context_line":"    def create_fake_conf_file(self):"},{"line_number":934,"context_line":"        \"\"\"Create a fake Config file"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_ab87ccb3","line":931,"updated":"2015-03-09 13:36:23.000000000","message":"assertFalse","commit_id":"1de4156104b81f8f96fbcd69f93e415d72093b44"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"e03b0fe450a120e3457876aaa3bc057016f1244c","unresolved":false,"context_lines":[{"line_number":928,"context_line":"        self.driver.common._associate_lun_to_lungroup(\u002712\u0027, \u002712\u0027)"},{"line_number":929,"context_line":"        self.driver.common._remove_lun_from_lungroup(\u002712\u0027, \u002712\u0027)"},{"line_number":930,"context_line":"        result \u003d self.driver.common._is_lun_associated_to_lungroup(\u002712\u0027, \u002712\u0027)"},{"line_number":931,"context_line":"        self.assertEqual(False, result)"},{"line_number":932,"context_line":""},{"line_number":933,"context_line":"    def create_fake_conf_file(self):"},{"line_number":934,"context_line":"        \"\"\"Create a fake Config file"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_8651c8da","line":931,"in_reply_to":"9a80dd14_ab87ccb3","updated":"2015-03-11 03:11:19.000000000","message":"Done","commit_id":"1de4156104b81f8f96fbcd69f93e415d72093b44"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"e41d562ebcffe499b268ba4c55bce7283c74ed79","unresolved":false,"context_lines":[{"line_number":704,"context_line":""},{"line_number":705,"context_line":"    def test_lun_is_not_associated_to_lun_group(self):"},{"line_number":706,"context_line":"        self.driver.common.login()"},{"line_number":707,"context_line":"        self.driver.common._associate_lun_to_lungroup(\u002712\u0027, \u002712\u0027)"},{"line_number":708,"context_line":"        self.driver.common._remove_lun_from_lungroup(\u002712\u0027, \u002712\u0027)"},{"line_number":709,"context_line":"        result \u003d self.driver.common._is_lun_associated_to_lungroup(\u002712\u0027, \u002712\u0027)"},{"line_number":710,"context_line":"        self.assertFalse(result)"}],"source_content_type":"text/x-python","patch_set":18,"id":"9a80dd14_152d7346","line":707,"updated":"2015-03-13 13:55:45.000000000","message":"Should call the following after you\u0027ve added lun to lungroup and verify that it is there:\n\nresult \u003d self.driver.common._is_lun_associated_to_lungroup(\u002712\u0027, \u002712\u0027)\n\nself.assertTrue(result)","commit_id":"13474e5f721d7c80b525471a3eb632f6a69ed6d9"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"ac290766a4bb35f833637201fd892703d8608516","unresolved":false,"context_lines":[{"line_number":704,"context_line":""},{"line_number":705,"context_line":"    def test_lun_is_not_associated_to_lun_group(self):"},{"line_number":706,"context_line":"        self.driver.common.login()"},{"line_number":707,"context_line":"        self.driver.common._associate_lun_to_lungroup(\u002712\u0027, \u002712\u0027)"},{"line_number":708,"context_line":"        self.driver.common._remove_lun_from_lungroup(\u002712\u0027, \u002712\u0027)"},{"line_number":709,"context_line":"        result \u003d self.driver.common._is_lun_associated_to_lungroup(\u002712\u0027, \u002712\u0027)"},{"line_number":710,"context_line":"        self.assertFalse(result)"}],"source_content_type":"text/x-python","patch_set":18,"id":"9a80dd14_01ec3929","line":707,"in_reply_to":"9a80dd14_152d7346","updated":"2015-03-14 04:47:00.000000000","message":"Done","commit_id":"13474e5f721d7c80b525471a3eb632f6a69ed6d9"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"e41d562ebcffe499b268ba4c55bce7283c74ed79","unresolved":false,"context_lines":[{"line_number":925,"context_line":""},{"line_number":926,"context_line":"    def test_lun_is_not_associated_to_lun_group(self):"},{"line_number":927,"context_line":"        self.driver.common.login()"},{"line_number":928,"context_line":"        self.driver.common._associate_lun_to_lungroup(\u002712\u0027, \u002712\u0027)"},{"line_number":929,"context_line":"        self.driver.common._remove_lun_from_lungroup(\u002712\u0027, \u002712\u0027)"},{"line_number":930,"context_line":"        result \u003d self.driver.common._is_lun_associated_to_lungroup(\u002712\u0027, \u002712\u0027)"},{"line_number":931,"context_line":"        self.assertFalse(result)"}],"source_content_type":"text/x-python","patch_set":18,"id":"9a80dd14_55da8b4b","line":928,"updated":"2015-03-13 13:55:45.000000000","message":"Same here.","commit_id":"13474e5f721d7c80b525471a3eb632f6a69ed6d9"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"ac290766a4bb35f833637201fd892703d8608516","unresolved":false,"context_lines":[{"line_number":925,"context_line":""},{"line_number":926,"context_line":"    def test_lun_is_not_associated_to_lun_group(self):"},{"line_number":927,"context_line":"        self.driver.common.login()"},{"line_number":928,"context_line":"        self.driver.common._associate_lun_to_lungroup(\u002712\u0027, \u002712\u0027)"},{"line_number":929,"context_line":"        self.driver.common._remove_lun_from_lungroup(\u002712\u0027, \u002712\u0027)"},{"line_number":930,"context_line":"        result \u003d self.driver.common._is_lun_associated_to_lungroup(\u002712\u0027, \u002712\u0027)"},{"line_number":931,"context_line":"        self.assertFalse(result)"}],"source_content_type":"text/x-python","patch_set":18,"id":"9a80dd14_21ef7d1f","line":928,"in_reply_to":"9a80dd14_55da8b4b","updated":"2015-03-14 04:47:00.000000000","message":"Done","commit_id":"13474e5f721d7c80b525471a3eb632f6a69ed6d9"}],"cinder/volume/drivers/huawei/rest_common.py":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"d1994af5e6d85538fb0ec894097a977c55e5ea14","unresolved":false,"context_lines":[{"line_number":519,"context_line":"                LOG.debug(\u0027_wait_for_condition: %(func_name)s \u0027"},{"line_number":520,"context_line":"                          \u0027failed for %(exception)s.\u0027"},{"line_number":521,"context_line":"                          % {\u0027func_name\u0027: func.__name__,"},{"line_number":522,"context_line":"                             \u0027exception\u0027: ex})"},{"line_number":523,"context_line":"            if res:"},{"line_number":524,"context_line":"                raise loopingcall.LoopingCallDone()"},{"line_number":525,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_aee93f1c","line":522,"updated":"2015-02-02 07:36:48.000000000","message":"ex needs to be wrapped with six.text_type(), otherwise, this will raise a unicode exception.","commit_id":"97a6ae90430084cb26672d2bbdedd2f715c80203"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"9360b5d99ca89b9b6d8c68fa768c3520314e264a","unresolved":false,"context_lines":[{"line_number":976,"context_line":""},{"line_number":977,"context_line":"        return False"},{"line_number":978,"context_line":""},{"line_number":979,"context_line":"    def _is_lun_associate_to_lungroup(self, lungroup_id, lun_id):"},{"line_number":980,"context_line":"        \"\"\"Check whether the lun is associated to the lungroup.\"\"\""},{"line_number":981,"context_line":"        url_subfix \u003d (\"/lun/associate?TYPE\u003d11\u0026\""},{"line_number":982,"context_line":"                      \"ASSOCIATEOBJTYPE\u003d256\u0026ASSOCIATEOBJID\u003d%s\" % lungroup_id)"}],"source_content_type":"text/x-python","patch_set":7,"id":"da86d52c_59e32f05","line":979,"updated":"2015-02-09 04:57:04.000000000","message":"Suggest adding \"d\" after associate.\n\n_is_lun_associated_to_lungroup","commit_id":"80660ff7aca57096f69e6a7b21e066197a61cf16"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"fa73d613e0eb0835ffacaa7db7b03b832dd8f254","unresolved":false,"context_lines":[{"line_number":976,"context_line":""},{"line_number":977,"context_line":"        return False"},{"line_number":978,"context_line":""},{"line_number":979,"context_line":"    def _is_lun_associate_to_lungroup(self, lungroup_id, lun_id):"},{"line_number":980,"context_line":"        \"\"\"Check whether the lun is associated to the lungroup.\"\"\""},{"line_number":981,"context_line":"        url_subfix \u003d (\"/lun/associate?TYPE\u003d11\u0026\""},{"line_number":982,"context_line":"                      \"ASSOCIATEOBJTYPE\u003d256\u0026ASSOCIATEOBJID\u003d%s\" % lungroup_id)"}],"source_content_type":"text/x-python","patch_set":7,"id":"da86d52c_f1395742","line":979,"in_reply_to":"da86d52c_59e32f05","updated":"2015-02-09 09:50:18.000000000","message":"Done","commit_id":"80660ff7aca57096f69e6a7b21e066197a61cf16"},{"author":{"_account_id":13900,"name":"Accela Zhao","email":"accelazh@gmail.com","username":"accelazh"},"change_message_id":"c56650e9673f66e04648ec648595236e7cb06207","unresolved":false,"context_lines":[{"line_number":674,"context_line":"            # Create lungroup and add LUN into to lungroup."},{"line_number":675,"context_line":"            if lungroup_id is None:"},{"line_number":676,"context_line":"                lungroup_id \u003d self._create_lungroup(lungroup_name)"},{"line_number":677,"context_line":"            isAssociate \u003d self._is_lun_associated_to_lungroup(lungroup_id,"},{"line_number":678,"context_line":"                                                              lun_id)"},{"line_number":679,"context_line":"            if isAssociate is False:"},{"line_number":680,"context_line":"                self._associate_lun_to_lungroup(lungroup_id, lun_id)"}],"source_content_type":"text/x-python","patch_set":10,"id":"da86d52c_720d89e8","line":677,"updated":"2015-02-13 12:07:53.000000000","message":"The variable \u0027isAssociate\u0027 name doesn\u0027t follow PEP8 convention.","commit_id":"385242b137a58025521a0b52a50b2b08925e1b73"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"ccdc65429310c67196fe93e6475de33ae60bc8ca","unresolved":false,"context_lines":[{"line_number":674,"context_line":"            # Create lungroup and add LUN into to lungroup."},{"line_number":675,"context_line":"            if lungroup_id is None:"},{"line_number":676,"context_line":"                lungroup_id \u003d self._create_lungroup(lungroup_name)"},{"line_number":677,"context_line":"            isAssociate \u003d self._is_lun_associated_to_lungroup(lungroup_id,"},{"line_number":678,"context_line":"                                                              lun_id)"},{"line_number":679,"context_line":"            if isAssociate is False:"},{"line_number":680,"context_line":"                self._associate_lun_to_lungroup(lungroup_id, lun_id)"}],"source_content_type":"text/x-python","patch_set":10,"id":"da86d52c_7cf7f3d4","line":677,"in_reply_to":"da86d52c_720d89e8","updated":"2015-02-15 12:54:05.000000000","message":"Done","commit_id":"385242b137a58025521a0b52a50b2b08925e1b73"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"9c13e15bcae22ce516d58a1385f5f69ed230a921","unresolved":false,"context_lines":[{"line_number":518,"context_line":"                res \u003d False"},{"line_number":519,"context_line":"                LOG.debug(\u0027_wait_for_condition: %(func_name)s \u0027"},{"line_number":520,"context_line":"                          \u0027failed for %(exception)s.\u0027"},{"line_number":521,"context_line":"                          % {\u0027func_name\u0027: func.__name__,"},{"line_number":522,"context_line":"                             \u0027exception\u0027: six.text_type(ex)})"},{"line_number":523,"context_line":"            if res:"},{"line_number":524,"context_line":"                raise loopingcall.LoopingCallDone()"}],"source_content_type":"text/x-python","patch_set":12,"id":"ba7be1f8_747aea88","line":521,"updated":"2015-02-26 14:30:25.000000000","message":"Please change % to ,. Then you can remove the use of six.text_type as the logger takes care of properly converting that.","commit_id":"12420f2f13252225b2700bb92bed315d245e4683"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"52b3c9b435ebf362795d13df85622116a79628a4","unresolved":false,"context_lines":[{"line_number":518,"context_line":"                res \u003d False"},{"line_number":519,"context_line":"                LOG.debug(\u0027_wait_for_condition: %(func_name)s \u0027"},{"line_number":520,"context_line":"                          \u0027failed for %(exception)s.\u0027"},{"line_number":521,"context_line":"                          % {\u0027func_name\u0027: func.__name__,"},{"line_number":522,"context_line":"                             \u0027exception\u0027: six.text_type(ex)})"},{"line_number":523,"context_line":"            if res:"},{"line_number":524,"context_line":"                raise loopingcall.LoopingCallDone()"}],"source_content_type":"text/x-python","patch_set":12,"id":"ba7be1f8_3a54bf20","line":521,"in_reply_to":"ba7be1f8_747aea88","updated":"2015-02-27 03:25:05.000000000","message":"Done","commit_id":"12420f2f13252225b2700bb92bed315d245e4683"},{"author":{"_account_id":13900,"name":"Accela Zhao","email":"accelazh@gmail.com","username":"accelazh"},"change_message_id":"b1f1fcc2f6a496c928c9eeb8e3c485a6e4ca2afd","unresolved":false,"context_lines":[{"line_number":674,"context_line":"            # Create lungroup and add LUN into to lungroup."},{"line_number":675,"context_line":"            if lungroup_id is None:"},{"line_number":676,"context_line":"                lungroup_id \u003d self._create_lungroup(lungroup_name)"},{"line_number":677,"context_line":"            is_associated \u003d self._is_lun_associated_to_lungroup(lungroup_id,"},{"line_number":678,"context_line":"                                                                lun_id)"},{"line_number":679,"context_line":"            if is_associated is False:"},{"line_number":680,"context_line":"                self._associate_lun_to_lungroup(lungroup_id, lun_id)"}],"source_content_type":"text/x-python","patch_set":13,"id":"ba7be1f8_81a32c9d","line":677,"updated":"2015-03-02 11:40:10.000000000","message":"You can combine this line and the below line to one `if`","commit_id":"12a500a6d27e94efc29c06f54924c942342005f2"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"fb2568294a12eaabfa10fbba8b62e7f7bd5603f0","unresolved":false,"context_lines":[{"line_number":674,"context_line":"            # Create lungroup and add LUN into to lungroup."},{"line_number":675,"context_line":"            if lungroup_id is None:"},{"line_number":676,"context_line":"                lungroup_id \u003d self._create_lungroup(lungroup_name)"},{"line_number":677,"context_line":"            is_associated \u003d self._is_lun_associated_to_lungroup(lungroup_id,"},{"line_number":678,"context_line":"                                                                lun_id)"},{"line_number":679,"context_line":"            if is_associated is False:"},{"line_number":680,"context_line":"                self._associate_lun_to_lungroup(lungroup_id, lun_id)"}],"source_content_type":"text/x-python","patch_set":13,"id":"ba7be1f8_6dd28301","line":677,"in_reply_to":"ba7be1f8_81a32c9d","updated":"2015-03-04 11:23:53.000000000","message":"I make this line separate because it will be too long if combine this line to the next line.","commit_id":"12a500a6d27e94efc29c06f54924c942342005f2"},{"author":{"_account_id":13900,"name":"Accela Zhao","email":"accelazh@gmail.com","username":"accelazh"},"change_message_id":"b1f1fcc2f6a496c928c9eeb8e3c485a6e4ca2afd","unresolved":false,"context_lines":[{"line_number":676,"context_line":"                lungroup_id \u003d self._create_lungroup(lungroup_name)"},{"line_number":677,"context_line":"            is_associated \u003d self._is_lun_associated_to_lungroup(lungroup_id,"},{"line_number":678,"context_line":"                                                                lun_id)"},{"line_number":679,"context_line":"            if is_associated is False:"},{"line_number":680,"context_line":"                self._associate_lun_to_lungroup(lungroup_id, lun_id)"},{"line_number":681,"context_line":""},{"line_number":682,"context_line":"            if view_id is None:"}],"source_content_type":"text/x-python","patch_set":13,"id":"ba7be1f8_0189fc25","line":679,"updated":"2015-03-02 11:40:10.000000000","message":"You may use `If not is_associated`","commit_id":"12a500a6d27e94efc29c06f54924c942342005f2"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"fb2568294a12eaabfa10fbba8b62e7f7bd5603f0","unresolved":false,"context_lines":[{"line_number":676,"context_line":"                lungroup_id \u003d self._create_lungroup(lungroup_name)"},{"line_number":677,"context_line":"            is_associated \u003d self._is_lun_associated_to_lungroup(lungroup_id,"},{"line_number":678,"context_line":"                                                                lun_id)"},{"line_number":679,"context_line":"            if is_associated is False:"},{"line_number":680,"context_line":"                self._associate_lun_to_lungroup(lungroup_id, lun_id)"},{"line_number":681,"context_line":""},{"line_number":682,"context_line":"            if view_id is None:"}],"source_content_type":"text/x-python","patch_set":13,"id":"ba7be1f8_2de5ebdb","line":679,"in_reply_to":"ba7be1f8_0189fc25","updated":"2015-03-04 11:23:53.000000000","message":"Done","commit_id":"12a500a6d27e94efc29c06f54924c942342005f2"},{"author":{"_account_id":13900,"name":"Accela Zhao","email":"accelazh@gmail.com","username":"accelazh"},"change_message_id":"b1f1fcc2f6a496c928c9eeb8e3c485a6e4ca2afd","unresolved":false,"context_lines":[{"line_number":976,"context_line":""},{"line_number":977,"context_line":"        return False"},{"line_number":978,"context_line":""},{"line_number":979,"context_line":"    def _is_lun_associated_to_lungroup(self, lungroup_id, lun_id):"},{"line_number":980,"context_line":"        \"\"\"Check whether the lun is associated to the lungroup.\"\"\""},{"line_number":981,"context_line":"        url_subfix \u003d (\"/lun/associate?TYPE\u003d11\u0026\""},{"line_number":982,"context_line":"                      \"ASSOCIATEOBJTYPE\u003d256\u0026ASSOCIATEOBJID\u003d%s\" % lungroup_id)"}],"source_content_type":"text/x-python","patch_set":13,"id":"ba7be1f8_615e3878","line":979,"updated":"2015-03-02 11:40:10.000000000","message":"The \u0027lungroup\u0027 here but \u0027lun group\u0027 in test_huawei_18000.test_lun_is_associated_to_lun_group.","commit_id":"12a500a6d27e94efc29c06f54924c942342005f2"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"fb2568294a12eaabfa10fbba8b62e7f7bd5603f0","unresolved":false,"context_lines":[{"line_number":976,"context_line":""},{"line_number":977,"context_line":"        return False"},{"line_number":978,"context_line":""},{"line_number":979,"context_line":"    def _is_lun_associated_to_lungroup(self, lungroup_id, lun_id):"},{"line_number":980,"context_line":"        \"\"\"Check whether the lun is associated to the lungroup.\"\"\""},{"line_number":981,"context_line":"        url_subfix \u003d (\"/lun/associate?TYPE\u003d11\u0026\""},{"line_number":982,"context_line":"                      \"ASSOCIATEOBJTYPE\u003d256\u0026ASSOCIATEOBJID\u003d%s\" % lungroup_id)"}],"source_content_type":"text/x-python","patch_set":13,"id":"ba7be1f8_d0a4e24c","line":979,"in_reply_to":"ba7be1f8_615e3878","updated":"2015-03-04 11:23:53.000000000","message":"I have changed this in test_huawei_18000.py, thanks!","commit_id":"12a500a6d27e94efc29c06f54924c942342005f2"}],"cinder/volume/drivers/huawei/ssh_common.py":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"d1994af5e6d85538fb0ec894097a977c55e5ea14","unresolved":false,"context_lines":[{"line_number":959,"context_line":"                          \u0027hostlunid\u0027: new_hostlun_id})"},{"line_number":960,"context_line":"            out \u003d self._execute_cli(cli_cmd)"},{"line_number":961,"context_line":"            # Check whether the hostlunid have already been asigned."},{"line_number":962,"context_line":"            condition \u003d re.search(\u0027host LUN is mapped or does not exist\u0027,"},{"line_number":963,"context_line":"                                  out)"},{"line_number":964,"context_line":"            while condition:"},{"line_number":965,"context_line":"                new_hostlun_id \u003d new_hostlun_id + 1"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_ced59344","line":962,"updated":"2015-02-02 07:36:48.000000000","message":"Please use a constant for this text.","commit_id":"97a6ae90430084cb26672d2bbdedd2f715c80203"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"d1994af5e6d85538fb0ec894097a977c55e5ea14","unresolved":false,"context_lines":[{"line_number":969,"context_line":"                              \u0027lunid\u0027: volume_id,"},{"line_number":970,"context_line":"                              \u0027hostlunid\u0027: new_hostlun_id})"},{"line_number":971,"context_line":"                out \u003d self._execute_cli(cli_cmd)"},{"line_number":972,"context_line":"                condition \u003d re.search(\u0027host LUN is mapped or does not exist\u0027,"},{"line_number":973,"context_line":"                                      out)"},{"line_number":974,"context_line":""},{"line_number":975,"context_line":"            msg \u003d (\u0027Failed to map LUN %s to host %s. host LUN ID: %s\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_2ec46f91","line":972,"updated":"2015-02-02 07:36:48.000000000","message":"Same","commit_id":"97a6ae90430084cb26672d2bbdedd2f715c80203"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"9360b5d99ca89b9b6d8c68fa768c3520314e264a","unresolved":false,"context_lines":[{"line_number":148,"context_line":"        filename \u003d self.configuration.cinder_huawei_conf_file"},{"line_number":149,"context_line":"        tree \u003d ET.parse(filename)"},{"line_number":150,"context_line":"        root \u003d tree.getroot()"},{"line_number":151,"context_line":"        logininfo[\u0027ControllerIP0\u0027] \u003d \\"},{"line_number":152,"context_line":"            root.findtext(\u0027Storage/ControllerIP0\u0027).strip()"},{"line_number":153,"context_line":"        logininfo[\u0027ControllerIP1\u0027] \u003d \\"},{"line_number":154,"context_line":"            root.findtext(\u0027Storage/ControllerIP1\u0027).strip()"}],"source_content_type":"text/x-python","patch_set":7,"id":"da86d52c_f9b30308","line":151,"updated":"2015-02-09 04:57:04.000000000","message":"Suggest using () instead of \\.","commit_id":"80660ff7aca57096f69e6a7b21e066197a61cf16"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"fa73d613e0eb0835ffacaa7db7b03b832dd8f254","unresolved":false,"context_lines":[{"line_number":148,"context_line":"        filename \u003d self.configuration.cinder_huawei_conf_file"},{"line_number":149,"context_line":"        tree \u003d ET.parse(filename)"},{"line_number":150,"context_line":"        root \u003d tree.getroot()"},{"line_number":151,"context_line":"        logininfo[\u0027ControllerIP0\u0027] \u003d \\"},{"line_number":152,"context_line":"            root.findtext(\u0027Storage/ControllerIP0\u0027).strip()"},{"line_number":153,"context_line":"        logininfo[\u0027ControllerIP1\u0027] \u003d \\"},{"line_number":154,"context_line":"            root.findtext(\u0027Storage/ControllerIP1\u0027).strip()"}],"source_content_type":"text/x-python","patch_set":7,"id":"da86d52c_64c4c35f","line":151,"in_reply_to":"da86d52c_f9b30308","updated":"2015-02-09 09:50:18.000000000","message":"Done","commit_id":"80660ff7aca57096f69e6a7b21e066197a61cf16"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"9360b5d99ca89b9b6d8c68fa768c3520314e264a","unresolved":false,"context_lines":[{"line_number":959,"context_line":"                          \u0027lunid\u0027: volume_id,"},{"line_number":960,"context_line":"                          \u0027hostlunid\u0027: new_hostlun_id})"},{"line_number":961,"context_line":"            out \u003d self._execute_cli(cli_cmd)"},{"line_number":962,"context_line":"            # Check whether the hostlunid have already been asigned."},{"line_number":963,"context_line":"            condition \u003d re.search(HOST_LUN_ERR_MSG, out)"},{"line_number":964,"context_line":"            while condition:"},{"line_number":965,"context_line":"                new_hostlun_id \u003d new_hostlun_id + 1"}],"source_content_type":"text/x-python","patch_set":7,"id":"da86d52c_39cd9b87","line":962,"updated":"2015-02-09 04:57:04.000000000","message":"has","commit_id":"80660ff7aca57096f69e6a7b21e066197a61cf16"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"fa73d613e0eb0835ffacaa7db7b03b832dd8f254","unresolved":false,"context_lines":[{"line_number":959,"context_line":"                          \u0027lunid\u0027: volume_id,"},{"line_number":960,"context_line":"                          \u0027hostlunid\u0027: new_hostlun_id})"},{"line_number":961,"context_line":"            out \u003d self._execute_cli(cli_cmd)"},{"line_number":962,"context_line":"            # Check whether the hostlunid have already been asigned."},{"line_number":963,"context_line":"            condition \u003d re.search(HOST_LUN_ERR_MSG, out)"},{"line_number":964,"context_line":"            while condition:"},{"line_number":965,"context_line":"                new_hostlun_id \u003d new_hostlun_id + 1"}],"source_content_type":"text/x-python","patch_set":7,"id":"da86d52c_6472034b","line":962,"in_reply_to":"da86d52c_39cd9b87","updated":"2015-02-09 09:50:18.000000000","message":"Done","commit_id":"80660ff7aca57096f69e6a7b21e066197a61cf16"},{"author":{"_account_id":13900,"name":"Accela Zhao","email":"accelazh@gmail.com","username":"accelazh"},"change_message_id":"c56650e9673f66e04648ec648595236e7cb06207","unresolved":false,"context_lines":[{"line_number":968,"context_line":"                           % {\u0027host_id\u0027: host_id,"},{"line_number":969,"context_line":"                              \u0027lunid\u0027: volume_id,"},{"line_number":970,"context_line":"                              \u0027hostlunid\u0027: new_hostlun_id})"},{"line_number":971,"context_line":"                out \u003d self._execute_cli(cli_cmd)"},{"line_number":972,"context_line":"                condition \u003d re.search(HOST_LUN_ERR_MSG, out)"},{"line_number":973,"context_line":""},{"line_number":974,"context_line":"            msg \u003d (\u0027Failed to map LUN %s to host %s. host LUN ID: %s\u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"da86d52c_52a405b9","line":971,"updated":"2015-02-13 12:07:53.000000000","message":"What if _execute_cli raises an exception?","commit_id":"385242b137a58025521a0b52a50b2b08925e1b73"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"ccdc65429310c67196fe93e6475de33ae60bc8ca","unresolved":false,"context_lines":[{"line_number":968,"context_line":"                           % {\u0027host_id\u0027: host_id,"},{"line_number":969,"context_line":"                              \u0027lunid\u0027: volume_id,"},{"line_number":970,"context_line":"                              \u0027hostlunid\u0027: new_hostlun_id})"},{"line_number":971,"context_line":"                out \u003d self._execute_cli(cli_cmd)"},{"line_number":972,"context_line":"                condition \u003d re.search(HOST_LUN_ERR_MSG, out)"},{"line_number":973,"context_line":""},{"line_number":974,"context_line":"            msg \u003d (\u0027Failed to map LUN %s to host %s. host LUN ID: %s\u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"da86d52c_dcfe1fae","line":971,"in_reply_to":"da86d52c_52a405b9","updated":"2015-02-15 12:54:05.000000000","message":"If it raises a exception, the map_volume step will get failed. Need I do something here?","commit_id":"385242b137a58025521a0b52a50b2b08925e1b73"},{"author":{"_account_id":13900,"name":"Accela Zhao","email":"accelazh@gmail.com","username":"accelazh"},"change_message_id":"6c606e41a4539c9194433d9a271bea95de25a589","unresolved":false,"context_lines":[{"line_number":968,"context_line":"                           % {\u0027host_id\u0027: host_id,"},{"line_number":969,"context_line":"                              \u0027lunid\u0027: volume_id,"},{"line_number":970,"context_line":"                              \u0027hostlunid\u0027: new_hostlun_id})"},{"line_number":971,"context_line":"                out \u003d self._execute_cli(cli_cmd)"},{"line_number":972,"context_line":"                condition \u003d re.search(HOST_LUN_ERR_MSG, out)"},{"line_number":973,"context_line":""},{"line_number":974,"context_line":"            msg \u003d (\u0027Failed to map LUN %s to host %s. host LUN ID: %s\u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"ba7be1f8_012d7c46","line":971,"in_reply_to":"da86d52c_dcfe1fae","updated":"2015-03-02 11:30:27.000000000","message":"It is ok if self_execute_cli can just throw an exception to upper level and end the whole process. But usually it is not a good practice to throw out low level exception in high levels. You may wrap it to one from cinder/exceptions.","commit_id":"385242b137a58025521a0b52a50b2b08925e1b73"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"9c13e15bcae22ce516d58a1385f5f69ed230a921","unresolved":false,"context_lines":[{"line_number":148,"context_line":"        filename \u003d self.configuration.cinder_huawei_conf_file"},{"line_number":149,"context_line":"        tree \u003d ET.parse(filename)"},{"line_number":150,"context_line":"        root \u003d tree.getroot()"},{"line_number":151,"context_line":"        logininfo[\u0027ControllerIP0\u0027] \u003d (root.findtext(\u0027Storage/Contr\u0027"},{"line_number":152,"context_line":"                                                    \u0027ollerIP0\u0027)).strip()"},{"line_number":153,"context_line":"        logininfo[\u0027ControllerIP1\u0027] \u003d (root.findtext(\u0027Storage/Contr\u0027"},{"line_number":154,"context_line":"                                                    \u0027ollerIP1\u0027)).strip()"}],"source_content_type":"text/x-python","patch_set":12,"id":"ba7be1f8_34e1522a","line":151,"updated":"2015-02-26 14:30:25.000000000","message":"I think this was a little more readable before, just convert the line continuation \\ to wrap in () as you\u0027ve done. E.g.:\n\nloginfo[\u0027ControllerIP0\u0027] \u003d (\n    root.findtext(....)).strip()\n\nJust a suggestion though. My personal preference.","commit_id":"12420f2f13252225b2700bb92bed315d245e4683"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"52b3c9b435ebf362795d13df85622116a79628a4","unresolved":false,"context_lines":[{"line_number":148,"context_line":"        filename \u003d self.configuration.cinder_huawei_conf_file"},{"line_number":149,"context_line":"        tree \u003d ET.parse(filename)"},{"line_number":150,"context_line":"        root \u003d tree.getroot()"},{"line_number":151,"context_line":"        logininfo[\u0027ControllerIP0\u0027] \u003d (root.findtext(\u0027Storage/Contr\u0027"},{"line_number":152,"context_line":"                                                    \u0027ollerIP0\u0027)).strip()"},{"line_number":153,"context_line":"        logininfo[\u0027ControllerIP1\u0027] \u003d (root.findtext(\u0027Storage/Contr\u0027"},{"line_number":154,"context_line":"                                                    \u0027ollerIP1\u0027)).strip()"}],"source_content_type":"text/x-python","patch_set":12,"id":"ba7be1f8_bd2a692a","line":151,"in_reply_to":"ba7be1f8_34e1522a","updated":"2015-02-27 03:25:05.000000000","message":"Thanks, I think this is more readable too.","commit_id":"12420f2f13252225b2700bb92bed315d245e4683"},{"author":{"_account_id":13900,"name":"Accela Zhao","email":"accelazh@gmail.com","username":"accelazh"},"change_message_id":"b1f1fcc2f6a496c928c9eeb8e3c485a6e4ca2afd","unresolved":false,"context_lines":[{"line_number":43,"context_line":"HOST_GROUP_NAME \u003d \u0027HostGroup_OpenStack\u0027"},{"line_number":44,"context_line":"HOST_NAME_PREFIX \u003d \u0027Host_\u0027"},{"line_number":45,"context_line":"VOL_AND_SNAP_NAME_PREFIX \u003d \u0027OpenStack_\u0027"},{"line_number":46,"context_line":"HOST_LUN_ERR_MSG \u003d \u0027host LUN is mapped or does not exist\u0027"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"def ssh_read(user, channel, cmd, timeout):"}],"source_content_type":"text/x-python","patch_set":13,"id":"ba7be1f8_21ba80c0","line":46,"updated":"2015-03-02 11:40:10.000000000","message":"Capitalize the first letter?","commit_id":"12a500a6d27e94efc29c06f54924c942342005f2"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"fb2568294a12eaabfa10fbba8b62e7f7bd5603f0","unresolved":false,"context_lines":[{"line_number":43,"context_line":"HOST_GROUP_NAME \u003d \u0027HostGroup_OpenStack\u0027"},{"line_number":44,"context_line":"HOST_NAME_PREFIX \u003d \u0027Host_\u0027"},{"line_number":45,"context_line":"VOL_AND_SNAP_NAME_PREFIX \u003d \u0027OpenStack_\u0027"},{"line_number":46,"context_line":"HOST_LUN_ERR_MSG \u003d \u0027host LUN is mapped or does not exist\u0027"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"def ssh_read(user, channel, cmd, timeout):"}],"source_content_type":"text/x-python","patch_set":13,"id":"ba7be1f8_5e148343","line":46,"in_reply_to":"ba7be1f8_21ba80c0","updated":"2015-03-04 11:23:53.000000000","message":"This is part of information from the result of the array, not from the beginning. So I should not capitalize the first letter.","commit_id":"12a500a6d27e94efc29c06f54924c942342005f2"},{"author":{"_account_id":13900,"name":"Accela Zhao","email":"accelazh@gmail.com","username":"accelazh"},"change_message_id":"b1f1fcc2f6a496c928c9eeb8e3c485a6e4ca2afd","unresolved":false,"context_lines":[{"line_number":968,"context_line":"                           % {\u0027host_id\u0027: host_id,"},{"line_number":969,"context_line":"                              \u0027lunid\u0027: volume_id,"},{"line_number":970,"context_line":"                              \u0027hostlunid\u0027: new_hostlun_id})"},{"line_number":971,"context_line":"                out \u003d self._execute_cli(cli_cmd)"},{"line_number":972,"context_line":"                condition \u003d re.search(HOST_LUN_ERR_MSG, out)"},{"line_number":973,"context_line":""},{"line_number":974,"context_line":"            msg \u003d (\u0027Failed to map LUN %s to host %s. host LUN ID: %s\u0027"}],"source_content_type":"text/x-python","patch_set":13,"id":"ba7be1f8_e1edc8b8","line":971,"updated":"2015-03-02 11:40:10.000000000","message":"If self._execute_cli throws an exception and the upper level initialize_connection fails, would some clean up be needed? The HuaweiTISCSIDriver.initialize_connection invokes _add_iscsi_port_to_host before map_volume.","commit_id":"12a500a6d27e94efc29c06f54924c942342005f2"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"fb2568294a12eaabfa10fbba8b62e7f7bd5603f0","unresolved":false,"context_lines":[{"line_number":968,"context_line":"                           % {\u0027host_id\u0027: host_id,"},{"line_number":969,"context_line":"                              \u0027lunid\u0027: volume_id,"},{"line_number":970,"context_line":"                              \u0027hostlunid\u0027: new_hostlun_id})"},{"line_number":971,"context_line":"                out \u003d self._execute_cli(cli_cmd)"},{"line_number":972,"context_line":"                condition \u003d re.search(HOST_LUN_ERR_MSG, out)"},{"line_number":973,"context_line":""},{"line_number":974,"context_line":"            msg \u003d (\u0027Failed to map LUN %s to host %s. host LUN ID: %s\u0027"}],"source_content_type":"text/x-python","patch_set":13,"id":"9a80dd14_696e7ccb","line":971,"in_reply_to":"ba7be1f8_e1edc8b8","updated":"2015-03-04 11:23:53.000000000","message":"Thanks, I have added a clean up at the upper level initialize_connection.","commit_id":"12a500a6d27e94efc29c06f54924c942342005f2"}]}
