)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"1b43b59a89d620d1b5e9e9206d8530cad3c61665","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:48:30 -0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Remove LUN controller change, etc"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"*Change in huawei_t.py remove LUN controller change."},{"line_number":10,"context_line":"*Change in rest_common.py around line 192 to enable"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"da86d52c_125dd715","line":7,"updated":"2015-02-10 06:22:23.000000000","message":"This commit message is not acceptable. Please make it more meaningful. You can get help here https://wiki.openstack.org/wiki/GitCommitMessages ... Remove lun controller change, etc is not helpful for a summary as well. If these changes are not related, make separate bugs/commits.","commit_id":"8753e00284f71a92b74cb0dec5500390724bcb2e"},{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"1b43b59a89d620d1b5e9e9206d8530cad3c61665","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Remove LUN controller change, etc"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"*Change in huawei_t.py remove LUN controller change."},{"line_number":10,"context_line":"*Change in rest_common.py around line 192 to enable"},{"line_number":11,"context_line":" other volume type rather than only Qos volume type."},{"line_number":12,"context_line":"*Change in rest_common.py around line 1633 check whether"},{"line_number":13,"context_line":" the port is ok to use."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"da86d52c_329bbbca","line":10,"updated":"2015-02-10 06:22:23.000000000","message":"Line numbers in commit messages aren\u0027t really useful.","commit_id":"8753e00284f71a92b74cb0dec5500390724bcb2e"},{"author":{"_account_id":13900,"name":"Accela Zhao","email":"accelazh@gmail.com","username":"accelazh"},"change_message_id":"b8d92f0907c22906935e6cc20ae208cb9562cbe3","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Huawei driver remove LUN controller change"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"*Change in huawei_t.py remove LUN controller change."},{"line_number":10,"context_line":"*Change in rest_common.py to enable other volume"},{"line_number":11,"context_line":" type rather than only Qos volume type."},{"line_number":12,"context_line":"*Change in rest_common.py check whether the port is"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"da86d52c_e3036e0e","line":9,"updated":"2015-02-13 11:44:54.000000000","message":"Missing a \u0027to\u0027 before \u0027remove\u0027? Also, it would be better if you add why you modify this and how it is related to the bug.","commit_id":"9ab9dc232adbbd59410e4c81f83ff0d3178e0416"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"10bbbb0653f1e2a3d9b6e17769ae524904e46a76","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Huawei driver remove LUN controller change"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"*Change in huawei_t.py remove LUN controller change."},{"line_number":10,"context_line":"*Change in rest_common.py to enable other volume"},{"line_number":11,"context_line":" type rather than only Qos volume type."},{"line_number":12,"context_line":"*Change in rest_common.py check whether the port is"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"da86d52c_1cba77c0","line":9,"in_reply_to":"da86d52c_e3036e0e","updated":"2015-02-15 13:24:05.000000000","message":"Done","commit_id":"9ab9dc232adbbd59410e4c81f83ff0d3178e0416"},{"author":{"_account_id":13900,"name":"Accela Zhao","email":"accelazh@gmail.com","username":"accelazh"},"change_message_id":"b8d92f0907c22906935e6cc20ae208cb9562cbe3","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Huawei driver remove LUN controller change"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"*Change in huawei_t.py remove LUN controller change."},{"line_number":10,"context_line":"*Change in rest_common.py to enable other volume"},{"line_number":11,"context_line":" type rather than only Qos volume type."},{"line_number":12,"context_line":"*Change in rest_common.py check whether the port is"},{"line_number":13,"context_line":" ok to use."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"da86d52c_1efd3909","line":10,"updated":"2015-02-13 11:44:54.000000000","message":"I think you don\u0027t need to start each sentence with a \u0027*\u0027. If you intent to use markdown here, a space should be added after \u0027*\u0027.","commit_id":"9ab9dc232adbbd59410e4c81f83ff0d3178e0416"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"10bbbb0653f1e2a3d9b6e17769ae524904e46a76","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Huawei driver remove LUN controller change"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"*Change in huawei_t.py remove LUN controller change."},{"line_number":10,"context_line":"*Change in rest_common.py to enable other volume"},{"line_number":11,"context_line":" type rather than only Qos volume type."},{"line_number":12,"context_line":"*Change in rest_common.py check whether the port is"},{"line_number":13,"context_line":" ok to use."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"da86d52c_5cb4efd0","line":10,"in_reply_to":"da86d52c_1efd3909","updated":"2015-02-15 13:24:05.000000000","message":"Done","commit_id":"9ab9dc232adbbd59410e4c81f83ff0d3178e0416"},{"author":{"_account_id":13900,"name":"Accela Zhao","email":"accelazh@gmail.com","username":"accelazh"},"change_message_id":"b8d92f0907c22906935e6cc20ae208cb9562cbe3","unresolved":false,"context_lines":[{"line_number":9,"context_line":"*Change in huawei_t.py remove LUN controller change."},{"line_number":10,"context_line":"*Change in rest_common.py to enable other volume"},{"line_number":11,"context_line":" type rather than only Qos volume type."},{"line_number":12,"context_line":"*Change in rest_common.py check whether the port is"},{"line_number":13,"context_line":" ok to use."},{"line_number":14,"context_line":"*Change in ssh_common.py chose the pool which have max"},{"line_number":15,"context_line":" continuum space to create thick LUN."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"da86d52c_7e2395a7","line":12,"updated":"2015-02-13 11:44:54.000000000","message":"Missing \u0027to\u0027?","commit_id":"9ab9dc232adbbd59410e4c81f83ff0d3178e0416"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"10bbbb0653f1e2a3d9b6e17769ae524904e46a76","unresolved":false,"context_lines":[{"line_number":9,"context_line":"*Change in huawei_t.py remove LUN controller change."},{"line_number":10,"context_line":"*Change in rest_common.py to enable other volume"},{"line_number":11,"context_line":" type rather than only Qos volume type."},{"line_number":12,"context_line":"*Change in rest_common.py check whether the port is"},{"line_number":13,"context_line":" ok to use."},{"line_number":14,"context_line":"*Change in ssh_common.py chose the pool which have max"},{"line_number":15,"context_line":" continuum space to create thick LUN."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"da86d52c_3ce65be9","line":12,"in_reply_to":"da86d52c_7e2395a7","updated":"2015-02-15 13:24:05.000000000","message":"Done","commit_id":"9ab9dc232adbbd59410e4c81f83ff0d3178e0416"},{"author":{"_account_id":13900,"name":"Accela Zhao","email":"accelazh@gmail.com","username":"accelazh"},"change_message_id":"b8d92f0907c22906935e6cc20ae208cb9562cbe3","unresolved":false,"context_lines":[{"line_number":11,"context_line":" type rather than only Qos volume type."},{"line_number":12,"context_line":"*Change in rest_common.py check whether the port is"},{"line_number":13,"context_line":" ok to use."},{"line_number":14,"context_line":"*Change in ssh_common.py chose the pool which have max"},{"line_number":15,"context_line":" continuum space to create thick LUN."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Closes-Bug: #1417068"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"da86d52c_de31e1ee","line":14,"updated":"2015-02-13 11:44:54.000000000","message":"Missing \u0027to\u0027?","commit_id":"9ab9dc232adbbd59410e4c81f83ff0d3178e0416"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"10bbbb0653f1e2a3d9b6e17769ae524904e46a76","unresolved":false,"context_lines":[{"line_number":11,"context_line":" type rather than only Qos volume type."},{"line_number":12,"context_line":"*Change in rest_common.py check whether the port is"},{"line_number":13,"context_line":" ok to use."},{"line_number":14,"context_line":"*Change in ssh_common.py chose the pool which have max"},{"line_number":15,"context_line":" continuum space to create thick LUN."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Closes-Bug: #1417068"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"da86d52c_5ceb0fb0","line":14,"in_reply_to":"da86d52c_de31e1ee","updated":"2015-02-15 13:24:05.000000000","message":"Done","commit_id":"9ab9dc232adbbd59410e4c81f83ff0d3178e0416"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"73fdbccfacf6af4c784ec67c73d1812d02bd7e32","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Huawei driver remove LUN controller change"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"* Change in huawei_t.py removees LUN controller change."},{"line_number":10,"context_line":"* Change in rest_common.py enables other volume"},{"line_number":11,"context_line":"  type rather than only QoS volume type."},{"line_number":12,"context_line":"* Change in rest_common.py checkes whether the port is"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"ba7be1f8_31d5e4e4","line":9,"updated":"2015-02-26 14:22:54.000000000","message":"/removees/removes/","commit_id":"274acb2320a23bc6251c2f8fbd01595ca494c463"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"5963146cca9f0dbb5a2286df0c233e69dcee0927","unresolved":false,"context_lines":[{"line_number":9,"context_line":"* Change in huawei_t.py removes LUN controller change."},{"line_number":10,"context_line":"* Change in rest_common.py enables other volume"},{"line_number":11,"context_line":"  type rather than only QoS volume type."},{"line_number":12,"context_line":"* Change in rest_common.py checkes whether the port is"},{"line_number":13,"context_line":"  ok to use."},{"line_number":14,"context_line":"* Change in ssh_common.py choses the pool which have max"},{"line_number":15,"context_line":"  continuum space to create thick LUN."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":14,"id":"9a80dd14_148e3a2e","line":12,"updated":"2015-03-14 00:09:45.000000000","message":"checkes -\u003e checks","commit_id":"b15b1379533475a3a0f5ebf8b5010c1d2b4118c6"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"e0ace7bf501330dcdd401c7000a80be2a9bc630c","unresolved":false,"context_lines":[{"line_number":11,"context_line":"  type rather than only QoS volume type."},{"line_number":12,"context_line":"* Change in rest_common.py checkes whether the port is"},{"line_number":13,"context_line":"  ok to use."},{"line_number":14,"context_line":"* Change in ssh_common.py choses the pool which have max"},{"line_number":15,"context_line":"  continuum space to create thick LUN."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Closes-Bug: #1417068"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":14,"id":"9a80dd14_e413c559","line":14,"updated":"2015-03-13 18:14:07.000000000","message":"choses -\u003e chooses\n\nhave -\u003e has","commit_id":"b15b1379533475a3a0f5ebf8b5010c1d2b4118c6"}],"cinder/tests/test_huawei_18000.py":[{"author":{"_account_id":13900,"name":"Accela Zhao","email":"accelazh@gmail.com","username":"accelazh"},"change_message_id":"2fbd49d8c61d143c292bbe741fda46e94da3d983","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":10,"id":"9a80dd14_14a4b506","line":21,"updated":"2015-03-06 14:24:18.000000000","message":"H302 import only modules.","commit_id":"06aa41961352bc4554e161736245a536d2db1189"}],"cinder/tests/test_huawei_t_dorado.py":[{"author":{"_account_id":13900,"name":"Accela Zhao","email":"accelazh@gmail.com","username":"accelazh"},"change_message_id":"2fbd49d8c61d143c292bbe741fda46e94da3d983","unresolved":false,"context_lines":[{"line_number":23,"context_line":"import socket"},{"line_number":24,"context_line":"import tempfile"},{"line_number":25,"context_line":"import time"},{"line_number":26,"context_line":"from xml.dom.minidom import Document"},{"line_number":27,"context_line":"from xml.etree import ElementTree as ET"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"import mox"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a80dd14_147bd57b","line":26,"updated":"2015-03-06 14:24:18.000000000","message":"H302  import only modules.","commit_id":"06aa41961352bc4554e161736245a536d2db1189"},{"author":{"_account_id":13900,"name":"Accela Zhao","email":"accelazh@gmail.com","username":"accelazh"},"change_message_id":"2fbd49d8c61d143c292bbe741fda46e94da3d983","unresolved":false,"context_lines":[{"line_number":34,"context_line":"from cinder import test"},{"line_number":35,"context_line":"from cinder.volume import configuration as conf"},{"line_number":36,"context_line":"from cinder.volume.drivers.huawei import huawei_utils"},{"line_number":37,"context_line":"from cinder.volume.drivers.huawei import HuaweiVolumeDriver"},{"line_number":38,"context_line":"from cinder.volume.drivers.huawei import ssh_common"},{"line_number":39,"context_line":"from cinder.volume import volume_types"},{"line_number":40,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"9a80dd14_5498edbf","line":37,"updated":"2015-03-06 14:24:18.000000000","message":"H302  import only modules.","commit_id":"06aa41961352bc4554e161736245a536d2db1189"},{"author":{"_account_id":13900,"name":"Accela Zhao","email":"accelazh@gmail.com","username":"accelazh"},"change_message_id":"2fbd49d8c61d143c292bbe741fda46e94da3d983","unresolved":false,"context_lines":[{"line_number":508,"context_line":"    \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":509,"context_line":"                         Pool Information"},{"line_number":510,"context_line":"    --------------------------------------------------------------------"},{"line_number":511,"context_line":"      ID    Name           Level    Status    Available Capacity(MB)     "},{"line_number":512,"context_line":"    --------------------------------------------------------------------"},{"line_number":513,"context_line":"      0     RAID_001       RAID6    Normal    %s"},{"line_number":514,"context_line":"    \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a80dd14_99153ee7","line":511,"updated":"2015-03-06 14:24:18.000000000","message":"Extra tailing space.","commit_id":"06aa41961352bc4554e161736245a536d2db1189"},{"author":{"_account_id":13900,"name":"Accela Zhao","email":"accelazh@gmail.com","username":"accelazh"},"change_message_id":"2fbd49d8c61d143c292bbe741fda46e94da3d983","unresolved":false,"context_lines":[{"line_number":1233,"context_line":"        self.assertRaises(exception.VolumeBackendAPIException,"},{"line_number":1234,"context_line":"                          self.driver.create_volume, FAKE_VOLUME)"},{"line_number":1235,"context_line":""},{"line_number":1236,"context_line":"        ret \u003d self.driver.create_volume(FAKE_VOLUME)"},{"line_number":1237,"context_line":"        self.assertEqual(LUN_INFO[\u0027ID\u0027], VOLUME_SNAP_ID[\u0027vol\u0027])"},{"line_number":1238,"context_line":"        self.assertEqual(ret[\u0027provider_location\u0027], LUN_INFO[\u0027ID\u0027])"},{"line_number":1239,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"9a80dd14_b92e8241","line":1236,"updated":"2015-03-06 14:24:18.000000000","message":"Is here testing create lun cl thick? But your comment is \"Test delete lun cli exception\".","commit_id":"06aa41961352bc4554e161736245a536d2db1189"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"e0ace7bf501330dcdd401c7000a80be2a9bc630c","unresolved":false,"context_lines":[{"line_number":1459,"context_line":"        self.assertEqual(MAP_INFO[\"DEV LUN ID\"], LUN_INFO[\u0027ID\u0027])"},{"line_number":1460,"context_line":"        self.assertEqual(MAP_INFO[\"INI Port Info\"],"},{"line_number":1461,"context_line":"                         FAKE_CONNECTOR[\u0027initiator\u0027])"},{"line_number":1462,"context_line":"        self.assertEqual(LUN_INFO[\u0027Owner Controller\u0027], \u0027A\u0027)"},{"line_number":1463,"context_line":"        self.driver.terminate_connection(FAKE_VOLUME, FAKE_CONNECTOR)"},{"line_number":1464,"context_line":"        self.driver.delete_volume(FAKE_VOLUME)"},{"line_number":1465,"context_line":"        self.assertIsNone(LUN_INFO[\u0027ID\u0027])"}],"source_content_type":"text/x-python","patch_set":14,"id":"9a80dd14_d15a01f1","line":1462,"updated":"2015-03-13 18:14:07.000000000","message":"The order of the input parameters should be reversed:\n\nself.assertEqual(\u0027A\u0027, LUN_INFO[\u0027Owner Controller\u0027])","commit_id":"b15b1379533475a3a0f5ebf8b5010c1d2b4118c6"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"e0ace7bf501330dcdd401c7000a80be2a9bc630c","unresolved":false,"context_lines":[{"line_number":1463,"context_line":"        self.driver.terminate_connection(FAKE_VOLUME, FAKE_CONNECTOR)"},{"line_number":1464,"context_line":"        self.driver.delete_volume(FAKE_VOLUME)"},{"line_number":1465,"context_line":"        self.assertIsNone(LUN_INFO[\u0027ID\u0027])"},{"line_number":1466,"context_line":""},{"line_number":1467,"context_line":"    def test_terminate_connection(self):"},{"line_number":1468,"context_line":"        # Test no host was found"},{"line_number":1469,"context_line":"        self.assertRaises(exception.HostNotFound,"}],"source_content_type":"text/x-python","patch_set":14,"id":"9a80dd14_71195587","line":1466,"updated":"2015-03-13 18:14:07.000000000","message":"There are lots of changes made that affect terminate_connection, however, I don\u0027t see any new tests to cover that?","commit_id":"b15b1379533475a3a0f5ebf8b5010c1d2b4118c6"}],"cinder/volume/drivers/huawei/rest_common.py":[{"author":{"_account_id":13900,"name":"Accela Zhao","email":"accelazh@gmail.com","username":"accelazh"},"change_message_id":"b8d92f0907c22906935e6cc20ae208cb9562cbe3","unresolved":false,"context_lines":[{"line_number":190,"context_line":"        if type_id is not None:"},{"line_number":191,"context_line":"            volume_type \u003d self._get_volume_type(type_id)"},{"line_number":192,"context_line":"            qos \u003d self._get_qos_by_volume_type(volume_type)"},{"line_number":193,"context_line":"            if qos \u003d\u003d {}:"},{"line_number":194,"context_line":"                LOG.info(_LI(\u0027No QoS configuration Found.\u0027))"},{"line_number":195,"context_line":"                return lun_info"},{"line_number":196,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"da86d52c_7ee0f5fa","line":193,"updated":"2015-02-13 11:44:54.000000000","message":"I think `if not qos:` is OK","commit_id":"9ab9dc232adbbd59410e4c81f83ff0d3178e0416"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"1c461d74824808091b288410c400208af5e07c1e","unresolved":false,"context_lines":[{"line_number":190,"context_line":"        if type_id is not None:"},{"line_number":191,"context_line":"            volume_type \u003d self._get_volume_type(type_id)"},{"line_number":192,"context_line":"            qos \u003d self._get_qos_by_volume_type(volume_type)"},{"line_number":193,"context_line":"            if qos \u003d\u003d {}:"},{"line_number":194,"context_line":"                LOG.info(_LI(\u0027No QoS configuration Found.\u0027))"},{"line_number":195,"context_line":"                return lun_info"},{"line_number":196,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"da86d52c_1c08b790","line":193,"in_reply_to":"da86d52c_7ee0f5fa","updated":"2015-02-15 13:30:48.000000000","message":"Done","commit_id":"9ab9dc232adbbd59410e4c81f83ff0d3178e0416"},{"author":{"_account_id":13900,"name":"Accela Zhao","email":"accelazh@gmail.com","username":"accelazh"},"change_message_id":"b8d92f0907c22906935e6cc20ae208cb9562cbe3","unresolved":false,"context_lines":[{"line_number":191,"context_line":"            volume_type \u003d self._get_volume_type(type_id)"},{"line_number":192,"context_line":"            qos \u003d self._get_qos_by_volume_type(volume_type)"},{"line_number":193,"context_line":"            if qos \u003d\u003d {}:"},{"line_number":194,"context_line":"                LOG.info(_LI(\u0027No QoS configuration Found.\u0027))"},{"line_number":195,"context_line":"                return lun_info"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":6,"id":"da86d52c_9eda0978","line":194,"updated":"2015-02-13 11:44:54.000000000","message":"It would be better if you add more detail in the log message so that users can know which volume has problem at where.","commit_id":"9ab9dc232adbbd59410e4c81f83ff0d3178e0416"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"1c461d74824808091b288410c400208af5e07c1e","unresolved":false,"context_lines":[{"line_number":191,"context_line":"            volume_type \u003d self._get_volume_type(type_id)"},{"line_number":192,"context_line":"            qos \u003d self._get_qos_by_volume_type(volume_type)"},{"line_number":193,"context_line":"            if qos \u003d\u003d {}:"},{"line_number":194,"context_line":"                LOG.info(_LI(\u0027No QoS configuration Found.\u0027))"},{"line_number":195,"context_line":"                return lun_info"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":6,"id":"da86d52c_7cf61392","line":194,"in_reply_to":"da86d52c_9eda0978","updated":"2015-02-15 13:30:48.000000000","message":"Done","commit_id":"9ab9dc232adbbd59410e4c81f83ff0d3178e0416"},{"author":{"_account_id":13900,"name":"Accela Zhao","email":"accelazh@gmail.com","username":"accelazh"},"change_message_id":"b8d92f0907c22906935e6cc20ae208cb9562cbe3","unresolved":false,"context_lines":[{"line_number":1629,"context_line":""},{"line_number":1630,"context_line":"        if \"data\" in result:"},{"line_number":1631,"context_line":"            for item in result[\u0027data\u0027]:"},{"line_number":1632,"context_line":"                if item[\u0027IPV4ADDR\u0027] and item[\u0027HEALTHSTATUS\u0027] \u003d\u003d STATUS_HEALTH\\"},{"line_number":1633,"context_line":"                   and item[\u0027RUNNINGSTATUS\u0027] \u003d\u003d STATUS_RUNNING:"},{"line_number":1634,"context_line":"                    target_ip \u003d item[\u0027IPV4ADDR\u0027]"},{"line_number":1635,"context_line":"                    LOG.info(_LI(\u0027_get_tgt_ip_from_portgroup: Get ip: %s.\u0027),"}],"source_content_type":"text/x-python","patch_set":6,"id":"da86d52c_bec42d42","line":1632,"updated":"2015-02-13 11:44:54.000000000","message":"I think you can use parentheses to avoid \u0027\\\u0027 .","commit_id":"9ab9dc232adbbd59410e4c81f83ff0d3178e0416"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"1c461d74824808091b288410c400208af5e07c1e","unresolved":false,"context_lines":[{"line_number":1629,"context_line":""},{"line_number":1630,"context_line":"        if \"data\" in result:"},{"line_number":1631,"context_line":"            for item in result[\u0027data\u0027]:"},{"line_number":1632,"context_line":"                if item[\u0027IPV4ADDR\u0027] and item[\u0027HEALTHSTATUS\u0027] \u003d\u003d STATUS_HEALTH\\"},{"line_number":1633,"context_line":"                   and item[\u0027RUNNINGSTATUS\u0027] \u003d\u003d STATUS_RUNNING:"},{"line_number":1634,"context_line":"                    target_ip \u003d item[\u0027IPV4ADDR\u0027]"},{"line_number":1635,"context_line":"                    LOG.info(_LI(\u0027_get_tgt_ip_from_portgroup: Get ip: %s.\u0027),"}],"source_content_type":"text/x-python","patch_set":6,"id":"da86d52c_bcf08b92","line":1632,"in_reply_to":"da86d52c_bec42d42","updated":"2015-02-15 13:30:48.000000000","message":"Done","commit_id":"9ab9dc232adbbd59410e4c81f83ff0d3178e0416"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"73fdbccfacf6af4c784ec67c73d1812d02bd7e32","unresolved":false,"context_lines":[{"line_number":192,"context_line":"            qos \u003d self._get_qos_by_volume_type(volume_type)"},{"line_number":193,"context_line":"            if not qos:"},{"line_number":194,"context_line":"                LOG.info(_LI(\u0027No QoS configuration found for volume: %s.\u0027)"},{"line_number":195,"context_line":"                         % volume_name)"},{"line_number":196,"context_line":"                return lun_info"},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_f1234c02","line":195,"updated":"2015-02-26 14:22:54.000000000","message":"Change % to ,","commit_id":"274acb2320a23bc6251c2f8fbd01595ca494c463"},{"author":{"_account_id":13900,"name":"Accela Zhao","email":"accelazh@gmail.com","username":"accelazh"},"change_message_id":"2fbd49d8c61d143c292bbe741fda46e94da3d983","unresolved":false,"context_lines":[{"line_number":1651,"context_line":"                    if key \u003d\u003d \u0027TargetPortGroup\u0027:"},{"line_number":1652,"context_line":"                        portgroup \u003d ini[\u0027TargetPortGroup\u0027]"},{"line_number":1653,"context_line":"                    elif key \u003d\u003d \u0027TargetIP\u0027:"},{"line_number":1654,"context_line":"                        target_ip \u003d ini[\u0027TargetIP\u0027]"},{"line_number":1655,"context_line":""},{"line_number":1656,"context_line":"        if portgroup:"},{"line_number":1657,"context_line":"            portgroup_id \u003d self._find_tgt_port_group(portgroup)"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a80dd14_1986ae13","line":1654,"updated":"2015-03-06 14:24:18.000000000","message":"What about \u0027else\u0027? If it encounters that condition I think you could throw an exception to say something is wrong.","commit_id":"06aa41961352bc4554e161736245a536d2db1189"},{"author":{"_account_id":13900,"name":"Accela Zhao","email":"accelazh@gmail.com","username":"accelazh"},"change_message_id":"f9da8986ee2c2d01fc899f9cdbba8ea2a4c6530f","unresolved":false,"context_lines":[{"line_number":1694,"context_line":"                    if key \u003d\u003d \u0027TargetPortGroup\u0027:"},{"line_number":1695,"context_line":"                        portgroup \u003d ini[\u0027TargetPortGroup\u0027]"},{"line_number":1696,"context_line":"                    elif key \u003d\u003d \u0027TargetIP\u0027:"},{"line_number":1697,"context_line":"                        target_ip \u003d ini[\u0027TargetIP\u0027]"},{"line_number":1698,"context_line":""},{"line_number":1699,"context_line":"        if portgroup:"},{"line_number":1700,"context_line":"            portgroup_id \u003d self._find_tgt_port_group(portgroup)"}],"source_content_type":"text/x-python","patch_set":14,"id":"9a80dd14_f0d272cf","line":1697,"updated":"2015-03-16 09:05:51.000000000","message":"How would you handle the \u0027else\u0027 condition? It would be good if you add an `else: throw XXXError()` to indicate something is wrong.","commit_id":"b15b1379533475a3a0f5ebf8b5010c1d2b4118c6"}],"cinder/volume/drivers/huawei/ssh_common.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"73fdbccfacf6af4c784ec67c73d1812d02bd7e32","unresolved":false,"context_lines":[{"line_number":405,"context_line":""},{"line_number":406,"context_line":"        return conf_params"},{"line_number":407,"context_line":""},{"line_number":408,"context_line":"    def _get_MaximumCapacity(self, s):"},{"line_number":409,"context_line":"        return s[\u0027MaximumCapacity(MB)\u0027]"},{"line_number":410,"context_line":""},{"line_number":411,"context_line":"    def _get_maximum_capacity_pool_id(self, pools_conf, pools_dev, luntype):"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_d1dd68e1","line":408,"updated":"2015-02-26 14:22:54.000000000","message":"Do you really need a separate function for this? Seems like this could just be done in the place where it\u0027s needed.","commit_id":"274acb2320a23bc6251c2f8fbd01595ca494c463"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"e0ace7bf501330dcdd401c7000a80be2a9bc630c","unresolved":false,"context_lines":[{"line_number":1238,"context_line":"                        (pool_dev[5] \u003d\u003d pool_conf)):"},{"line_number":1239,"context_line":"                    total_free_capacity +\u003d float(pool_dev[3])"},{"line_number":1240,"context_line":"                    break"},{"line_number":1241,"context_line":"                elif ((pool_dev[1] \u003d\u003d pool_conf) and (lun_type \u003d\u003d \u0027Thin\u0027)):"},{"line_number":1242,"context_line":"                    total_free_capacity +\u003d float(pool_dev[4])"},{"line_number":1243,"context_line":"                    break"},{"line_number":1244,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"9a80dd14_511a91c6","line":1241,"updated":"2015-03-13 18:14:07.000000000","message":"I don\u0027t think you need the inner ().","commit_id":"b15b1379533475a3a0f5ebf8b5010c1d2b4118c6"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"5963146cca9f0dbb5a2286df0c233e69dcee0927","unresolved":false,"context_lines":[{"line_number":1238,"context_line":"                        (pool_dev[5] \u003d\u003d pool_conf)):"},{"line_number":1239,"context_line":"                    total_free_capacity +\u003d float(pool_dev[3])"},{"line_number":1240,"context_line":"                    break"},{"line_number":1241,"context_line":"                elif ((pool_dev[1] \u003d\u003d pool_conf) and (lun_type \u003d\u003d \u0027Thin\u0027)):"},{"line_number":1242,"context_line":"                    total_free_capacity +\u003d float(pool_dev[4])"},{"line_number":1243,"context_line":"                    break"},{"line_number":1244,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"9a80dd14_34597e8e","line":1241,"in_reply_to":"9a80dd14_511a91c6","updated":"2015-03-14 00:09:45.000000000","message":"Shouldn\u0027t need it.","commit_id":"b15b1379533475a3a0f5ebf8b5010c1d2b4118c6"}]}
