)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"017afd40fb1d5dfe8e64c89478652672c08d5c51","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix way of get LUN id in Huawei driver"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Get the LUN id firstly from the volume[\u0027provider_location\u0027],"},{"line_number":10,"context_line":"and only if volume[\u0027provider_location\u0027] is None, query the"},{"line_number":11,"context_line":"backend to get the LUN id."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1a4dcd0f_7915ece2","line":9,"updated":"2015-08-06 14:20:35.000000000","message":"s/firstly/first/","commit_id":"59cc80657811160b68af8b94863a55f1d49a0284"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"367e141aafdfcf09537ce7a533ceb08ed8a3d82d","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix way of get LUN id in Huawei driver"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Get the LUN id firstly from the volume[\u0027provider_location\u0027],"},{"line_number":10,"context_line":"and only if volume[\u0027provider_location\u0027] is None, query the"},{"line_number":11,"context_line":"backend to get the LUN id."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1a4dcd0f_b7c30f38","line":9,"in_reply_to":"1a4dcd0f_7915ece2","updated":"2015-08-10 06:33:23.000000000","message":"Done","commit_id":"59cc80657811160b68af8b94863a55f1d49a0284"},{"author":{"_account_id":8912,"name":"Ryan McNair","email":"rdmcnair@us.ibm.com","username":"rdmcnair"},"change_message_id":"e494d59239e23d080c53a8ef2761eff277158a8e","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Wilson Liu \u003cliuxinguo@huawei.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-09-18 19:35:42 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix way of get LUN id in Huawei driver"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Get the LUN id first from the volume[\u0027provider_location\u0027],"},{"line_number":10,"context_line":"and only if volume[\u0027provider_location\u0027] is None, query the"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":18,"id":"ba15a1d1_283362f7","line":7,"updated":"2015-09-18 17:03:28.000000000","message":"/s/get/getting","commit_id":"ef1c73e703024e699bafbf4e654e0e9e856f03cb"}],"cinder/tests/unit/test_huawei_drivers.py":[{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"b5064c003466c6eaff9c1add3f3f3e9467bac75c","unresolved":false,"context_lines":[{"line_number":1088,"context_line":""},{"line_number":1089,"context_line":"    def test_create_snapshot_success(self):"},{"line_number":1090,"context_line":"        self.driver.restclient.login()"},{"line_number":1091,"context_line":"        lun_info \u003d self.driver.create_snapshot(test_snap)"},{"line_number":1092,"context_line":"        self.assertEqual(11, lun_info[\u0027provider_location\u0027])"},{"line_number":1093,"context_line":""},{"line_number":1094,"context_line":"    def test_delete_snapshot_success(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a4dcd0f_87532e39","line":1091,"updated":"2015-08-10 14:22:59.000000000","message":"Do we have a test covering the case when provider_location is empty?","commit_id":"0d3471d18bb445f22b915fe5f7eb3adaccc00c8e"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"2157e549e01099c479023846dbd69e5601aad1f4","unresolved":false,"context_lines":[{"line_number":1088,"context_line":""},{"line_number":1089,"context_line":"    def test_create_snapshot_success(self):"},{"line_number":1090,"context_line":"        self.driver.restclient.login()"},{"line_number":1091,"context_line":"        lun_info \u003d self.driver.create_snapshot(test_snap)"},{"line_number":1092,"context_line":"        self.assertEqual(11, lun_info[\u0027provider_location\u0027])"},{"line_number":1093,"context_line":""},{"line_number":1094,"context_line":"    def test_delete_snapshot_success(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a4dcd0f_7d021840","line":1091,"in_reply_to":"1a4dcd0f_87532e39","updated":"2015-08-11 02:10:32.000000000","message":"Sure, I will add this test case, thanks!","commit_id":"0d3471d18bb445f22b915fe5f7eb3adaccc00c8e"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"a58f48dad300f2a2c1e53950cd41acb0dbad21bc","unresolved":false,"context_lines":[{"line_number":1227,"context_line":"# mock FC info map"},{"line_number":1228,"context_line":"MAP_COMMAND_TO_FAKE_RESPONSE[\u0027/fc_initiator?ISFREE\u003dtrue\u0026\u0027"},{"line_number":1229,"context_line":"                             \u0027range\u003d[0-8191]/GET\u0027] \u003d ("},{"line_number":1230,"context_line":"    FAKE_FC_INFO_RESPONSE)"},{"line_number":1231,"context_line":"MAP_COMMAND_TO_FAKE_RESPONSE[\u0027/fc_initiator/10000090fa0d6754/GET\u0027] \u003d ("},{"line_number":1232,"context_line":"    FAKE_FC_INFO_RESPONSE)"},{"line_number":1233,"context_line":""}],"source_content_type":"text/x-python","patch_set":19,"id":"ba15a1d1_d4948d45","line":1230,"updated":"2015-09-21 14:18:20.000000000","message":"Since this patch is needed by another patch: https://review.openstack.org/#/c/222916/, I will add a blank line here in the another patch.","commit_id":"d14160e51bb800a0b9153464df42f34370d4b307"}],"cinder/volume/drivers/huawei/huawei_driver.py":[{"author":{"_account_id":14377,"name":"Apoorva","email":"apps.desh@gmail.com","username":"apoorvad"},"change_message_id":"0afa36250e2df63d596dcba5ced03b7def944c23","unresolved":false,"context_lines":[{"line_number":375,"context_line":"        if lun_id is None:"},{"line_number":376,"context_line":"            lun_id \u003d self.restclient.get_volume_by_name(volume_name)"},{"line_number":377,"context_line":"        if lun_id is None:"},{"line_number":378,"context_line":"            msg \u003d _(\"Can\u0027t get the lun id of volume %s.\") % volume_name"},{"line_number":379,"context_line":"            LOG.error(msg)"},{"line_number":380,"context_line":"            raise Exception.CinderException(msg)"},{"line_number":381,"context_line":"        (iscsi_iqns,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_03dfb20d","line":378,"updated":"2015-08-06 05:42:44.000000000","message":"Do you want to keep the message consistent ( line #378 \u0026 line #256)?","commit_id":"1ca77f0c12e25c208e017b8ee24507aaa1f4b28d"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"91c16ac95b956fe04221a9e81ed3b13434780427","unresolved":false,"context_lines":[{"line_number":375,"context_line":"        if lun_id is None:"},{"line_number":376,"context_line":"            lun_id \u003d self.restclient.get_volume_by_name(volume_name)"},{"line_number":377,"context_line":"        if lun_id is None:"},{"line_number":378,"context_line":"            msg \u003d _(\"Can\u0027t get the lun id of volume %s.\") % volume_name"},{"line_number":379,"context_line":"            LOG.error(msg)"},{"line_number":380,"context_line":"            raise Exception.CinderException(msg)"},{"line_number":381,"context_line":"        (iscsi_iqns,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_5e7cadb4","line":378,"in_reply_to":"1a4dcd0f_03dfb20d","updated":"2015-08-06 07:05:24.000000000","message":"Sure, thanks!","commit_id":"1ca77f0c12e25c208e017b8ee24507aaa1f4b28d"},{"author":{"_account_id":14377,"name":"Apoorva","email":"apps.desh@gmail.com","username":"apoorvad"},"change_message_id":"0afa36250e2df63d596dcba5ced03b7def944c23","unresolved":false,"context_lines":[{"line_number":377,"context_line":"        if lun_id is None:"},{"line_number":378,"context_line":"            msg \u003d _(\"Can\u0027t get the lun id of volume %s.\") % volume_name"},{"line_number":379,"context_line":"            LOG.error(msg)"},{"line_number":380,"context_line":"            raise Exception.CinderException(msg)"},{"line_number":381,"context_line":"        (iscsi_iqns,"},{"line_number":382,"context_line":"         target_ips,"},{"line_number":383,"context_line":"         portgroup_id) \u003d self.restclient.get_iscsi_params(self.xml_file_path,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_a3c91e5b","line":380,"updated":"2015-08-06 05:42:44.000000000","message":"raise VolumeBackendException","commit_id":"1ca77f0c12e25c208e017b8ee24507aaa1f4b28d"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"91c16ac95b956fe04221a9e81ed3b13434780427","unresolved":false,"context_lines":[{"line_number":377,"context_line":"        if lun_id is None:"},{"line_number":378,"context_line":"            msg \u003d _(\"Can\u0027t get the lun id of volume %s.\") % volume_name"},{"line_number":379,"context_line":"            LOG.error(msg)"},{"line_number":380,"context_line":"            raise Exception.CinderException(msg)"},{"line_number":381,"context_line":"        (iscsi_iqns,"},{"line_number":382,"context_line":"         target_ips,"},{"line_number":383,"context_line":"         portgroup_id) \u003d self.restclient.get_iscsi_params(self.xml_file_path,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_de467d7a","line":380,"in_reply_to":"1a4dcd0f_a3c91e5b","updated":"2015-08-06 07:05:24.000000000","message":"Done","commit_id":"1ca77f0c12e25c208e017b8ee24507aaa1f4b28d"},{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"017afd40fb1d5dfe8e64c89478652672c08d5c51","unresolved":false,"context_lines":[{"line_number":248,"context_line":"             \u0027oldsize\u0027: volume_size,"},{"line_number":249,"context_line":"             \u0027newsize\u0027: new_volume_size},)"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"        lun_id \u003d volume.get(\u0027provider_location\u0027, None)"},{"line_number":252,"context_line":"        if lun_id is None:"},{"line_number":253,"context_line":"            lun_id \u003d self.restclient.get_volume_by_name(volume_name)"},{"line_number":254,"context_line":"        if lun_id is None:"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_b9f854c4","line":251,"updated":"2015-08-06 14:20:35.000000000","message":"The default value is None if the key does not exist, so it is not necessary to declare it here.","commit_id":"59cc80657811160b68af8b94863a55f1d49a0284"},{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"6699b85b5a48e052dc87f4be739b1c2abb5c900b","unresolved":false,"context_lines":[{"line_number":248,"context_line":"             \u0027oldsize\u0027: volume_size,"},{"line_number":249,"context_line":"             \u0027newsize\u0027: new_volume_size},)"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"        lun_id \u003d volume.get(\u0027provider_location\u0027, None)"},{"line_number":252,"context_line":"        if lun_id is None:"},{"line_number":253,"context_line":"            lun_id \u003d self.restclient.get_volume_by_name(volume_name)"},{"line_number":254,"context_line":"        if lun_id is None:"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_765016d5","line":251,"in_reply_to":"1a4dcd0f_17a0c38f","updated":"2015-08-10 13:31:50.000000000","message":"I do not believe you understand my comment.  If a dict does not have a key in it, then the default return value is None.  So volume.get(\u0027provider_location\u0027) is the same as volume.get(\u0027provider_location\u0027, None).","commit_id":"59cc80657811160b68af8b94863a55f1d49a0284"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"367e141aafdfcf09537ce7a533ceb08ed8a3d82d","unresolved":false,"context_lines":[{"line_number":248,"context_line":"             \u0027oldsize\u0027: volume_size,"},{"line_number":249,"context_line":"             \u0027newsize\u0027: new_volume_size},)"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"        lun_id \u003d volume.get(\u0027provider_location\u0027, None)"},{"line_number":252,"context_line":"        if lun_id is None:"},{"line_number":253,"context_line":"            lun_id \u003d self.restclient.get_volume_by_name(volume_name)"},{"line_number":254,"context_line":"        if lun_id is None:"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_17a0c38f","line":251,"in_reply_to":"1a4dcd0f_b9f854c4","updated":"2015-08-10 06:33:23.000000000","message":"We have put the lun id at \u0027provider_location\u0027 in our driver when create_volume, so at most time \u0027provider_location\u0027 is not None.","commit_id":"59cc80657811160b68af8b94863a55f1d49a0284"},{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"017afd40fb1d5dfe8e64c89478652672c08d5c51","unresolved":false,"context_lines":[{"line_number":371,"context_line":"            {\u0027initiator_name\u0027: initiator_name,"},{"line_number":372,"context_line":"             \u0027volume\u0027: volume_name})"},{"line_number":373,"context_line":""},{"line_number":374,"context_line":"        lun_id \u003d volume.get(\u0027provider_location\u0027, None)"},{"line_number":375,"context_line":"        if lun_id is None:"},{"line_number":376,"context_line":"            lun_id \u003d self.restclient.get_volume_by_name(volume_name)"},{"line_number":377,"context_line":"        if lun_id is None:"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_590110ae","line":374,"updated":"2015-08-06 14:20:35.000000000","message":"Ditto","commit_id":"59cc80657811160b68af8b94863a55f1d49a0284"},{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"60cabdc03550945f82a9d52d7f8d99a0b8aaab5c","unresolved":false,"context_lines":[{"line_number":371,"context_line":"            {\u0027initiator_name\u0027: initiator_name,"},{"line_number":372,"context_line":"             \u0027volume\u0027: volume_name})"},{"line_number":373,"context_line":""},{"line_number":374,"context_line":"        lun_id \u003d volume.get(\u0027provider_location\u0027, None)"},{"line_number":375,"context_line":"        if lun_id is None:"},{"line_number":376,"context_line":"            lun_id \u003d self.restclient.get_volume_by_name(volume_name)"},{"line_number":377,"context_line":"        if lun_id is None:"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_79716c43","line":374,"in_reply_to":"1a4dcd0f_590110ae","updated":"2015-08-06 14:21:52.000000000","message":"Here you could do:\n\nlun_id \u003d volume.get(\u0027provider_location\u0027) or self.restclient.get_volume_by_name(volume_name)\n\nthen you could remove L375-376.","commit_id":"59cc80657811160b68af8b94863a55f1d49a0284"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"367e141aafdfcf09537ce7a533ceb08ed8a3d82d","unresolved":false,"context_lines":[{"line_number":371,"context_line":"            {\u0027initiator_name\u0027: initiator_name,"},{"line_number":372,"context_line":"             \u0027volume\u0027: volume_name})"},{"line_number":373,"context_line":""},{"line_number":374,"context_line":"        lun_id \u003d volume.get(\u0027provider_location\u0027, None)"},{"line_number":375,"context_line":"        if lun_id is None:"},{"line_number":376,"context_line":"            lun_id \u003d self.restclient.get_volume_by_name(volume_name)"},{"line_number":377,"context_line":"        if lun_id is None:"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_77b587ce","line":374,"in_reply_to":"1a4dcd0f_79716c43","updated":"2015-08-10 06:33:23.000000000","message":"Ditto","commit_id":"59cc80657811160b68af8b94863a55f1d49a0284"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"22d36d644d60440e56058db98400571d1c5b8c17","unresolved":false,"context_lines":[{"line_number":407,"context_line":"        hostgroup_id \u003d self.restclient.add_host_into_hostgroup(host_id)"},{"line_number":408,"context_line":""},{"line_number":409,"context_line":"        # Mapping lungroup and hostgroup to view."},{"line_number":410,"context_line":"        self.restclient.mapping_hostgroup_and_lungroup(lun_id,"},{"line_number":411,"context_line":"                                                       hostgroup_id,"},{"line_number":412,"context_line":"                                                       host_id,"},{"line_number":413,"context_line":"                                                       portgroup_id)"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a4dcd0f_1f06431c","line":410,"updated":"2015-08-11 14:24:50.000000000","message":"So this was just \"wrong\" before?  There\u0027s no return to worry about?  What does this call do?\n\nGiven it was obviously wrong before and you seemed to run CI sometimes does this even matter?","commit_id":"5215fd8e5e38433617d0adb978cb08dfda35366b"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"5b139aa471d78f9c059237acb6fe9513794f6949","unresolved":false,"context_lines":[{"line_number":407,"context_line":"        hostgroup_id \u003d self.restclient.add_host_into_hostgroup(host_id)"},{"line_number":408,"context_line":""},{"line_number":409,"context_line":"        # Mapping lungroup and hostgroup to view."},{"line_number":410,"context_line":"        self.restclient.mapping_hostgroup_and_lungroup(lun_id,"},{"line_number":411,"context_line":"                                                       hostgroup_id,"},{"line_number":412,"context_line":"                                                       host_id,"},{"line_number":413,"context_line":"                                                       portgroup_id)"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a4dcd0f_1e05c50f","line":410,"in_reply_to":"1a4dcd0f_1f06431c","updated":"2015-08-12 05:05:14.000000000","message":"This was not wrong before, just not efficient enough. In fact we can just get the lun_id from volume[\u0027provider_location\u0027], no need to query from array. Only when \u0027provider_location\u0027 is empty, then we need to query from array. So in fact this is a optimization. Thanks!","commit_id":"5215fd8e5e38433617d0adb978cb08dfda35366b"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"22d36d644d60440e56058db98400571d1c5b8c17","unresolved":false,"context_lines":[{"line_number":576,"context_line":"    def migrate_volume(self, context, volume, host):"},{"line_number":577,"context_line":"        return (False, None)"},{"line_number":578,"context_line":""},{"line_number":579,"context_line":"    def create_export(self, context, volume):"},{"line_number":580,"context_line":"        \"\"\"Export a volume.\"\"\""},{"line_number":581,"context_line":"        pass"},{"line_number":582,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1a4dcd0f_f475beca","line":579,"updated":"2015-08-11 14:24:50.000000000","message":"You need to put the connector back in here, this was part of change:\nhttps://github.com/openstack/cinder/commit/ecab4005f08781581d3d9239e7145fca2a259b35","commit_id":"5215fd8e5e38433617d0adb978cb08dfda35366b"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"83d5ad559daab527c1b9179d2654262a80881381","unresolved":false,"context_lines":[{"line_number":407,"context_line":"        hostgroup_id \u003d self.restclient.add_host_into_hostgroup(host_id)"},{"line_number":408,"context_line":""},{"line_number":409,"context_line":"        # Mapping lungroup and hostgroup to view."},{"line_number":410,"context_line":"        self.restclient.mapping_hostgroup_and_lungroup(lun_id,"},{"line_number":411,"context_line":"                                                       hostgroup_id,"},{"line_number":412,"context_line":"                                                       host_id,"},{"line_number":413,"context_line":"                                                       portgroup_id)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_0ca3ec01","line":410,"updated":"2015-08-14 03:16:55.000000000","message":"You were using the lun_id response in the existing code, now you\u0027re no longer grabbing that return value, that\u0027s what I mean by \"does this do anything\"","commit_id":"9364319e3c82bed88b3b3ab009b063c9e9702715"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"96a42ff7e185de148b42f9ec8796cec557991387","unresolved":false,"context_lines":[{"line_number":407,"context_line":"        hostgroup_id \u003d self.restclient.add_host_into_hostgroup(host_id)"},{"line_number":408,"context_line":""},{"line_number":409,"context_line":"        # Mapping lungroup and hostgroup to view."},{"line_number":410,"context_line":"        self.restclient.mapping_hostgroup_and_lungroup(lun_id,"},{"line_number":411,"context_line":"                                                       hostgroup_id,"},{"line_number":412,"context_line":"                                                       host_id,"},{"line_number":413,"context_line":"                                                       portgroup_id)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_67c38239","line":410,"in_reply_to":"1a4dcd0f_0ca3ec01","updated":"2015-08-14 20:07:25.000000000","message":"This does look confusing.\n\nOn line 333 above, you are still passing in volume_name and get lun_id in return:\n\nlun_id \u003d self.restclient.mapping_hostgroup_and_lungroup(volume_name\n\nWhy is it changed here to pass in lun_id but not returning anything?","commit_id":"9364319e3c82bed88b3b3ab009b063c9e9702715"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"1fe0fd4af9ac0339faedb229e90590456ac61f21","unresolved":false,"context_lines":[{"line_number":407,"context_line":"        hostgroup_id \u003d self.restclient.add_host_into_hostgroup(host_id)"},{"line_number":408,"context_line":""},{"line_number":409,"context_line":"        # Mapping lungroup and hostgroup to view."},{"line_number":410,"context_line":"        self.restclient.mapping_hostgroup_and_lungroup(lun_id,"},{"line_number":411,"context_line":"                                                       hostgroup_id,"},{"line_number":412,"context_line":"                                                       host_id,"},{"line_number":413,"context_line":"                                                       portgroup_id)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_38c33e3a","line":410,"in_reply_to":"1a4dcd0f_67c38239","updated":"2015-08-16 13:31:32.000000000","message":"yes, we should not return lun_id in function \u0027mapping_hostgroup_and_lungroup\u0027 anymore, and line 333 need to change too, thanks!","commit_id":"9364319e3c82bed88b3b3ab009b063c9e9702715"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"0fa25886f4a70720d62d1cfad062cd7a004992e8","unresolved":false,"context_lines":[{"line_number":487,"context_line":"        lun_id \u003d volume.get(\u0027provider_location\u0027, None)"},{"line_number":488,"context_line":"        if not lun_id:"},{"line_number":489,"context_line":"            lun_id \u003d self.restclient.get_volume_by_name(volume_name)"},{"line_number":490,"context_line":"        if not lun_id:"},{"line_number":491,"context_line":"            msg \u003d (_("},{"line_number":492,"context_line":"                \"Can\u0027t find lun info on the array, lun name is: %(name)s.\")"},{"line_number":493,"context_line":"                % {\u0027name\u0027: volume_name})"}],"source_content_type":"text/x-python","patch_set":11,"id":"fa1b9901_2c742bfc","line":490,"updated":"2015-08-26 03:45:13.000000000","message":"Repeat of Line 488.\nYou can use lun_id \u003d volume.get(\u0027provider_location\u0027) or self.restclient.get_volume_by_name(volume_name)\n\nthen if not lun_id:","commit_id":"e3f7e92ff8cb11bcaf529395fc6c96d04b76d17c"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"55d63a5badce029176ecb6e7d5db34fbd37543de","unresolved":false,"context_lines":[{"line_number":487,"context_line":"        lun_id \u003d volume.get(\u0027provider_location\u0027, None)"},{"line_number":488,"context_line":"        if not lun_id:"},{"line_number":489,"context_line":"            lun_id \u003d self.restclient.get_volume_by_name(volume_name)"},{"line_number":490,"context_line":"        if not lun_id:"},{"line_number":491,"context_line":"            msg \u003d (_("},{"line_number":492,"context_line":"                \"Can\u0027t find lun info on the array, lun name is: %(name)s.\")"},{"line_number":493,"context_line":"                % {\u0027name\u0027: volume_name})"}],"source_content_type":"text/x-python","patch_set":11,"id":"fa1b9901_0837c14d","line":490,"in_reply_to":"fa1b9901_2c742bfc","updated":"2015-08-26 11:15:46.000000000","message":"Good suggestion, thanks!","commit_id":"e3f7e92ff8cb11bcaf529395fc6c96d04b76d17c"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"81d305013f95e48c36744f501644cc8979a81727","unresolved":false,"context_lines":[{"line_number":569,"context_line":"        lun_id \u003d volume.get(\u0027provider_location\u0027, None)"},{"line_number":570,"context_line":"        if not lun_id:"},{"line_number":571,"context_line":"            lun_id \u003d self.restclient.get_volume_by_name(volume_name)"},{"line_number":572,"context_line":"        if not lun_id:"},{"line_number":573,"context_line":"            msg \u003d (_("},{"line_number":574,"context_line":"                \"Can\u0027t find lun info on the array, lun name is: %(name)s.\")"},{"line_number":575,"context_line":"                % {\u0027name\u0027: volume_name})"}],"source_content_type":"text/x-python","patch_set":11,"id":"fa1b9901_ac56fb5b","line":572,"updated":"2015-08-26 03:43:33.000000000","message":"repeat of Line 570","commit_id":"e3f7e92ff8cb11bcaf529395fc6c96d04b76d17c"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"55d63a5badce029176ecb6e7d5db34fbd37543de","unresolved":false,"context_lines":[{"line_number":569,"context_line":"        lun_id \u003d volume.get(\u0027provider_location\u0027, None)"},{"line_number":570,"context_line":"        if not lun_id:"},{"line_number":571,"context_line":"            lun_id \u003d self.restclient.get_volume_by_name(volume_name)"},{"line_number":572,"context_line":"        if not lun_id:"},{"line_number":573,"context_line":"            msg \u003d (_("},{"line_number":574,"context_line":"                \"Can\u0027t find lun info on the array, lun name is: %(name)s.\")"},{"line_number":575,"context_line":"                % {\u0027name\u0027: volume_name})"}],"source_content_type":"text/x-python","patch_set":11,"id":"fa1b9901_e8084d82","line":572,"in_reply_to":"fa1b9901_ac56fb5b","updated":"2015-08-26 11:15:46.000000000","message":"Done","commit_id":"e3f7e92ff8cb11bcaf529395fc6c96d04b76d17c"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"81d305013f95e48c36744f501644cc8979a81727","unresolved":false,"context_lines":[{"line_number":646,"context_line":"        lun_id \u003d volume.get(\u0027provider_location\u0027, None)"},{"line_number":647,"context_line":"        if not lun_id:"},{"line_number":648,"context_line":"            lun_id \u003d self.restclient.get_volume_by_name(volume_name)"},{"line_number":649,"context_line":"        if not lun_id:"},{"line_number":650,"context_line":"            msg \u003d (_("},{"line_number":651,"context_line":"                \"Can\u0027t find lun info on the array, lun name is: %(name)s.\")"},{"line_number":652,"context_line":"                % {\u0027name\u0027: volume_name})"}],"source_content_type":"text/x-python","patch_set":11,"id":"fa1b9901_8c521766","line":649,"updated":"2015-08-26 03:43:33.000000000","message":"Line 647","commit_id":"e3f7e92ff8cb11bcaf529395fc6c96d04b76d17c"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"55d63a5badce029176ecb6e7d5db34fbd37543de","unresolved":false,"context_lines":[{"line_number":646,"context_line":"        lun_id \u003d volume.get(\u0027provider_location\u0027, None)"},{"line_number":647,"context_line":"        if not lun_id:"},{"line_number":648,"context_line":"            lun_id \u003d self.restclient.get_volume_by_name(volume_name)"},{"line_number":649,"context_line":"        if not lun_id:"},{"line_number":650,"context_line":"            msg \u003d (_("},{"line_number":651,"context_line":"                \"Can\u0027t find lun info on the array, lun name is: %(name)s.\")"},{"line_number":652,"context_line":"                % {\u0027name\u0027: volume_name})"}],"source_content_type":"text/x-python","patch_set":11,"id":"fa1b9901_28616539","line":649,"in_reply_to":"fa1b9901_8c521766","updated":"2015-08-26 11:15:46.000000000","message":"Done","commit_id":"e3f7e92ff8cb11bcaf529395fc6c96d04b76d17c"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"6e8788a8f9c3ffde57f8f47f58a9895b4e62db0f","unresolved":false,"context_lines":[{"line_number":576,"context_line":""},{"line_number":577,"context_line":"        self.restclient.do_mapping(lun_id,"},{"line_number":578,"context_line":"                                   hostgroup_id,"},{"line_number":579,"context_line":"                                   host_id)"},{"line_number":580,"context_line":"        host_lun_id \u003d self.restclient.find_host_lun_id(host_id, lun_id)"},{"line_number":581,"context_line":""},{"line_number":582,"context_line":"        tgt_port_wwns \u003d []"}],"source_content_type":"text/x-python","patch_set":13,"id":"da20952f_b8e8c77d","line":579,"updated":"2015-08-27 22:53:35.000000000","message":"does this do_mapping create a new mapping on the array to the host ?  If so, you need to make sure the mapping already doesn\u0027t exist.  Nova live migration calls initialize_connection multiple times w/o asking for a volume to be exported/attached to a host.","commit_id":"0adb7494fb96d477eade2ca3063ae9b0b6ea4e49"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"d178201c6d36b312e24b159f45fe6d344b9072ad","unresolved":false,"context_lines":[{"line_number":576,"context_line":""},{"line_number":577,"context_line":"        self.restclient.do_mapping(lun_id,"},{"line_number":578,"context_line":"                                   hostgroup_id,"},{"line_number":579,"context_line":"                                   host_id)"},{"line_number":580,"context_line":"        host_lun_id \u003d self.restclient.find_host_lun_id(host_id, lun_id)"},{"line_number":581,"context_line":""},{"line_number":582,"context_line":"        tgt_port_wwns \u003d []"}],"source_content_type":"text/x-python","patch_set":13,"id":"da20952f_c2581dfd","line":579,"in_reply_to":"da20952f_b8e8c77d","updated":"2015-08-28 04:52:01.000000000","message":"do_mapping will check whether the mapping exists, it the mapping already exists on the array, it won\u0027t create a new mapping on the array, thanks!","commit_id":"0adb7494fb96d477eade2ca3063ae9b0b6ea4e49"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"576356c6d7b6f22c96c8b7ec0986a66413fc33be","unresolved":false,"context_lines":[{"line_number":484,"context_line":"             \u0027oldsize\u0027: volume_size,"},{"line_number":485,"context_line":"             \u0027newsize\u0027: new_volume_size},)"},{"line_number":486,"context_line":""},{"line_number":487,"context_line":"        lun_id \u003d (volume.get(\u0027provider_location\u0027, None) or"},{"line_number":488,"context_line":"                  self.restclient.get_volume_by_name(volume_name))"},{"line_number":489,"context_line":"        if not lun_id:"},{"line_number":490,"context_line":"            msg \u003d (_("}],"source_content_type":"text/x-python","patch_set":15,"id":"da20952f_7c337a14","line":487,"updated":"2015-09-07 08:55:40.000000000","message":"no need to put none in the end\nJust use volume.get(\u0027provider_location\u0027)\nIf it does not exist, none is returned automatically.","commit_id":"0facc1de6b3d9fd2f0e4abd12376260aa1ed1c66"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"4c2c637f2a42b927d221abba8f43f74e819d2939","unresolved":false,"context_lines":[{"line_number":484,"context_line":"             \u0027oldsize\u0027: volume_size,"},{"line_number":485,"context_line":"             \u0027newsize\u0027: new_volume_size},)"},{"line_number":486,"context_line":""},{"line_number":487,"context_line":"        lun_id \u003d (volume.get(\u0027provider_location\u0027, None) or"},{"line_number":488,"context_line":"                  self.restclient.get_volume_by_name(volume_name))"},{"line_number":489,"context_line":"        if not lun_id:"},{"line_number":490,"context_line":"            msg \u003d (_("}],"source_content_type":"text/x-python","patch_set":15,"id":"da20952f_581534e3","line":487,"in_reply_to":"da20952f_7c337a14","updated":"2015-09-08 13:07:14.000000000","message":"Done","commit_id":"0facc1de6b3d9fd2f0e4abd12376260aa1ed1c66"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"576356c6d7b6f22c96c8b7ec0986a66413fc33be","unresolved":false,"context_lines":[{"line_number":872,"context_line":"                                               host_id)"},{"line_number":873,"context_line":"        hostgroup_id \u003d self.restclient.add_host_into_hostgroup(host_id)"},{"line_number":874,"context_line":""},{"line_number":875,"context_line":"        lun_id \u003d (volume.get(\u0027provider_location\u0027, None) or"},{"line_number":876,"context_line":"                  self.restclient.get_volume_by_name(volume_name))"},{"line_number":877,"context_line":"        if not lun_id:"},{"line_number":878,"context_line":"            msg \u003d (_("}],"source_content_type":"text/x-python","patch_set":15,"id":"da20952f_bc56f227","line":875,"updated":"2015-09-07 08:55:40.000000000","message":"no need to put none in the end\nJust use volume.get(\u0027provider_location\u0027)\nIf it does not exist, none is returned automatically.","commit_id":"0facc1de6b3d9fd2f0e4abd12376260aa1ed1c66"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"4c2c637f2a42b927d221abba8f43f74e819d2939","unresolved":false,"context_lines":[{"line_number":872,"context_line":"                                               host_id)"},{"line_number":873,"context_line":"        hostgroup_id \u003d self.restclient.add_host_into_hostgroup(host_id)"},{"line_number":874,"context_line":""},{"line_number":875,"context_line":"        lun_id \u003d (volume.get(\u0027provider_location\u0027, None) or"},{"line_number":876,"context_line":"                  self.restclient.get_volume_by_name(volume_name))"},{"line_number":877,"context_line":"        if not lun_id:"},{"line_number":878,"context_line":"            msg \u003d (_("}],"source_content_type":"text/x-python","patch_set":15,"id":"da20952f_389de066","line":875,"in_reply_to":"da20952f_bc56f227","updated":"2015-09-08 13:07:14.000000000","message":"Done","commit_id":"0facc1de6b3d9fd2f0e4abd12376260aa1ed1c66"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"576356c6d7b6f22c96c8b7ec0986a66413fc33be","unresolved":false,"context_lines":[{"line_number":1049,"context_line":"             \u0027volume\u0027: volume_name},)"},{"line_number":1050,"context_line":""},{"line_number":1051,"context_line":"        lun_id \u003d (volume.get(\u0027provider_location\u0027, None) or"},{"line_number":1052,"context_line":"                  self.restclient.get_volume_by_name(volume_name))"},{"line_number":1053,"context_line":"        if not lun_id:"},{"line_number":1054,"context_line":"            msg \u003d _(\"Can\u0027t get volume id. volume name: %s.\") % volume_name"},{"line_number":1055,"context_line":"            LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":15,"id":"da20952f_7c1a9a7e","line":1052,"updated":"2015-09-07 08:55:40.000000000","message":"no need to put none in the end\nJust use volume.get(\u0027provider_location\u0027)\nIf it does not exist, none is returned automatically.","commit_id":"0facc1de6b3d9fd2f0e4abd12376260aa1ed1c66"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"4c2c637f2a42b927d221abba8f43f74e819d2939","unresolved":false,"context_lines":[{"line_number":1049,"context_line":"             \u0027volume\u0027: volume_name},)"},{"line_number":1050,"context_line":""},{"line_number":1051,"context_line":"        lun_id \u003d (volume.get(\u0027provider_location\u0027, None) or"},{"line_number":1052,"context_line":"                  self.restclient.get_volume_by_name(volume_name))"},{"line_number":1053,"context_line":"        if not lun_id:"},{"line_number":1054,"context_line":"            msg \u003d _(\"Can\u0027t get volume id. volume name: %s.\") % volume_name"},{"line_number":1055,"context_line":"            LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":15,"id":"da20952f_58bf74aa","line":1052,"in_reply_to":"da20952f_7c1a9a7e","updated":"2015-09-08 13:07:14.000000000","message":"Done","commit_id":"0facc1de6b3d9fd2f0e4abd12376260aa1ed1c66"},{"author":{"_account_id":8912,"name":"Ryan McNair","email":"rdmcnair@us.ibm.com","username":"rdmcnair"},"change_message_id":"e494d59239e23d080c53a8ef2761eff277158a8e","unresolved":false,"context_lines":[{"line_number":483,"context_line":"            {\u0027volumename\u0027: volume_name,"},{"line_number":484,"context_line":"             \u0027oldsize\u0027: volume_size,"},{"line_number":485,"context_line":"             \u0027newsize\u0027: new_volume_size},)"},{"line_number":486,"context_line":""},{"line_number":487,"context_line":"        lun_id \u003d (volume.get(\u0027provider_location\u0027) or"},{"line_number":488,"context_line":"                  self.restclient.get_volume_by_name(volume_name))"},{"line_number":489,"context_line":"        if not lun_id:"}],"source_content_type":"text/x-python","patch_set":18,"id":"ba15a1d1_08377eff","line":486,"updated":"2015-09-18 17:03:28.000000000","message":"Since we\u0027re doing this same \"or\" to get the lun_id three different times it may be nice to just have a function for it","commit_id":"ef1c73e703024e699bafbf4e654e0e9e856f03cb"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"2719a8f8208a2ac2df9ff2b421529e755d0f66d9","unresolved":false,"context_lines":[{"line_number":1052,"context_line":"        lun_id \u003d (volume.get(\u0027provider_location\u0027) or"},{"line_number":1053,"context_line":"                  self.restclient.get_volume_by_name(volume_name))"},{"line_number":1054,"context_line":"        if not lun_id:"},{"line_number":1055,"context_line":"            msg \u003d _(\"Can\u0027t get volume id. volume name: %s.\") % volume_name"},{"line_number":1056,"context_line":"            LOG.error(msg)"},{"line_number":1057,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":1058,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"ba15a1d1_a519b77b","line":1055,"updated":"2015-09-21 07:31:12.000000000","message":"Volume should starts with upper-case letter","commit_id":"ef1c73e703024e699bafbf4e654e0e9e856f03cb"}],"cinder/volume/drivers/huawei/rest_client.py":[{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"017afd40fb1d5dfe8e64c89478652672c08d5c51","unresolved":false,"context_lines":[{"line_number":219,"context_line":"             \u0027volume\u0027: volume_name})"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"        volume \u003d snapshot[\u0027volume\u0027]"},{"line_number":222,"context_line":"        lun_id \u003d volume.get(\u0027provider_location\u0027, None)"},{"line_number":223,"context_line":"        if lun_id is None:"},{"line_number":224,"context_line":"            lun_id \u003d self.get_volume_by_name(volume_name)"},{"line_number":225,"context_line":"        if lun_id is None:"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_f9281c35","line":222,"updated":"2015-08-06 14:20:35.000000000","message":"Ditto","commit_id":"59cc80657811160b68af8b94863a55f1d49a0284"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"83d5ad559daab527c1b9179d2654262a80881381","unresolved":false,"context_lines":[{"line_number":341,"context_line":""},{"line_number":342,"context_line":"        return False"},{"line_number":343,"context_line":""},{"line_number":344,"context_line":"    def mapping_hostgroup_and_lungroup(self, lun_id,"},{"line_number":345,"context_line":"                                       hostgroup_id,"},{"line_number":346,"context_line":"                                       host_id,"},{"line_number":347,"context_line":"                                       tgtportgroup_id\u003dNone):"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_0c6c4ccf","line":344,"updated":"2015-08-14 03:16:55.000000000","message":"You\u0027re calling this still, but with your change, you\u0027re now ignoring the return value.  That\u0027s what I meant by \"does it do anything\", because it appears that you\u0027re just calling it bt never doing anything with it.","commit_id":"9364319e3c82bed88b3b3ab009b063c9e9702715"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"1fe0fd4af9ac0339faedb229e90590456ac61f21","unresolved":false,"context_lines":[{"line_number":341,"context_line":""},{"line_number":342,"context_line":"        return False"},{"line_number":343,"context_line":""},{"line_number":344,"context_line":"    def mapping_hostgroup_and_lungroup(self, lun_id,"},{"line_number":345,"context_line":"                                       hostgroup_id,"},{"line_number":346,"context_line":"                                       host_id,"},{"line_number":347,"context_line":"                                       tgtportgroup_id\u003dNone):"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_18df620d","line":344,"in_reply_to":"1a4dcd0f_0c6c4ccf","updated":"2015-08-16 13:31:32.000000000","message":"This function no need to return lun_id anymore, thanks for your check!","commit_id":"9364319e3c82bed88b3b3ab009b063c9e9702715"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"96a42ff7e185de148b42f9ec8796cec557991387","unresolved":false,"context_lines":[{"line_number":391,"context_line":"                    \u0027Error occurred when adding hostgroup and lungroup to \u0027"},{"line_number":392,"context_line":"                    \u0027view. Remove lun from lungroup now.\u0027))"},{"line_number":393,"context_line":"                self.remove_lun_from_lungroup(lungroup_id, lun_id)"},{"line_number":394,"context_line":""},{"line_number":395,"context_line":"        return lun_id"},{"line_number":396,"context_line":""},{"line_number":397,"context_line":"    def ensure_initiator_added(self, xml_file_path, initiator_name, host_id):"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_e781d2c4","line":394,"updated":"2015-08-14 20:07:25.000000000","message":"I don\u0027t follow this change either.  lun_id is passed in and returned here.  So what does this function do?  Also it seems that you are calling this function differently in two places in huawei_driver.py.","commit_id":"9364319e3c82bed88b3b3ab009b063c9e9702715"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"1fe0fd4af9ac0339faedb229e90590456ac61f21","unresolved":false,"context_lines":[{"line_number":391,"context_line":"                    \u0027Error occurred when adding hostgroup and lungroup to \u0027"},{"line_number":392,"context_line":"                    \u0027view. Remove lun from lungroup now.\u0027))"},{"line_number":393,"context_line":"                self.remove_lun_from_lungroup(lungroup_id, lun_id)"},{"line_number":394,"context_line":""},{"line_number":395,"context_line":"        return lun_id"},{"line_number":396,"context_line":""},{"line_number":397,"context_line":"    def ensure_initiator_added(self, xml_file_path, initiator_name, host_id):"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_d8e81ab6","line":394,"in_reply_to":"1a4dcd0f_e781d2c4","updated":"2015-08-16 13:31:32.000000000","message":"Here is also need to change. No need to return lun_id anymore, thanks for your check!","commit_id":"9364319e3c82bed88b3b3ab009b063c9e9702715"},{"author":{"_account_id":17718,"name":"Lallana","email":"gaozhiqiang2@huawei.com","username":"Lallana"},"change_message_id":"afacd1786e84c6e478961bb40cdb8a7c7ee18aa9","unresolved":false,"context_lines":[{"line_number":222,"context_line":"        lun_id \u003d volume.get(\u0027provider_location\u0027, None)"},{"line_number":223,"context_line":"        if not lun_id:"},{"line_number":224,"context_line":"            lun_id \u003d self.get_volume_by_name(volume_name)"},{"line_number":225,"context_line":"        if not lun_id:"},{"line_number":226,"context_line":"            msg \u003d (_(\"Can\u0027t find lun info on the array, \""},{"line_number":227,"context_line":"                     \"lun name is: %(name)s.\") % {\u0027name\u0027: volume_name})"},{"line_number":228,"context_line":"            LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":11,"id":"fa1b9901_897a0923","line":225,"updated":"2015-08-26 03:00:57.000000000","message":"the second \"if not lun_id\" should be in the first \"if not lun_id\"","commit_id":"e3f7e92ff8cb11bcaf529395fc6c96d04b76d17c"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"55d63a5badce029176ecb6e7d5db34fbd37543de","unresolved":false,"context_lines":[{"line_number":222,"context_line":"        lun_id \u003d volume.get(\u0027provider_location\u0027, None)"},{"line_number":223,"context_line":"        if not lun_id:"},{"line_number":224,"context_line":"            lun_id \u003d self.get_volume_by_name(volume_name)"},{"line_number":225,"context_line":"        if not lun_id:"},{"line_number":226,"context_line":"            msg \u003d (_(\"Can\u0027t find lun info on the array, \""},{"line_number":227,"context_line":"                     \"lun name is: %(name)s.\") % {\u0027name\u0027: volume_name})"},{"line_number":228,"context_line":"            LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":11,"id":"fa1b9901_a88a55bd","line":225,"in_reply_to":"fa1b9901_897a0923","updated":"2015-08-26 11:15:46.000000000","message":"Done","commit_id":"e3f7e92ff8cb11bcaf529395fc6c96d04b76d17c"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"576356c6d7b6f22c96c8b7ec0986a66413fc33be","unresolved":false,"context_lines":[{"line_number":219,"context_line":"             \u0027volume\u0027: volume_name})"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"        volume \u003d snapshot[\u0027volume\u0027]"},{"line_number":222,"context_line":"        lun_id \u003d (volume.get(\u0027provider_location\u0027, None) or"},{"line_number":223,"context_line":"                  self.get_volume_by_name(volume_name))"},{"line_number":224,"context_line":"        if not lun_id:"},{"line_number":225,"context_line":"            msg \u003d (_(\"Can\u0027t find lun info on the array, \""}],"source_content_type":"text/x-python","patch_set":15,"id":"da20952f_1c235ebe","line":222,"updated":"2015-09-07 08:55:40.000000000","message":"no need to put none in the end\nJust use volume.get(\u0027provider_location\u0027)\nIf it does not exist, none is returned automatically.","commit_id":"0facc1de6b3d9fd2f0e4abd12376260aa1ed1c66"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"4c2c637f2a42b927d221abba8f43f74e819d2939","unresolved":false,"context_lines":[{"line_number":219,"context_line":"             \u0027volume\u0027: volume_name})"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"        volume \u003d snapshot[\u0027volume\u0027]"},{"line_number":222,"context_line":"        lun_id \u003d (volume.get(\u0027provider_location\u0027, None) or"},{"line_number":223,"context_line":"                  self.get_volume_by_name(volume_name))"},{"line_number":224,"context_line":"        if not lun_id:"},{"line_number":225,"context_line":"            msg \u003d (_(\"Can\u0027t find lun info on the array, \""}],"source_content_type":"text/x-python","patch_set":15,"id":"da20952f_f8da081d","line":222,"in_reply_to":"da20952f_1c235ebe","updated":"2015-09-08 13:07:14.000000000","message":"Done","commit_id":"0facc1de6b3d9fd2f0e4abd12376260aa1ed1c66"},{"author":{"_account_id":1207,"name":"Duncan Thomas","email":"duncan.thomas@gmail.com","username":"duncan-thomas"},"change_message_id":"81b9f1b772a00f14dd2620b8a32c11946eb6a163","unresolved":false,"context_lines":[{"line_number":624,"context_line":"            for item in result[\u0027data\u0027]:"},{"line_number":625,"context_line":"                if lun_id \u003d\u003d item[\u0027ID\u0027]:"},{"line_number":626,"context_line":"                    return True"},{"line_number":627,"context_line":""},{"line_number":628,"context_line":"        return False"},{"line_number":629,"context_line":""},{"line_number":630,"context_line":"    def _associate_host_to_hostgroup(self, hostgroup_id, host_id):"}],"source_content_type":"text/x-python","patch_set":16,"id":"ba15a1d1_b56d77ce","line":627,"updated":"2015-09-13 06:58:43.000000000","message":"Why the sudden duplicate code? _get_id_from_result is still used elsewhere, it should be used here too. It is duplicated in some other places too - _is_host_associate_to_hostgroup for example. If you\u0027d rather clean these all up under another patch, please file a bug for tracking and link it in the comments, then I\u0027m ok with changing this to a +2,","commit_id":"3a4dca29e67742c1d22f5a5ac69e8f20602facac"}]}
