)]}'
{"cinder/tests/unit/volume/drivers/sandstone/test_sds_client.py":[{"author":{"_account_id":18058,"name":"Lucio Seki","email":"lseki@redhat.com","username":"lseki"},"change_message_id":"b3f5b2fa20912c53af107480cf87662538a88ef3","unresolved":false,"context_lines":[{"line_number":279,"context_line":"                               wraps\u003dself.client.session.post) as mocker:"},{"line_number":280,"context_line":"            retval \u003d self.client.add_chap_by_target("},{"line_number":281,"context_line":"                target_name\u003d\u0027fake_target\u0027,"},{"line_number":282,"context_line":"                usename\u003d\u0027fake_chapuser\u0027,"},{"line_number":283,"context_line":"                password\u003d\u0027fake_chappassword\u0027)"},{"line_number":284,"context_line":"            data \u003d json.dumps("},{"line_number":285,"context_line":"                {\"mutul\": False, \"password\": \"fake_chappassword\","}],"source_content_type":"text/x-python","patch_set":2,"id":"df33271e_1285c808","line":282,"range":{"start_line":282,"start_character":16,"end_line":282,"end_character":23},"updated":"2020-03-27 19:17:17.000000000","message":"As you updated the parameter name in the driver code, you\u0027ll need to update it in the test code as well.","commit_id":"d1ebb2a51699e79fb693ddff2760c807885220ce"},{"author":{"_account_id":31416,"name":"wuqiongdan","email":"wuqiongdan@szsandstone.com","username":"wuqiongdan"},"change_message_id":"dc1c45839f8fbfab0ffdb2ce0b575487772f3212","unresolved":false,"context_lines":[{"line_number":279,"context_line":"                               wraps\u003dself.client.session.post) as mocker:"},{"line_number":280,"context_line":"            retval \u003d self.client.add_chap_by_target("},{"line_number":281,"context_line":"                target_name\u003d\u0027fake_target\u0027,"},{"line_number":282,"context_line":"                usename\u003d\u0027fake_chapuser\u0027,"},{"line_number":283,"context_line":"                password\u003d\u0027fake_chappassword\u0027)"},{"line_number":284,"context_line":"            data \u003d json.dumps("},{"line_number":285,"context_line":"                {\"mutul\": False, \"password\": \"fake_chappassword\","}],"source_content_type":"text/x-python","patch_set":2,"id":"df33271e_e5a857dc","line":282,"range":{"start_line":282,"start_character":16,"end_line":282,"end_character":23},"in_reply_to":"df33271e_1285c808","updated":"2020-03-30 02:27:10.000000000","message":"Done","commit_id":"d1ebb2a51699e79fb693ddff2760c807885220ce"},{"author":{"_account_id":18058,"name":"Lucio Seki","email":"lseki@redhat.com","username":"lseki"},"change_message_id":"b3f5b2fa20912c53af107480cf87662538a88ef3","unresolved":false,"context_lines":[{"line_number":468,"context_line":"                {\"run_status\": \"completed\", \"progress\": 100}"},{"line_number":469,"context_line":"            retval \u003d self.client.create_lun_from_snapshot("},{"line_number":470,"context_line":"                snapshot_name\u003d\u0027fake_snapshot\u0027,"},{"line_number":471,"context_line":"                source_volume_name\u003d\u0027fake_src_lun\u0027,"},{"line_number":472,"context_line":"                poolid\u003d1,"},{"line_number":473,"context_line":"                destination_volume_name\u003d\u0027fake_dst_lun\u0027)"},{"line_number":474,"context_line":"            data \u003d json.dumps("}],"source_content_type":"text/x-python","patch_set":2,"id":"df33271e_12b788f8","line":471,"range":{"start_line":471,"start_character":16,"end_line":471,"end_character":34},"updated":"2020-03-27 19:17:17.000000000","message":"same as L282","commit_id":"d1ebb2a51699e79fb693ddff2760c807885220ce"},{"author":{"_account_id":31416,"name":"wuqiongdan","email":"wuqiongdan@szsandstone.com","username":"wuqiongdan"},"change_message_id":"dc1c45839f8fbfab0ffdb2ce0b575487772f3212","unresolved":false,"context_lines":[{"line_number":468,"context_line":"                {\"run_status\": \"completed\", \"progress\": 100}"},{"line_number":469,"context_line":"            retval \u003d self.client.create_lun_from_snapshot("},{"line_number":470,"context_line":"                snapshot_name\u003d\u0027fake_snapshot\u0027,"},{"line_number":471,"context_line":"                source_volume_name\u003d\u0027fake_src_lun\u0027,"},{"line_number":472,"context_line":"                poolid\u003d1,"},{"line_number":473,"context_line":"                destination_volume_name\u003d\u0027fake_dst_lun\u0027)"},{"line_number":474,"context_line":"            data \u003d json.dumps("}],"source_content_type":"text/x-python","patch_set":2,"id":"df33271e_658d677a","line":471,"range":{"start_line":471,"start_character":16,"end_line":471,"end_character":34},"in_reply_to":"df33271e_12b788f8","updated":"2020-03-30 02:27:10.000000000","message":"Done","commit_id":"d1ebb2a51699e79fb693ddff2760c807885220ce"},{"author":{"_account_id":18058,"name":"Lucio Seki","email":"lseki@redhat.com","username":"lseki"},"change_message_id":"b3f5b2fa20912c53af107480cf87662538a88ef3","unresolved":false,"context_lines":[{"line_number":470,"context_line":"                snapshot_name\u003d\u0027fake_snapshot\u0027,"},{"line_number":471,"context_line":"                source_volume_name\u003d\u0027fake_src_lun\u0027,"},{"line_number":472,"context_line":"                poolid\u003d1,"},{"line_number":473,"context_line":"                destination_volume_name\u003d\u0027fake_dst_lun\u0027)"},{"line_number":474,"context_line":"            data \u003d json.dumps("},{"line_number":475,"context_line":"                {\"snapshot\": {\"poolId\": 1,"},{"line_number":476,"context_line":"                              \"lunName\": \"fake_src_lun\","}],"source_content_type":"text/x-python","patch_set":2,"id":"df33271e_92ca786a","line":473,"range":{"start_line":473,"start_character":16,"end_line":473,"end_character":39},"updated":"2020-03-27 19:17:17.000000000","message":"same as L282","commit_id":"d1ebb2a51699e79fb693ddff2760c807885220ce"},{"author":{"_account_id":31416,"name":"wuqiongdan","email":"wuqiongdan@szsandstone.com","username":"wuqiongdan"},"change_message_id":"dc1c45839f8fbfab0ffdb2ce0b575487772f3212","unresolved":false,"context_lines":[{"line_number":470,"context_line":"                snapshot_name\u003d\u0027fake_snapshot\u0027,"},{"line_number":471,"context_line":"                source_volume_name\u003d\u0027fake_src_lun\u0027,"},{"line_number":472,"context_line":"                poolid\u003d1,"},{"line_number":473,"context_line":"                destination_volume_name\u003d\u0027fake_dst_lun\u0027)"},{"line_number":474,"context_line":"            data \u003d json.dumps("},{"line_number":475,"context_line":"                {\"snapshot\": {\"poolId\": 1,"},{"line_number":476,"context_line":"                              \"lunName\": \"fake_src_lun\","}],"source_content_type":"text/x-python","patch_set":2,"id":"df33271e_c5e9d31a","line":473,"range":{"start_line":473,"start_character":16,"end_line":473,"end_character":39},"in_reply_to":"df33271e_92ca786a","updated":"2020-03-30 02:27:10.000000000","message":"Done","commit_id":"d1ebb2a51699e79fb693ddff2760c807885220ce"},{"author":{"_account_id":18058,"name":"Lucio Seki","email":"lseki@redhat.com","username":"lseki"},"change_message_id":"b3f5b2fa20912c53af107480cf87662538a88ef3","unresolved":false,"context_lines":[{"line_number":536,"context_line":"            {\u0027run_status\u0027: \u0027completed\u0027, \u0027progress\u0027: 100}"},{"line_number":537,"context_line":"        mock_delete_snapshot.return_value \u003d {\u0027success\u0027: 1}"},{"line_number":538,"context_line":"        retval \u003d self.client.create_lun_from_lun("},{"line_number":539,"context_line":"            destination_volume_name\u003d\u0027fake_dst_lun\u0027,"},{"line_number":540,"context_line":"            poolid\u003d1,"},{"line_number":541,"context_line":"            source_volume_name\u003d\u0027fake_src_lun\u0027)"},{"line_number":542,"context_line":"        self.assertIsNone(retval)"}],"source_content_type":"text/x-python","patch_set":2,"id":"df33271e_b2a4dcba","line":539,"range":{"start_line":539,"start_character":12,"end_line":539,"end_character":35},"updated":"2020-03-27 19:17:17.000000000","message":"same as L282","commit_id":"d1ebb2a51699e79fb693ddff2760c807885220ce"},{"author":{"_account_id":31416,"name":"wuqiongdan","email":"wuqiongdan@szsandstone.com","username":"wuqiongdan"},"change_message_id":"dc1c45839f8fbfab0ffdb2ce0b575487772f3212","unresolved":false,"context_lines":[{"line_number":536,"context_line":"            {\u0027run_status\u0027: \u0027completed\u0027, \u0027progress\u0027: 100}"},{"line_number":537,"context_line":"        mock_delete_snapshot.return_value \u003d {\u0027success\u0027: 1}"},{"line_number":538,"context_line":"        retval \u003d self.client.create_lun_from_lun("},{"line_number":539,"context_line":"            destination_volume_name\u003d\u0027fake_dst_lun\u0027,"},{"line_number":540,"context_line":"            poolid\u003d1,"},{"line_number":541,"context_line":"            source_volume_name\u003d\u0027fake_src_lun\u0027)"},{"line_number":542,"context_line":"        self.assertIsNone(retval)"}],"source_content_type":"text/x-python","patch_set":2,"id":"df33271e_85922b9d","line":539,"range":{"start_line":539,"start_character":12,"end_line":539,"end_character":35},"in_reply_to":"df33271e_b2a4dcba","updated":"2020-03-30 02:27:10.000000000","message":"Done","commit_id":"d1ebb2a51699e79fb693ddff2760c807885220ce"},{"author":{"_account_id":18058,"name":"Lucio Seki","email":"lseki@redhat.com","username":"lseki"},"change_message_id":"b3f5b2fa20912c53af107480cf87662538a88ef3","unresolved":false,"context_lines":[{"line_number":538,"context_line":"        retval \u003d self.client.create_lun_from_lun("},{"line_number":539,"context_line":"            destination_volume_name\u003d\u0027fake_dst_lun\u0027,"},{"line_number":540,"context_line":"            poolid\u003d1,"},{"line_number":541,"context_line":"            source_volume_name\u003d\u0027fake_src_lun\u0027)"},{"line_number":542,"context_line":"        self.assertIsNone(retval)"},{"line_number":543,"context_line":""},{"line_number":544,"context_line":"    def test_query_snapshot_by_name(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"df33271e_d2a1a0ab","line":541,"range":{"start_line":541,"start_character":12,"end_line":541,"end_character":30},"updated":"2020-03-27 19:17:17.000000000","message":"same as L282","commit_id":"d1ebb2a51699e79fb693ddff2760c807885220ce"},{"author":{"_account_id":31416,"name":"wuqiongdan","email":"wuqiongdan@szsandstone.com","username":"wuqiongdan"},"change_message_id":"dc1c45839f8fbfab0ffdb2ce0b575487772f3212","unresolved":false,"context_lines":[{"line_number":538,"context_line":"        retval \u003d self.client.create_lun_from_lun("},{"line_number":539,"context_line":"            destination_volume_name\u003d\u0027fake_dst_lun\u0027,"},{"line_number":540,"context_line":"            poolid\u003d1,"},{"line_number":541,"context_line":"            source_volume_name\u003d\u0027fake_src_lun\u0027)"},{"line_number":542,"context_line":"        self.assertIsNone(retval)"},{"line_number":543,"context_line":""},{"line_number":544,"context_line":"    def test_query_snapshot_by_name(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"df33271e_e5f697f9","line":541,"range":{"start_line":541,"start_character":12,"end_line":541,"end_character":30},"in_reply_to":"df33271e_d2a1a0ab","updated":"2020-03-30 02:27:10.000000000","message":"Done","commit_id":"d1ebb2a51699e79fb693ddff2760c807885220ce"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"72874733201f9e8c5ae155bd9c1b3721896b9267","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"import json"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"import mock"},{"line_number":20,"context_line":"import requests"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from cinder import test"}],"source_content_type":"text/x-python","patch_set":4,"id":"df33271e_eb612ad5","line":19,"updated":"2020-03-30 19:05:06.000000000","message":"Please change this to:\n\nfrom unittest import mock\n\nAnd move it up to be right under \"import json\" as part of the standard lib imports.","commit_id":"96dce30c45fbc1cdcb1dcc1486650bbdb378d670"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"c6cb469aaf99f1b3cd86127b22d2d6d13a1e215d","unresolved":false,"context_lines":[{"line_number":113,"context_line":""},{"line_number":114,"context_line":"    def test_logout(self):"},{"line_number":115,"context_line":"        \"\"\"Test logout.\"\"\""},{"line_number":116,"context_line":"        retval \u003d self.client.logout()"},{"line_number":117,"context_line":"        self.assertIsNone(retval)"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    def test_query_capacity_info(self):"}],"source_content_type":"text/x-python","patch_set":7,"id":"df33271e_a9b7053a","line":116,"updated":"2020-04-01 06:41:10.000000000","message":"E1111: \u001b[1;31mAssigning result of a function call, where the function has no return\u001b[0m (\u001b[1;31massignment-from-no-return\u001b[0m)","commit_id":"322485482505a964d5e0fedd96cc226b23bc8662"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"c6cb469aaf99f1b3cd86127b22d2d6d13a1e215d","unresolved":false,"context_lines":[{"line_number":148,"context_line":"        \"\"\"Test create initiator.\"\"\""},{"line_number":149,"context_line":"        with mock.patch.object(self.client.session, \u0027post\u0027,"},{"line_number":150,"context_line":"                               wraps\u003dself.client.session.post) as mocker:"},{"line_number":151,"context_line":"            retval \u003d self.client.create_initiator("},{"line_number":152,"context_line":"                initiator_name\u003d\u0027fake_iqn\u0027)"},{"line_number":153,"context_line":"            data \u003d json.dumps("},{"line_number":154,"context_line":"                {\u0027iqn\u0027: \u0027fake_iqn\u0027, \u0027type\u0027: \u0027iSCSI\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"df33271e_89b20148","line":151,"updated":"2020-04-01 06:41:10.000000000","message":"E1128: \u001b[1;31mAssigning result of a function call, where the function returns None\u001b[0m (\u001b[1;31massignment-from-none\u001b[0m)","commit_id":"322485482505a964d5e0fedd96cc226b23bc8662"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"c6cb469aaf99f1b3cd86127b22d2d6d13a1e215d","unresolved":false,"context_lines":[{"line_number":166,"context_line":"        with mock.patch.object(self.client.session, \u0027post\u0027,"},{"line_number":167,"context_line":"                               wraps\u003dself.client.session.post) as mocker:"},{"line_number":168,"context_line":"            mock__judge_delaytask_status.return_value \u003d None"},{"line_number":169,"context_line":"            retval \u003d self.client.add_initiator_to_target("},{"line_number":170,"context_line":"                target_name\u003d\u0027fake_target\u0027,"},{"line_number":171,"context_line":"                initiator_name\u003d\u0027fake_iqn\u0027)"},{"line_number":172,"context_line":"            data \u003d json.dumps("}],"source_content_type":"text/x-python","patch_set":7,"id":"df33271e_e9862d66","line":169,"updated":"2020-04-01 06:41:10.000000000","message":"E1111: \u001b[1;31mAssigning result of a function call, where the function has no return\u001b[0m (\u001b[1;31massignment-from-no-return\u001b[0m)","commit_id":"322485482505a964d5e0fedd96cc226b23bc8662"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"c6cb469aaf99f1b3cd86127b22d2d6d13a1e215d","unresolved":false,"context_lines":[{"line_number":250,"context_line":"        \"\"\"Test create target.\"\"\""},{"line_number":251,"context_line":"        with mock.patch.object(self.client.session, \u0027post\u0027,"},{"line_number":252,"context_line":"                               wraps\u003dself.client.session.post) as mocker:"},{"line_number":253,"context_line":"            retval \u003d self.client.create_target(target_name\u003d\u0027fake_target\u0027,"},{"line_number":254,"context_line":"                                               targetip_to_hostid\u003d"},{"line_number":255,"context_line":"                                               {\u00271.1.1.1\u0027: \u0027node0001\u0027,"},{"line_number":256,"context_line":"                                                \u00271.1.1.2\u0027: \u0027node0002\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"df33271e_c989a975","line":253,"updated":"2020-04-01 06:41:10.000000000","message":"E1128: \u001b[1;31mAssigning result of a function call, where the function returns None\u001b[0m (\u001b[1;31massignment-from-none\u001b[0m)","commit_id":"322485482505a964d5e0fedd96cc226b23bc8662"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"c6cb469aaf99f1b3cd86127b22d2d6d13a1e215d","unresolved":false,"context_lines":[{"line_number":273,"context_line":"        \"\"\"Test add chap to target.\"\"\""},{"line_number":274,"context_line":"        with mock.patch.object(self.client.session, \u0027post\u0027,"},{"line_number":275,"context_line":"                               wraps\u003dself.client.session.post) as mocker:"},{"line_number":276,"context_line":"            retval \u003d self.client.add_chap_by_target("},{"line_number":277,"context_line":"                target_name\u003d\u0027fake_target\u0027,"},{"line_number":278,"context_line":"                username\u003d\u0027fake_chapuser\u0027,"},{"line_number":279,"context_line":"                password\u003d\u0027fake_chappassword\u0027)"}],"source_content_type":"text/x-python","patch_set":7,"id":"df33271e_297db56d","line":276,"updated":"2020-04-01 06:41:10.000000000","message":"E1111: \u001b[1;31mAssigning result of a function call, where the function has no return\u001b[0m (\u001b[1;31massignment-from-no-return\u001b[0m)","commit_id":"322485482505a964d5e0fedd96cc226b23bc8662"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"c6cb469aaf99f1b3cd86127b22d2d6d13a1e215d","unresolved":false,"context_lines":[{"line_number":303,"context_line":"        \"\"\"Test create lun.\"\"\""},{"line_number":304,"context_line":"        with mock.patch.object(self.client.session, \u0027post\u0027,"},{"line_number":305,"context_line":"                               wraps\u003dself.client.session.post) as mocker:"},{"line_number":306,"context_line":"            retval \u003d self.client.create_lun(capacity_bytes\u003d1024,"},{"line_number":307,"context_line":"                                            poolid\u003d1,"},{"line_number":308,"context_line":"                                            volume_name\u003d\u0027fake_lun\u0027)"},{"line_number":309,"context_line":"            data \u003d json.dumps({\"capacity_bytes\": 1024,"}],"source_content_type":"text/x-python","patch_set":7,"id":"df33271e_0980b145","line":306,"updated":"2020-04-01 06:41:10.000000000","message":"E1111: \u001b[1;31mAssigning result of a function call, where the function has no return\u001b[0m (\u001b[1;31massignment-from-no-return\u001b[0m)","commit_id":"322485482505a964d5e0fedd96cc226b23bc8662"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"c6cb469aaf99f1b3cd86127b22d2d6d13a1e215d","unresolved":false,"context_lines":[{"line_number":318,"context_line":"        \"\"\"Test delete lun.\"\"\""},{"line_number":319,"context_line":"        with mock.patch.object(self.client.session, \u0027post\u0027,"},{"line_number":320,"context_line":"                               wraps\u003dself.client.session.post) as mocker:"},{"line_number":321,"context_line":"            retval \u003d self.client.delete_lun(poolid\u003d1,"},{"line_number":322,"context_line":"                                            volume_name\u003d\u0027fake_lun\u0027)"},{"line_number":323,"context_line":"            data \u003d json.dumps({\"delayTime\": 0, \"volumeNameList\": [{"},{"line_number":324,"context_line":"                               \"poolId\": 1,"}],"source_content_type":"text/x-python","patch_set":7,"id":"df33271e_699a1db9","line":321,"updated":"2020-04-01 06:41:10.000000000","message":"E1128: \u001b[1;31mAssigning result of a function call, where the function returns None\u001b[0m (\u001b[1;31massignment-from-none\u001b[0m)","commit_id":"322485482505a964d5e0fedd96cc226b23bc8662"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"c6cb469aaf99f1b3cd86127b22d2d6d13a1e215d","unresolved":false,"context_lines":[{"line_number":332,"context_line":"        \"\"\"Test resize lun.\"\"\""},{"line_number":333,"context_line":"        with mock.patch.object(self.client.session, \u0027post\u0027,"},{"line_number":334,"context_line":"                               wraps\u003dself.client.session.post) as mocker:"},{"line_number":335,"context_line":"            retval \u003d self.client.extend_lun(capacity_bytes\u003d2048,"},{"line_number":336,"context_line":"                                            poolid\u003d1,"},{"line_number":337,"context_line":"                                            volume_name\u003d\u0027fake_lun\u0027)"},{"line_number":338,"context_line":"            data \u003d json.dumps({\"capacity_bytes\": 2048,"}],"source_content_type":"text/x-python","patch_set":7,"id":"df33271e_49959986","line":335,"updated":"2020-04-01 06:41:10.000000000","message":"E1111: \u001b[1;31mAssigning result of a function call, where the function has no return\u001b[0m (\u001b[1;31massignment-from-no-return\u001b[0m)","commit_id":"322485482505a964d5e0fedd96cc226b23bc8662"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"c6cb469aaf99f1b3cd86127b22d2d6d13a1e215d","unresolved":false,"context_lines":[{"line_number":353,"context_line":"            mock__judge_delaytask_status.return_value \u003d None"},{"line_number":354,"context_line":"            lun_uuid \u003d \"c5c8533c-4ce0-11ea-bc01-005056a736f8\""},{"line_number":355,"context_line":"            mock_query_lun_by_name.return_value \u003d {\u0027uuid\u0027: lun_uuid}"},{"line_number":356,"context_line":"            retval \u003d self.client.unmap_lun(target_name\u003d\u0027fake_target\u0027,"},{"line_number":357,"context_line":"                                           poolid\u003d1,"},{"line_number":358,"context_line":"                                           volume_name\u003d\u0027fake_lun\u0027,"},{"line_number":359,"context_line":"                                           pool_name\u003d\u0027fake_pool\u0027)"}],"source_content_type":"text/x-python","patch_set":7,"id":"df33271e_a990a596","line":356,"updated":"2020-04-01 06:41:10.000000000","message":"E1128: \u001b[1;31mAssigning result of a function call, where the function returns None\u001b[0m (\u001b[1;31massignment-from-none\u001b[0m)","commit_id":"322485482505a964d5e0fedd96cc226b23bc8662"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"c6cb469aaf99f1b3cd86127b22d2d6d13a1e215d","unresolved":false,"context_lines":[{"line_number":375,"context_line":"            mock__judge_delaytask_status.return_value \u003d None"},{"line_number":376,"context_line":"            lun_uuid \u003d \"c5c8533c-4ce0-11ea-bc01-005056a736f8\""},{"line_number":377,"context_line":"            mock_query_lun_by_name.return_value \u003d {\u0027uuid\u0027: lun_uuid}"},{"line_number":378,"context_line":"            retval \u003d self.client.mapping_lun("},{"line_number":379,"context_line":"                target_name\u003d\u0027fake_target\u0027,"},{"line_number":380,"context_line":"                poolid\u003d1,"},{"line_number":381,"context_line":"                volume_name\u003d\u0027fake_lun\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"df33271e_898b2166","line":378,"updated":"2020-04-01 06:41:10.000000000","message":"E1128: \u001b[1;31mAssigning result of a function call, where the function returns None\u001b[0m (\u001b[1;31massignment-from-none\u001b[0m)","commit_id":"322485482505a964d5e0fedd96cc226b23bc8662"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"c6cb469aaf99f1b3cd86127b22d2d6d13a1e215d","unresolved":false,"context_lines":[{"line_number":429,"context_line":"        with mock.patch.object(self.client.session, \u0027post\u0027,"},{"line_number":430,"context_line":"                               wraps\u003dself.client.session.post) as mocker:"},{"line_number":431,"context_line":"            mock__judge_delaytask_status.return_value \u003d None"},{"line_number":432,"context_line":"            retval \u003d self.client.create_snapshot(poolid\u003d1,"},{"line_number":433,"context_line":"                                                 volume_name\u003d\u0027fake_lun\u0027,"},{"line_number":434,"context_line":"                                                 snapshot_name\u003d\u0027fake_snapshot\u0027)"},{"line_number":435,"context_line":"            data \u003d json.dumps("}],"source_content_type":"text/x-python","patch_set":7,"id":"df33271e_e9ebcd0f","line":432,"updated":"2020-04-01 06:41:10.000000000","message":"E1128: \u001b[1;31mAssigning result of a function call, where the function returns None\u001b[0m (\u001b[1;31massignment-from-none\u001b[0m)","commit_id":"322485482505a964d5e0fedd96cc226b23bc8662"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"c6cb469aaf99f1b3cd86127b22d2d6d13a1e215d","unresolved":false,"context_lines":[{"line_number":448,"context_line":"        with mock.patch.object(self.client.session, \u0027post\u0027,"},{"line_number":449,"context_line":"                               wraps\u003dself.client.session.post) as mocker:"},{"line_number":450,"context_line":"            mock__judge_delaytask_status.return_value \u003d None"},{"line_number":451,"context_line":"            retval \u003d self.client.delete_snapshot(poolid\u003d1,"},{"line_number":452,"context_line":"                                                 volume_name\u003d\u0027fake_lun\u0027,"},{"line_number":453,"context_line":"                                                 snapshot_name\u003d\u0027fake_snapshot\u0027)"},{"line_number":454,"context_line":"            data \u003d json.dumps("}],"source_content_type":"text/x-python","patch_set":7,"id":"df33271e_c9eec920","line":451,"updated":"2020-04-01 06:41:10.000000000","message":"E1128: \u001b[1;31mAssigning result of a function call, where the function returns None\u001b[0m (\u001b[1;31massignment-from-none\u001b[0m)","commit_id":"322485482505a964d5e0fedd96cc226b23bc8662"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"c6cb469aaf99f1b3cd86127b22d2d6d13a1e215d","unresolved":false,"context_lines":[{"line_number":468,"context_line":"                               wraps\u003dself.client.session.post) as mocker:"},{"line_number":469,"context_line":"            mock__judge_delaytask_status.return_value \u003d None"},{"line_number":470,"context_line":"            mock_flatten_lun.return_value \u003d None"},{"line_number":471,"context_line":"            retval \u003d self.client.create_lun_from_snapshot("},{"line_number":472,"context_line":"                snapshot_name\u003d\u0027fake_snapshot\u0027,"},{"line_number":473,"context_line":"                src_volume_name\u003d\u0027fake_src_lun\u0027,"},{"line_number":474,"context_line":"                poolid\u003d1,"}],"source_content_type":"text/x-python","patch_set":7,"id":"df33271e_29f2d506","line":471,"updated":"2020-04-01 06:41:10.000000000","message":"E1128: \u001b[1;31mAssigning result of a function call, where the function returns None\u001b[0m (\u001b[1;31massignment-from-none\u001b[0m)","commit_id":"322485482505a964d5e0fedd96cc226b23bc8662"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"c6cb469aaf99f1b3cd86127b22d2d6d13a1e215d","unresolved":false,"context_lines":[{"line_number":490,"context_line":"        with mock.patch.object(self.client.session, \u0027post\u0027,"},{"line_number":491,"context_line":"                               wraps\u003dself.client.session.post) as mocker:"},{"line_number":492,"context_line":"            mock__judge_delaytask_status.return_value \u003d None"},{"line_number":493,"context_line":"            retval \u003d self.client.flatten_lun(volume_name\u003d\u0027fake_lun\u0027,"},{"line_number":494,"context_line":"                                             poolid\u003d1)"},{"line_number":495,"context_line":"            data \u003d json.dumps("},{"line_number":496,"context_line":"                {\"poolId\": 1,"}],"source_content_type":"text/x-python","patch_set":7,"id":"df33271e_09f551ed","line":493,"updated":"2020-04-01 06:41:10.000000000","message":"E1128: \u001b[1;31mAssigning result of a function call, where the function returns None\u001b[0m (\u001b[1;31massignment-from-none\u001b[0m)","commit_id":"322485482505a964d5e0fedd96cc226b23bc8662"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"c6cb469aaf99f1b3cd86127b22d2d6d13a1e215d","unresolved":false,"context_lines":[{"line_number":535,"context_line":"        mock_create_lun_from_snapshot.return_value \u003d {\u0027success\u0027: 1}"},{"line_number":536,"context_line":"        mock_flatten_lun.return_value \u003d {\u0027success\u0027: 1}"},{"line_number":537,"context_line":"        mock_delete_snapshot.return_value \u003d {\u0027success\u0027: 1}"},{"line_number":538,"context_line":"        retval \u003d self.client.create_lun_from_lun("},{"line_number":539,"context_line":"            dst_volume_name\u003d\u0027fake_dst_lun\u0027,"},{"line_number":540,"context_line":"            poolid\u003d1,"},{"line_number":541,"context_line":"            src_volume_name\u003d\u0027fake_src_lun\u0027)"}],"source_content_type":"text/x-python","patch_set":7,"id":"df33271e_69dfbd68","line":538,"updated":"2020-04-01 06:41:10.000000000","message":"E1111: \u001b[1;31mAssigning result of a function call, where the function has no return\u001b[0m (\u001b[1;31massignment-from-no-return\u001b[0m)","commit_id":"322485482505a964d5e0fedd96cc226b23bc8662"}],"cinder/tests/unit/volume/drivers/sandstone/test_sds_driver.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"72874733201f9e8c5ae155bd9c1b3721896b9267","unresolved":false,"context_lines":[{"line_number":16,"context_line":"import uuid"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"import ddt"},{"line_number":19,"context_line":"import mock"},{"line_number":20,"context_line":"from oslo_utils import units"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from cinder import exception"}],"source_content_type":"text/x-python","patch_set":4,"id":"df33271e_2b9dd2bb","line":19,"updated":"2020-03-30 19:05:06.000000000","message":"from unittest import mock","commit_id":"96dce30c45fbc1cdcb1dcc1486650bbdb378d670"}],"cinder/volume/drivers/sandstone/sds_client.py":[{"author":{"_account_id":18058,"name":"Lucio Seki","email":"lseki@redhat.com","username":"lseki"},"change_message_id":"63b5002c901c78d5ce4892809a21e57054589fb2","unresolved":false,"context_lines":[{"line_number":109,"context_line":"                                            \u0027data\u0027: data, \u0027res\u0027: result,"},{"line_number":110,"context_line":"                                            \u0027res_json\u0027: result.json()})"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        if json_flag:"},{"line_number":113,"context_line":"            return result"},{"line_number":114,"context_line":"        else:"},{"line_number":115,"context_line":"            return result.json()"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    def _assert_restapi_result(self, result, err):"},{"line_number":118,"context_line":"        if result.get(\"success\") !\u003d 1:"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_d0b26d06","line":115,"range":{"start_line":112,"start_character":0,"end_line":115,"end_character":32},"updated":"2020-03-19 21:25:49.000000000","message":"Is this condition inverted?\n\nresult.json() sounds like \u0027give me the JSON formatted output from result\u0027, but it\u0027s returned when json_flag is False.","commit_id":"856f3f9cc1ea274a5e9efc2e88792a932556b5eb"},{"author":{"_account_id":31416,"name":"wuqiongdan","email":"wuqiongdan@szsandstone.com","username":"wuqiongdan"},"change_message_id":"dc1c45839f8fbfab0ffdb2ce0b575487772f3212","unresolved":false,"context_lines":[{"line_number":109,"context_line":"                                            \u0027data\u0027: data, \u0027res\u0027: result,"},{"line_number":110,"context_line":"                                            \u0027res_json\u0027: result.json()})"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        if json_flag:"},{"line_number":113,"context_line":"            return result"},{"line_number":114,"context_line":"        else:"},{"line_number":115,"context_line":"            return result.json()"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    def _assert_restapi_result(self, result, err):"},{"line_number":118,"context_line":"        if result.get(\"success\") !\u003d 1:"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_ab609f02","line":115,"range":{"start_line":112,"start_character":0,"end_line":115,"end_character":32},"in_reply_to":"1fa4df85_d0b26d06","updated":"2020-03-30 02:27:10.000000000","message":"Done","commit_id":"856f3f9cc1ea274a5e9efc2e88792a932556b5eb"},{"author":{"_account_id":18058,"name":"Lucio Seki","email":"lseki@redhat.com","username":"lseki"},"change_message_id":"63b5002c901c78d5ce4892809a21e57054589fb2","unresolved":false,"context_lines":[{"line_number":217,"context_line":"                       \"err\": exc}"},{"line_number":218,"context_line":"                LOG.error(msg)"},{"line_number":219,"context_line":"            if task_status.get(\u0027run_status\u0027) \u003d\u003d \"failed\" and\\"},{"line_number":220,"context_line":"                    task_status.get(\u0027progress\u0027) \u003e\u003d 0:"},{"line_number":221,"context_line":"                msg \u003d _(\"Map initator : %(initiator)s failed, \""},{"line_number":222,"context_line":"                        \"Map progress is %(map_process)d.\")\\"},{"line_number":223,"context_line":"                    % {\"initiator\": initiator_name,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_70013906","line":220,"range":{"start_line":220,"start_character":20,"end_line":220,"end_character":52},"updated":"2020-03-19 21:25:49.000000000","message":"Do you really need this condition?\nIf run_status is failed, you don\u0027t care if the progress is negative.","commit_id":"856f3f9cc1ea274a5e9efc2e88792a932556b5eb"},{"author":{"_account_id":31416,"name":"wuqiongdan","email":"wuqiongdan@szsandstone.com","username":"wuqiongdan"},"change_message_id":"dc1c45839f8fbfab0ffdb2ce0b575487772f3212","unresolved":false,"context_lines":[{"line_number":217,"context_line":"                       \"err\": exc}"},{"line_number":218,"context_line":"                LOG.error(msg)"},{"line_number":219,"context_line":"            if task_status.get(\u0027run_status\u0027) \u003d\u003d \"failed\" and\\"},{"line_number":220,"context_line":"                    task_status.get(\u0027progress\u0027) \u003e\u003d 0:"},{"line_number":221,"context_line":"                msg \u003d _(\"Map initator : %(initiator)s failed, \""},{"line_number":222,"context_line":"                        \"Map progress is %(map_process)d.\")\\"},{"line_number":223,"context_line":"                    % {\"initiator\": initiator_name,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_4e057910","line":220,"range":{"start_line":220,"start_character":20,"end_line":220,"end_character":52},"in_reply_to":"1fa4df85_70013906","updated":"2020-03-30 02:27:10.000000000","message":"Done","commit_id":"856f3f9cc1ea274a5e9efc2e88792a932556b5eb"},{"author":{"_account_id":18058,"name":"Lucio Seki","email":"lseki@redhat.com","username":"lseki"},"change_message_id":"63b5002c901c78d5ce4892809a21e57054589fb2","unresolved":false,"context_lines":[{"line_number":244,"context_line":"                       \"total\": 1 * wait}"},{"line_number":245,"context_line":"                LOG.info(msg)"},{"line_number":246,"context_line":"                break"},{"line_number":247,"context_line":"        self._assert_restapi_result(result, _(\"Add initiator\""},{"line_number":248,"context_line":"                                              \"to target error.\"))"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"    def query_map_initiator_porcess(self, target_name,"},{"line_number":251,"context_line":"                                    initiator_name):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_c68077fa","line":248,"range":{"start_line":247,"start_character":51,"end_line":248,"end_character":49},"updated":"2020-03-19 21:25:49.000000000","message":"Add a space here, otherwise it will result in \"Add initiatorto target error.\"","commit_id":"856f3f9cc1ea274a5e9efc2e88792a932556b5eb"},{"author":{"_account_id":31416,"name":"wuqiongdan","email":"wuqiongdan@szsandstone.com","username":"wuqiongdan"},"change_message_id":"dc1c45839f8fbfab0ffdb2ce0b575487772f3212","unresolved":false,"context_lines":[{"line_number":244,"context_line":"                       \"total\": 1 * wait}"},{"line_number":245,"context_line":"                LOG.info(msg)"},{"line_number":246,"context_line":"                break"},{"line_number":247,"context_line":"        self._assert_restapi_result(result, _(\"Add initiator\""},{"line_number":248,"context_line":"                                              \"to target error.\"))"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"    def query_map_initiator_porcess(self, target_name,"},{"line_number":251,"context_line":"                                    initiator_name):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_6e195578","line":248,"range":{"start_line":247,"start_character":51,"end_line":248,"end_character":49},"in_reply_to":"1fa4df85_c68077fa","updated":"2020-03-30 02:27:10.000000000","message":"Done","commit_id":"856f3f9cc1ea274a5e9efc2e88792a932556b5eb"},{"author":{"_account_id":18058,"name":"Lucio Seki","email":"lseki@redhat.com","username":"lseki"},"change_message_id":"63b5002c901c78d5ce4892809a21e57054589fb2","unresolved":false,"context_lines":[{"line_number":256,"context_line":"        self._assert_restapi_result(result, _(\"Query query mapping\\"},{"line_number":257,"context_line":"                                               initiator process error.\"))"},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"        task \u003d [map_initiator_task for map_initiator_task in"},{"line_number":260,"context_line":"                result[\"data\"].get(\"results\", None) or []"},{"line_number":261,"context_line":"                if map_initiator_task[\"executor\"] \u003d\u003d \"MapInitiator\""},{"line_number":262,"context_line":"                and map_initiator_task[\"parameter\"] \u003d\u003d"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_66442348","line":259,"updated":"2020-03-19 21:25:49.000000000","message":"nit: this instruction is somewhat complex. You may split this into several instructions, so it will be easier for eventual debug and future changes:\n\n    results \u003d result[\"data\"].get(\"results\", [])\n    expected_parameter \u003d [{\n        \"target_name\": target_name,\n        ...\n    }]\n    tasks \u003d list(filter(lambda t: t[\"executor\"] \u003d\u003d \"MapInitiator\" and ..., results))","commit_id":"856f3f9cc1ea274a5e9efc2e88792a932556b5eb"},{"author":{"_account_id":31416,"name":"wuqiongdan","email":"wuqiongdan@szsandstone.com","username":"wuqiongdan"},"change_message_id":"dc1c45839f8fbfab0ffdb2ce0b575487772f3212","unresolved":false,"context_lines":[{"line_number":256,"context_line":"        self._assert_restapi_result(result, _(\"Query query mapping\\"},{"line_number":257,"context_line":"                                               initiator process error.\"))"},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"        task \u003d [map_initiator_task for map_initiator_task in"},{"line_number":260,"context_line":"                result[\"data\"].get(\"results\", None) or []"},{"line_number":261,"context_line":"                if map_initiator_task[\"executor\"] \u003d\u003d \"MapInitiator\""},{"line_number":262,"context_line":"                and map_initiator_task[\"parameter\"] \u003d\u003d"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_ae418d3b","line":259,"in_reply_to":"1fa4df85_66442348","updated":"2020-03-30 02:27:10.000000000","message":"Done","commit_id":"856f3f9cc1ea274a5e9efc2e88792a932556b5eb"},{"author":{"_account_id":18058,"name":"Lucio Seki","email":"lseki@redhat.com","username":"lseki"},"change_message_id":"63b5002c901c78d5ce4892809a21e57054589fb2","unresolved":false,"context_lines":[{"line_number":272,"context_line":"        data \u003d {\"initiatorMark\": \"\", \"pageno\": 1,"},{"line_number":273,"context_line":"                \"pagesize\": self.pagesize, \"type\": \"iSCSI\"}"},{"line_number":274,"context_line":"        result \u003d self.run(url, \u0027POST\u0027, data\u003ddata)"},{"line_number":275,"context_line":"        self._assert_restapi_result(result, _(\"Query initiator\\"},{"line_number":276,"context_line":"                                              by name error.\"))"},{"line_number":277,"context_line":""},{"line_number":278,"context_line":"        # initiator list use allResults"},{"line_number":279,"context_line":"        all_result \u003d result[\"data\"].get(\"results\", None)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_0690cf42","line":276,"range":{"start_line":275,"start_character":53,"end_line":276,"end_character":48},"updated":"2020-03-19 21:25:49.000000000","message":"Missing quotes before and after line break. This will result in \"Query initiator (lots of spaces) by name error.\"","commit_id":"856f3f9cc1ea274a5e9efc2e88792a932556b5eb"},{"author":{"_account_id":31416,"name":"wuqiongdan","email":"wuqiongdan@szsandstone.com","username":"wuqiongdan"},"change_message_id":"dc1c45839f8fbfab0ffdb2ce0b575487772f3212","unresolved":false,"context_lines":[{"line_number":272,"context_line":"        data \u003d {\"initiatorMark\": \"\", \"pageno\": 1,"},{"line_number":273,"context_line":"                \"pagesize\": self.pagesize, \"type\": \"iSCSI\"}"},{"line_number":274,"context_line":"        result \u003d self.run(url, \u0027POST\u0027, data\u003ddata)"},{"line_number":275,"context_line":"        self._assert_restapi_result(result, _(\"Query initiator\\"},{"line_number":276,"context_line":"                                              by name error.\"))"},{"line_number":277,"context_line":""},{"line_number":278,"context_line":"        # initiator list use allResults"},{"line_number":279,"context_line":"        all_result \u003d result[\"data\"].get(\"results\", None)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_8e44d148","line":276,"range":{"start_line":275,"start_character":53,"end_line":276,"end_character":48},"in_reply_to":"1fa4df85_0690cf42","updated":"2020-03-30 02:27:10.000000000","message":"Done","commit_id":"856f3f9cc1ea274a5e9efc2e88792a932556b5eb"},{"author":{"_account_id":18058,"name":"Lucio Seki","email":"lseki@redhat.com","username":"lseki"},"change_message_id":"63b5002c901c78d5ce4892809a21e57054589fb2","unresolved":false,"context_lines":[{"line_number":289,"context_line":"        data \u003d {\"pageno\": 1, \"pagesize\": self.pagesize,"},{"line_number":290,"context_line":"                \"targetName\": target_name}"},{"line_number":291,"context_line":"        result \u003d self.run(url, \u0027POST\u0027, data\u003ddata)"},{"line_number":292,"context_line":"        self._assert_restapi_result(result, _(\"Query target\\"},{"line_number":293,"context_line":"                                              initiatoracl error.\"))"},{"line_number":294,"context_line":""},{"line_number":295,"context_line":"        # get_target_acl_list use results"},{"line_number":296,"context_line":"        results \u003d result[\"data\"].get(\"results\", None)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_2695cb33","line":293,"range":{"start_line":292,"start_character":47,"end_line":293,"end_character":64},"updated":"2020-03-19 21:25:49.000000000","message":"same as L276","commit_id":"856f3f9cc1ea274a5e9efc2e88792a932556b5eb"},{"author":{"_account_id":31416,"name":"wuqiongdan","email":"wuqiongdan@szsandstone.com","username":"wuqiongdan"},"change_message_id":"dc1c45839f8fbfab0ffdb2ce0b575487772f3212","unresolved":false,"context_lines":[{"line_number":289,"context_line":"        data \u003d {\"pageno\": 1, \"pagesize\": self.pagesize,"},{"line_number":290,"context_line":"                \"targetName\": target_name}"},{"line_number":291,"context_line":"        result \u003d self.run(url, \u0027POST\u0027, data\u003ddata)"},{"line_number":292,"context_line":"        self._assert_restapi_result(result, _(\"Query target\\"},{"line_number":293,"context_line":"                                              initiatoracl error.\"))"},{"line_number":294,"context_line":""},{"line_number":295,"context_line":"        # get_target_acl_list use results"},{"line_number":296,"context_line":"        results \u003d result[\"data\"].get(\"results\", None)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_6e6075d0","line":293,"range":{"start_line":292,"start_character":47,"end_line":293,"end_character":64},"in_reply_to":"1fa4df85_2695cb33","updated":"2020-03-30 02:27:10.000000000","message":"Done","commit_id":"856f3f9cc1ea274a5e9efc2e88792a932556b5eb"},{"author":{"_account_id":18058,"name":"Lucio Seki","email":"lseki@redhat.com","username":"lseki"},"change_message_id":"63b5002c901c78d5ce4892809a21e57054589fb2","unresolved":false,"context_lines":[{"line_number":302,"context_line":"        \"\"\"Query target ip relation with node.\"\"\""},{"line_number":303,"context_line":"        url \u003d \u0027block/gateway/server/list\u0027"},{"line_number":304,"context_line":"        result \u003d self.run(url, \u0027POST\u0027)"},{"line_number":305,"context_line":"        self._assert_restapi_result(result, _(\"Query node by\\"},{"line_number":306,"context_line":"                                              targetips error.\"))"},{"line_number":307,"context_line":""},{"line_number":308,"context_line":"        targetip_to_hostid \u003d {}"},{"line_number":309,"context_line":"        for node in result[\"data\"]:"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_c695d733","line":306,"range":{"start_line":305,"start_character":47,"end_line":306,"end_character":61},"updated":"2020-03-19 21:25:49.000000000","message":"same as L276","commit_id":"856f3f9cc1ea274a5e9efc2e88792a932556b5eb"},{"author":{"_account_id":31416,"name":"wuqiongdan","email":"wuqiongdan@szsandstone.com","username":"wuqiongdan"},"change_message_id":"dc1c45839f8fbfab0ffdb2ce0b575487772f3212","unresolved":false,"context_lines":[{"line_number":302,"context_line":"        \"\"\"Query target ip relation with node.\"\"\""},{"line_number":303,"context_line":"        url \u003d \u0027block/gateway/server/list\u0027"},{"line_number":304,"context_line":"        result \u003d self.run(url, \u0027POST\u0027)"},{"line_number":305,"context_line":"        self._assert_restapi_result(result, _(\"Query node by\\"},{"line_number":306,"context_line":"                                              targetips error.\"))"},{"line_number":307,"context_line":""},{"line_number":308,"context_line":"        targetip_to_hostid \u003d {}"},{"line_number":309,"context_line":"        for node in result[\"data\"]:"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_eea1c5f8","line":306,"range":{"start_line":305,"start_character":47,"end_line":306,"end_character":61},"in_reply_to":"1fa4df85_c695d733","updated":"2020-03-30 02:27:10.000000000","message":"Done","commit_id":"856f3f9cc1ea274a5e9efc2e88792a932556b5eb"},{"author":{"_account_id":18058,"name":"Lucio Seki","email":"lseki@redhat.com","username":"lseki"},"change_message_id":"63b5002c901c78d5ce4892809a21e57054589fb2","unresolved":false,"context_lines":[{"line_number":346,"context_line":"    def add_chap_by_target(self, target_name, usename, password):"},{"line_number":347,"context_line":"        \"\"\"Add chap to target, only support forward.\"\"\""},{"line_number":348,"context_line":"        url \u003d \u0027resource/target/add_chap\u0027"},{"line_number":349,"context_line":"        data \u003d {\"mutul\": False, \"password\": password,"},{"line_number":350,"context_line":"                \"username\": usename, \"targetName\": target_name}"},{"line_number":351,"context_line":"        result \u003d self.run(url, \u0027POST\u0027, data\u003ddata)"},{"line_number":352,"context_line":"        self._assert_restapi_result(result, _(\"Add chap by target error.\"))"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_c6e397d7","line":349,"range":{"start_line":349,"start_character":17,"end_line":349,"end_character":22},"updated":"2020-03-19 21:25:49.000000000","message":"Did you mean \"mutual\"?","commit_id":"856f3f9cc1ea274a5e9efc2e88792a932556b5eb"},{"author":{"_account_id":31416,"name":"wuqiongdan","email":"wuqiongdan@szsandstone.com","username":"wuqiongdan"},"change_message_id":"dc1c45839f8fbfab0ffdb2ce0b575487772f3212","unresolved":false,"context_lines":[{"line_number":346,"context_line":"    def add_chap_by_target(self, target_name, usename, password):"},{"line_number":347,"context_line":"        \"\"\"Add chap to target, only support forward.\"\"\""},{"line_number":348,"context_line":"        url \u003d \u0027resource/target/add_chap\u0027"},{"line_number":349,"context_line":"        data \u003d {\"mutul\": False, \"password\": password,"},{"line_number":350,"context_line":"                \"username\": usename, \"targetName\": target_name}"},{"line_number":351,"context_line":"        result \u003d self.run(url, \u0027POST\u0027, data\u003ddata)"},{"line_number":352,"context_line":"        self._assert_restapi_result(result, _(\"Add chap by target error.\"))"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_6b7dc7b0","line":349,"range":{"start_line":349,"start_character":17,"end_line":349,"end_character":22},"in_reply_to":"1fa4df85_c6e397d7","updated":"2020-03-30 02:27:10.000000000","message":"Done","commit_id":"856f3f9cc1ea274a5e9efc2e88792a932556b5eb"},{"author":{"_account_id":18058,"name":"Lucio Seki","email":"lseki@redhat.com","username":"lseki"},"change_message_id":"63b5002c901c78d5ce4892809a21e57054589fb2","unresolved":false,"context_lines":[{"line_number":356,"context_line":"        url \u003d \u0027resource/target/get_chap_list\u0027"},{"line_number":357,"context_line":"        data \u003d {\"targetName\": target_name}"},{"line_number":358,"context_line":"        result \u003d self.run(url, \u0027POST\u0027, data\u003ddata)"},{"line_number":359,"context_line":"        self._assert_restapi_result(result, _(\"Query chapinfo\\"},{"line_number":360,"context_line":"                                              by target error.\"))"},{"line_number":361,"context_line":""},{"line_number":362,"context_line":"        chapinfos \u003d result.get(\u0027data\u0027)"},{"line_number":363,"context_line":"        chap \u003d [c for c in chapinfos or [] if c.get(\"user\") \u003d\u003d username]"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_66ed03b6","line":360,"range":{"start_line":359,"start_character":47,"end_line":360,"end_character":61},"updated":"2020-03-19 21:25:49.000000000","message":"same as L276","commit_id":"856f3f9cc1ea274a5e9efc2e88792a932556b5eb"},{"author":{"_account_id":31416,"name":"wuqiongdan","email":"wuqiongdan@szsandstone.com","username":"wuqiongdan"},"change_message_id":"dc1c45839f8fbfab0ffdb2ce0b575487772f3212","unresolved":false,"context_lines":[{"line_number":356,"context_line":"        url \u003d \u0027resource/target/get_chap_list\u0027"},{"line_number":357,"context_line":"        data \u003d {\"targetName\": target_name}"},{"line_number":358,"context_line":"        result \u003d self.run(url, \u0027POST\u0027, data\u003ddata)"},{"line_number":359,"context_line":"        self._assert_restapi_result(result, _(\"Query chapinfo\\"},{"line_number":360,"context_line":"                                              by target error.\"))"},{"line_number":361,"context_line":""},{"line_number":362,"context_line":"        chapinfos \u003d result.get(\u0027data\u0027)"},{"line_number":363,"context_line":"        chap \u003d [c for c in chapinfos or [] if c.get(\"user\") \u003d\u003d username]"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_ce108951","line":360,"range":{"start_line":359,"start_character":47,"end_line":360,"end_character":61},"in_reply_to":"1fa4df85_66ed03b6","updated":"2020-03-30 02:27:10.000000000","message":"Done","commit_id":"856f3f9cc1ea274a5e9efc2e88792a932556b5eb"},{"author":{"_account_id":18058,"name":"Lucio Seki","email":"lseki@redhat.com","username":"lseki"},"change_message_id":"63b5002c901c78d5ce4892809a21e57054589fb2","unresolved":false,"context_lines":[{"line_number":443,"context_line":"                           \"err\": exc}"},{"line_number":444,"context_line":"                    LOG.error(msg)"},{"line_number":445,"context_line":"                if task_status.get(\u0027run_status\u0027) \u003d\u003d \"failed\" and\\"},{"line_number":446,"context_line":"                        task_status.get(\u0027progress\u0027) \u003e\u003d 0:"},{"line_number":447,"context_line":"                    msg \u003d _(\"Map lun : %(volume_name)s failed, \""},{"line_number":448,"context_line":"                            \"Map progress is %(map_process)d.\")\\"},{"line_number":449,"context_line":"                        % {\"volume_name\": volume_name,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_c6fcf773","line":446,"range":{"start_line":446,"start_character":24,"end_line":446,"end_character":56},"updated":"2020-03-19 21:25:49.000000000","message":"same as L220","commit_id":"856f3f9cc1ea274a5e9efc2e88792a932556b5eb"},{"author":{"_account_id":31416,"name":"wuqiongdan","email":"wuqiongdan@szsandstone.com","username":"wuqiongdan"},"change_message_id":"dc1c45839f8fbfab0ffdb2ce0b575487772f3212","unresolved":false,"context_lines":[{"line_number":443,"context_line":"                           \"err\": exc}"},{"line_number":444,"context_line":"                    LOG.error(msg)"},{"line_number":445,"context_line":"                if task_status.get(\u0027run_status\u0027) \u003d\u003d \"failed\" and\\"},{"line_number":446,"context_line":"                        task_status.get(\u0027progress\u0027) \u003e\u003d 0:"},{"line_number":447,"context_line":"                    msg \u003d _(\"Map lun : %(volume_name)s failed, \""},{"line_number":448,"context_line":"                            \"Map progress is %(map_process)d.\")\\"},{"line_number":449,"context_line":"                        % {\"volume_name\": volume_name,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_aeaf4de1","line":446,"range":{"start_line":446,"start_character":24,"end_line":446,"end_character":56},"in_reply_to":"1fa4df85_c6fcf773","updated":"2020-03-30 02:27:10.000000000","message":"Done","commit_id":"856f3f9cc1ea274a5e9efc2e88792a932556b5eb"},{"author":{"_account_id":18058,"name":"Lucio Seki","email":"lseki@redhat.com","username":"lseki"},"change_message_id":"63b5002c901c78d5ce4892809a21e57054589fb2","unresolved":false,"context_lines":[{"line_number":481,"context_line":"        url \u003d \u0027delaytask/list\u0027"},{"line_number":482,"context_line":"        data \u003d {\"pageno\": 1, \"pagesize\": 5}"},{"line_number":483,"context_line":"        result \u003d self.run(url, \u0027POST\u0027, data\u003ddata, om_op_flag\u003dTrue)"},{"line_number":484,"context_line":"        self._assert_restapi_result(result, _(\"Query query mapping\\"},{"line_number":485,"context_line":"                                               lun process error.\"))"},{"line_number":486,"context_line":""},{"line_number":487,"context_line":"        task \u003d [map_initiator_task for map_initiator_task in"},{"line_number":488,"context_line":"                result[\"data\"].get(\"results\", None) or []"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_a6f77b8b","line":485,"range":{"start_line":484,"start_character":47,"end_line":485,"end_character":64},"updated":"2020-03-19 21:25:49.000000000","message":"same as L276","commit_id":"856f3f9cc1ea274a5e9efc2e88792a932556b5eb"},{"author":{"_account_id":31416,"name":"wuqiongdan","email":"wuqiongdan@szsandstone.com","username":"wuqiongdan"},"change_message_id":"dc1c45839f8fbfab0ffdb2ce0b575487772f3212","unresolved":false,"context_lines":[{"line_number":481,"context_line":"        url \u003d \u0027delaytask/list\u0027"},{"line_number":482,"context_line":"        data \u003d {\"pageno\": 1, \"pagesize\": 5}"},{"line_number":483,"context_line":"        result \u003d self.run(url, \u0027POST\u0027, data\u003ddata, om_op_flag\u003dTrue)"},{"line_number":484,"context_line":"        self._assert_restapi_result(result, _(\"Query query mapping\\"},{"line_number":485,"context_line":"                                               lun process error.\"))"},{"line_number":486,"context_line":""},{"line_number":487,"context_line":"        task \u003d [map_initiator_task for map_initiator_task in"},{"line_number":488,"context_line":"                result[\"data\"].get(\"results\", None) or []"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_5919c177","line":485,"range":{"start_line":484,"start_character":47,"end_line":485,"end_character":64},"in_reply_to":"1fa4df85_a6f77b8b","updated":"2020-03-30 02:27:10.000000000","message":"Done","commit_id":"856f3f9cc1ea274a5e9efc2e88792a932556b5eb"},{"author":{"_account_id":18058,"name":"Lucio Seki","email":"lseki@redhat.com","username":"lseki"},"change_message_id":"63b5002c901c78d5ce4892809a21e57054589fb2","unresolved":false,"context_lines":[{"line_number":551,"context_line":"                \"remark\": \"Cinder iSCSI snapshot.\","},{"line_number":552,"context_line":"                \"snapName\": snapshot_name}"},{"line_number":553,"context_line":"        result \u003d self.run(url, \u0027POST\u0027, data\u003ddata)"},{"line_number":554,"context_line":"        if result.get(\"data\", None) and \\"},{"line_number":555,"context_line":"                \"has exists\" in result.get(\"data\", None):"},{"line_number":556,"context_line":"            return"},{"line_number":557,"context_line":"        # wait for 10 seconds to flatten"},{"line_number":558,"context_line":"        for wait in range(1, 10):"},{"line_number":559,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_664983b5","line":556,"range":{"start_line":554,"start_character":0,"end_line":556,"end_character":18},"updated":"2020-03-19 21:25:49.000000000","message":"Why do you exit this method when the returned data contains the string \"has exists\"?\nA comment explaning this could be helpful.","commit_id":"856f3f9cc1ea274a5e9efc2e88792a932556b5eb"},{"author":{"_account_id":31416,"name":"wuqiongdan","email":"wuqiongdan@szsandstone.com","username":"wuqiongdan"},"change_message_id":"dc1c45839f8fbfab0ffdb2ce0b575487772f3212","unresolved":false,"context_lines":[{"line_number":551,"context_line":"                \"remark\": \"Cinder iSCSI snapshot.\","},{"line_number":552,"context_line":"                \"snapName\": snapshot_name}"},{"line_number":553,"context_line":"        result \u003d self.run(url, \u0027POST\u0027, data\u003ddata)"},{"line_number":554,"context_line":"        if result.get(\"data\", None) and \\"},{"line_number":555,"context_line":"                \"has exists\" in result.get(\"data\", None):"},{"line_number":556,"context_line":"            return"},{"line_number":557,"context_line":"        # wait for 10 seconds to flatten"},{"line_number":558,"context_line":"        for wait in range(1, 10):"},{"line_number":559,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_593221f4","line":556,"range":{"start_line":554,"start_character":0,"end_line":556,"end_character":18},"in_reply_to":"1fa4df85_664983b5","updated":"2020-03-30 02:27:10.000000000","message":"Done","commit_id":"856f3f9cc1ea274a5e9efc2e88792a932556b5eb"},{"author":{"_account_id":18058,"name":"Lucio Seki","email":"lseki@redhat.com","username":"lseki"},"change_message_id":"63b5002c901c78d5ce4892809a21e57054589fb2","unresolved":false,"context_lines":[{"line_number":569,"context_line":"                       \"err\": exc}"},{"line_number":570,"context_line":"                LOG.error(msg)"},{"line_number":571,"context_line":"            if task_status.get(\u0027run_status\u0027) \u003d\u003d \"failed\" and\\"},{"line_number":572,"context_line":"                    task_status.get(\u0027progress\u0027) \u003e\u003d 0:"},{"line_number":573,"context_line":"                msg \u003d _(\"Create snapshot : %(snapshot_name)s failed, \""},{"line_number":574,"context_line":"                        \"Map progress is %(map_process)d.\")\\"},{"line_number":575,"context_line":"                    % {\"snapshot_name\": snapshot_name,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_06c8cf1f","line":572,"range":{"start_line":572,"start_character":20,"end_line":572,"end_character":52},"updated":"2020-03-19 21:25:49.000000000","message":"same as L220","commit_id":"856f3f9cc1ea274a5e9efc2e88792a932556b5eb"},{"author":{"_account_id":31416,"name":"wuqiongdan","email":"wuqiongdan@szsandstone.com","username":"wuqiongdan"},"change_message_id":"dc1c45839f8fbfab0ffdb2ce0b575487772f3212","unresolved":false,"context_lines":[{"line_number":569,"context_line":"                       \"err\": exc}"},{"line_number":570,"context_line":"                LOG.error(msg)"},{"line_number":571,"context_line":"            if task_status.get(\u0027run_status\u0027) \u003d\u003d \"failed\" and\\"},{"line_number":572,"context_line":"                    task_status.get(\u0027progress\u0027) \u003e\u003d 0:"},{"line_number":573,"context_line":"                msg \u003d _(\"Create snapshot : %(snapshot_name)s failed, \""},{"line_number":574,"context_line":"                        \"Map progress is %(map_process)d.\")\\"},{"line_number":575,"context_line":"                    % {\"snapshot_name\": snapshot_name,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_792fdd87","line":572,"range":{"start_line":572,"start_character":20,"end_line":572,"end_character":52},"in_reply_to":"1fa4df85_06c8cf1f","updated":"2020-03-30 02:27:10.000000000","message":"Done","commit_id":"856f3f9cc1ea274a5e9efc2e88792a932556b5eb"},{"author":{"_account_id":18058,"name":"Lucio Seki","email":"lseki@redhat.com","username":"lseki"},"change_message_id":"63b5002c901c78d5ce4892809a21e57054589fb2","unresolved":false,"context_lines":[{"line_number":604,"context_line":"        url \u003d \u0027delaytask/list\u0027"},{"line_number":605,"context_line":"        data \u003d {\"pageno\": 1, \"pagesize\": 5}"},{"line_number":606,"context_line":"        result \u003d self.run(url, \u0027POST\u0027, data\u003ddata, om_op_flag\u003dTrue)"},{"line_number":607,"context_line":"        self._assert_restapi_result(result, _(\"Query query flatten\\"},{"line_number":608,"context_line":"                                               lun process error.\"))"},{"line_number":609,"context_line":""},{"line_number":610,"context_line":"        task \u003d [flatten_task for flatten_task in"},{"line_number":611,"context_line":"                result[\"data\"].get(\"results\", None) or []"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_c6cdd730","line":608,"range":{"start_line":607,"start_character":47,"end_line":608,"end_character":64},"updated":"2020-03-19 21:25:49.000000000","message":"same as L276","commit_id":"856f3f9cc1ea274a5e9efc2e88792a932556b5eb"},{"author":{"_account_id":31416,"name":"wuqiongdan","email":"wuqiongdan@szsandstone.com","username":"wuqiongdan"},"change_message_id":"dc1c45839f8fbfab0ffdb2ce0b575487772f3212","unresolved":false,"context_lines":[{"line_number":604,"context_line":"        url \u003d \u0027delaytask/list\u0027"},{"line_number":605,"context_line":"        data \u003d {\"pageno\": 1, \"pagesize\": 5}"},{"line_number":606,"context_line":"        result \u003d self.run(url, \u0027POST\u0027, data\u003ddata, om_op_flag\u003dTrue)"},{"line_number":607,"context_line":"        self._assert_restapi_result(result, _(\"Query query flatten\\"},{"line_number":608,"context_line":"                                               lun process error.\"))"},{"line_number":609,"context_line":""},{"line_number":610,"context_line":"        task \u003d [flatten_task for flatten_task in"},{"line_number":611,"context_line":"                result[\"data\"].get(\"results\", None) or []"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_7944bd47","line":608,"range":{"start_line":607,"start_character":47,"end_line":608,"end_character":64},"in_reply_to":"1fa4df85_c6cdd730","updated":"2020-03-30 02:27:10.000000000","message":"Done","commit_id":"856f3f9cc1ea274a5e9efc2e88792a932556b5eb"},{"author":{"_account_id":18058,"name":"Lucio Seki","email":"lseki@redhat.com","username":"lseki"},"change_message_id":"63b5002c901c78d5ce4892809a21e57054589fb2","unresolved":false,"context_lines":[{"line_number":661,"context_line":"                       \"err\": exc}"},{"line_number":662,"context_line":"                LOG.error(msg)"},{"line_number":663,"context_line":"            if task_status.get(\u0027run_status\u0027) \u003d\u003d \"failed\" and\\"},{"line_number":664,"context_line":"                    task_status.get(\u0027progress\u0027) \u003e\u003d 0:"},{"line_number":665,"context_line":"                msg \u003d _(\"Clone lun : %(snapshot_name)s failed, \""},{"line_number":666,"context_line":"                        \"clone progress is %(clone_process)d.\")\\"},{"line_number":667,"context_line":"                    % {\"snapshot_name\": snapshot_name,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_66de63db","line":664,"range":{"start_line":664,"start_character":20,"end_line":664,"end_character":52},"updated":"2020-03-19 21:25:49.000000000","message":"same as L220","commit_id":"856f3f9cc1ea274a5e9efc2e88792a932556b5eb"},{"author":{"_account_id":31416,"name":"wuqiongdan","email":"wuqiongdan@szsandstone.com","username":"wuqiongdan"},"change_message_id":"dc1c45839f8fbfab0ffdb2ce0b575487772f3212","unresolved":false,"context_lines":[{"line_number":661,"context_line":"                       \"err\": exc}"},{"line_number":662,"context_line":"                LOG.error(msg)"},{"line_number":663,"context_line":"            if task_status.get(\u0027run_status\u0027) \u003d\u003d \"failed\" and\\"},{"line_number":664,"context_line":"                    task_status.get(\u0027progress\u0027) \u003e\u003d 0:"},{"line_number":665,"context_line":"                msg \u003d _(\"Clone lun : %(snapshot_name)s failed, \""},{"line_number":666,"context_line":"                        \"clone progress is %(clone_process)d.\")\\"},{"line_number":667,"context_line":"                    % {\"snapshot_name\": snapshot_name,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_8e7a91b7","line":664,"range":{"start_line":664,"start_character":20,"end_line":664,"end_character":52},"in_reply_to":"1fa4df85_66de63db","updated":"2020-03-30 02:27:10.000000000","message":"Done","commit_id":"856f3f9cc1ea274a5e9efc2e88792a932556b5eb"},{"author":{"_account_id":18058,"name":"Lucio Seki","email":"lseki@redhat.com","username":"lseki"},"change_message_id":"63b5002c901c78d5ce4892809a21e57054589fb2","unresolved":false,"context_lines":[{"line_number":688,"context_line":"                       \"total\": 1 * wait}"},{"line_number":689,"context_line":"                LOG.info(msg)"},{"line_number":690,"context_line":"                break"},{"line_number":691,"context_line":"        self._assert_restapi_result(result, _(\"Create lun\\"},{"line_number":692,"context_line":"                                              from snapshot error.\"))"},{"line_number":693,"context_line":""},{"line_number":694,"context_line":"    def query_clone_lun_process(self, poolid, volume_name, snapshot_name):"},{"line_number":695,"context_line":"        \"\"\"Query clone lun process.\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_26f62b65","line":692,"range":{"start_line":691,"start_character":47,"end_line":692,"end_character":65},"updated":"2020-03-19 21:25:49.000000000","message":"same as L276","commit_id":"856f3f9cc1ea274a5e9efc2e88792a932556b5eb"},{"author":{"_account_id":31416,"name":"wuqiongdan","email":"wuqiongdan@szsandstone.com","username":"wuqiongdan"},"change_message_id":"dc1c45839f8fbfab0ffdb2ce0b575487772f3212","unresolved":false,"context_lines":[{"line_number":688,"context_line":"                       \"total\": 1 * wait}"},{"line_number":689,"context_line":"                LOG.info(msg)"},{"line_number":690,"context_line":"                break"},{"line_number":691,"context_line":"        self._assert_restapi_result(result, _(\"Create lun\\"},{"line_number":692,"context_line":"                                              from snapshot error.\"))"},{"line_number":693,"context_line":""},{"line_number":694,"context_line":"    def query_clone_lun_process(self, poolid, volume_name, snapshot_name):"},{"line_number":695,"context_line":"        \"\"\"Query clone lun process.\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_0e3d41dc","line":692,"range":{"start_line":691,"start_character":47,"end_line":692,"end_character":65},"in_reply_to":"1fa4df85_26f62b65","updated":"2020-03-30 02:27:10.000000000","message":"Done","commit_id":"856f3f9cc1ea274a5e9efc2e88792a932556b5eb"},{"author":{"_account_id":18058,"name":"Lucio Seki","email":"lseki@redhat.com","username":"lseki"},"change_message_id":"63b5002c901c78d5ce4892809a21e57054589fb2","unresolved":false,"context_lines":[{"line_number":696,"context_line":"        url \u003d \u0027delaytask/list\u0027"},{"line_number":697,"context_line":"        data \u003d {\"pageno\": 1, \"pagesize\": 5}"},{"line_number":698,"context_line":"        result \u003d self.run(url, \u0027POST\u0027, data\u003ddata, om_op_flag\u003dTrue)"},{"line_number":699,"context_line":"        self._assert_restapi_result(result, _(\"Query query flatten\\"},{"line_number":700,"context_line":"                                               lun process error.\"))"},{"line_number":701,"context_line":""},{"line_number":702,"context_line":"        task \u003d [flatten_task for flatten_task in"},{"line_number":703,"context_line":"                result[\"data\"].get(\"results\", None) or []"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_c6e637b1","line":700,"range":{"start_line":699,"start_character":47,"end_line":700,"end_character":64},"updated":"2020-03-19 21:25:49.000000000","message":"same as L276","commit_id":"856f3f9cc1ea274a5e9efc2e88792a932556b5eb"},{"author":{"_account_id":31416,"name":"wuqiongdan","email":"wuqiongdan@szsandstone.com","username":"wuqiongdan"},"change_message_id":"dc1c45839f8fbfab0ffdb2ce0b575487772f3212","unresolved":false,"context_lines":[{"line_number":696,"context_line":"        url \u003d \u0027delaytask/list\u0027"},{"line_number":697,"context_line":"        data \u003d {\"pageno\": 1, \"pagesize\": 5}"},{"line_number":698,"context_line":"        result \u003d self.run(url, \u0027POST\u0027, data\u003ddata, om_op_flag\u003dTrue)"},{"line_number":699,"context_line":"        self._assert_restapi_result(result, _(\"Query query flatten\\"},{"line_number":700,"context_line":"                                               lun process error.\"))"},{"line_number":701,"context_line":""},{"line_number":702,"context_line":"        task \u003d [flatten_task for flatten_task in"},{"line_number":703,"context_line":"                result[\"data\"].get(\"results\", None) or []"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_f9718da9","line":700,"range":{"start_line":699,"start_character":47,"end_line":700,"end_character":64},"in_reply_to":"1fa4df85_c6e637b1","updated":"2020-03-30 02:27:10.000000000","message":"Done","commit_id":"856f3f9cc1ea274a5e9efc2e88792a932556b5eb"},{"author":{"_account_id":18058,"name":"Lucio Seki","email":"lseki@redhat.com","username":"lseki"},"change_message_id":"63b5002c901c78d5ce4892809a21e57054589fb2","unresolved":false,"context_lines":[{"line_number":726,"context_line":"        url \u003d \u0027delaytask/list\u0027"},{"line_number":727,"context_line":"        data \u003d {\"pageno\": 1, \"pagesize\": 5}"},{"line_number":728,"context_line":"        result \u003d self.run(url, \u0027POST\u0027, data\u003ddata, om_op_flag\u003dTrue)"},{"line_number":729,"context_line":"        self._assert_restapi_result(result, _(\"Query query flatten\\"},{"line_number":730,"context_line":"                                               lun process error.\"))"},{"line_number":731,"context_line":""},{"line_number":732,"context_line":"        task \u003d [flatten_task for flatten_task in"},{"line_number":733,"context_line":"                result[\"data\"].get(\"results\", None) or []"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_a601bb3a","line":730,"range":{"start_line":729,"start_character":47,"end_line":730,"end_character":64},"updated":"2020-03-19 21:25:49.000000000","message":"same as L276","commit_id":"856f3f9cc1ea274a5e9efc2e88792a932556b5eb"},{"author":{"_account_id":31416,"name":"wuqiongdan","email":"wuqiongdan@szsandstone.com","username":"wuqiongdan"},"change_message_id":"dc1c45839f8fbfab0ffdb2ce0b575487772f3212","unresolved":false,"context_lines":[{"line_number":726,"context_line":"        url \u003d \u0027delaytask/list\u0027"},{"line_number":727,"context_line":"        data \u003d {\"pageno\": 1, \"pagesize\": 5}"},{"line_number":728,"context_line":"        result \u003d self.run(url, \u0027POST\u0027, data\u003ddata, om_op_flag\u003dTrue)"},{"line_number":729,"context_line":"        self._assert_restapi_result(result, _(\"Query query flatten\\"},{"line_number":730,"context_line":"                                               lun process error.\"))"},{"line_number":731,"context_line":""},{"line_number":732,"context_line":"        task \u003d [flatten_task for flatten_task in"},{"line_number":733,"context_line":"                result[\"data\"].get(\"results\", None) or []"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_ee3785fd","line":730,"range":{"start_line":729,"start_character":47,"end_line":730,"end_character":64},"in_reply_to":"1fa4df85_a601bb3a","updated":"2020-03-30 02:27:10.000000000","message":"Done","commit_id":"856f3f9cc1ea274a5e9efc2e88792a932556b5eb"},{"author":{"_account_id":18058,"name":"Lucio Seki","email":"lseki@redhat.com","username":"lseki"},"change_message_id":"63b5002c901c78d5ce4892809a21e57054589fb2","unresolved":false,"context_lines":[{"line_number":740,"context_line":"            return task[0]"},{"line_number":741,"context_line":"        return {}"},{"line_number":742,"context_line":""},{"line_number":743,"context_line":"    def create_lun_from_lun(self, destination_volume_name,"},{"line_number":744,"context_line":"                            poolid, source_volume_name):"},{"line_number":745,"context_line":"        \"\"\"Clone lun from source lun.\"\"\""},{"line_number":746,"context_line":"        tmp_snapshot_name \u003d \u0027temp\u0027 + source_volume_name + \u0027clone\u0027 +\\"},{"line_number":747,"context_line":"                            destination_volume_name"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_66a50347","line":744,"range":{"start_line":743,"start_character":0,"end_line":744,"end_character":56},"updated":"2020-03-19 21:25:49.000000000","message":"nit: you could shorten the parameter names (e.g. destination_volume_name -\u003e dst_vol_name, source_volume_name -\u003e src_vol_name). This way, you don\u0027t need to break L746.","commit_id":"856f3f9cc1ea274a5e9efc2e88792a932556b5eb"},{"author":{"_account_id":31416,"name":"wuqiongdan","email":"wuqiongdan@szsandstone.com","username":"wuqiongdan"},"change_message_id":"dc1c45839f8fbfab0ffdb2ce0b575487772f3212","unresolved":false,"context_lines":[{"line_number":740,"context_line":"            return task[0]"},{"line_number":741,"context_line":"        return {}"},{"line_number":742,"context_line":""},{"line_number":743,"context_line":"    def create_lun_from_lun(self, destination_volume_name,"},{"line_number":744,"context_line":"                            poolid, source_volume_name):"},{"line_number":745,"context_line":"        \"\"\"Clone lun from source lun.\"\"\""},{"line_number":746,"context_line":"        tmp_snapshot_name \u003d \u0027temp\u0027 + source_volume_name + \u0027clone\u0027 +\\"},{"line_number":747,"context_line":"                            destination_volume_name"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_ce5de947","line":744,"range":{"start_line":743,"start_character":0,"end_line":744,"end_character":56},"in_reply_to":"1fa4df85_66a50347","updated":"2020-03-30 02:27:10.000000000","message":"Done","commit_id":"856f3f9cc1ea274a5e9efc2e88792a932556b5eb"},{"author":{"_account_id":18058,"name":"Lucio Seki","email":"lseki@redhat.com","username":"lseki"},"change_message_id":"63b5002c901c78d5ce4892809a21e57054589fb2","unresolved":false,"context_lines":[{"line_number":764,"context_line":"                       \"err\": exc}"},{"line_number":765,"context_line":"                LOG.error(msg)"},{"line_number":766,"context_line":"            if task_status.get(\u0027run_status\u0027) \u003d\u003d \"failed\" and\\"},{"line_number":767,"context_line":"                    task_status.get(\u0027progress\u0027) \u003e\u003d 0:"},{"line_number":768,"context_line":"                msg \u003d _(\"Flatten lun: %(destination_volume_name)s failed, \""},{"line_number":769,"context_line":"                        \"flatten progress is %(flatten_process)d.\")\\"},{"line_number":770,"context_line":"                    % {\"destination_volume_name\": destination_volume_name,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_06320f11","line":767,"range":{"start_line":767,"start_character":20,"end_line":767,"end_character":52},"updated":"2020-03-19 21:25:49.000000000","message":"same as L220","commit_id":"856f3f9cc1ea274a5e9efc2e88792a932556b5eb"},{"author":{"_account_id":31416,"name":"wuqiongdan","email":"wuqiongdan@szsandstone.com","username":"wuqiongdan"},"change_message_id":"dc1c45839f8fbfab0ffdb2ce0b575487772f3212","unresolved":false,"context_lines":[{"line_number":764,"context_line":"                       \"err\": exc}"},{"line_number":765,"context_line":"                LOG.error(msg)"},{"line_number":766,"context_line":"            if task_status.get(\u0027run_status\u0027) \u003d\u003d \"failed\" and\\"},{"line_number":767,"context_line":"                    task_status.get(\u0027progress\u0027) \u003e\u003d 0:"},{"line_number":768,"context_line":"                msg \u003d _(\"Flatten lun: %(destination_volume_name)s failed, \""},{"line_number":769,"context_line":"                        \"flatten progress is %(flatten_process)d.\")\\"},{"line_number":770,"context_line":"                    % {\"destination_volume_name\": destination_volume_name,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_ae60ad02","line":767,"range":{"start_line":767,"start_character":20,"end_line":767,"end_character":52},"in_reply_to":"1fa4df85_06320f11","updated":"2020-03-30 02:27:10.000000000","message":"Done","commit_id":"856f3f9cc1ea274a5e9efc2e88792a932556b5eb"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"72874733201f9e8c5ae155bd9c1b3721896b9267","unresolved":false,"context_lines":[{"line_number":443,"context_line":"                    \"targetSnapList\": []}"},{"line_number":444,"context_line":"            result \u003d self.run(url, \u0027POST\u0027, data\u003ddata)"},{"line_number":445,"context_line":"            # lun maped, need return no err."},{"line_number":446,"context_line":"            if result.get(\"data\", None) and \\"},{"line_number":447,"context_line":"                    \"already mapped\" in result.get(\"data\"):"},{"line_number":448,"context_line":"                return"},{"line_number":449,"context_line":"            # wait for 10 seconds to map lun."}],"source_content_type":"text/x-python","patch_set":4,"id":"df33271e_0b8bae6d","line":446,"range":{"start_line":446,"start_character":44,"end_line":446,"end_character":45},"updated":"2020-03-30 19:05:06.000000000","message":"We\u0027ve made an effort to avoid using \\ to span multiple lines because it can introduce very subtle bugs. Please replace all instances of this by wrapping the conditional statements in () to allow it to span lines.","commit_id":"96dce30c45fbc1cdcb1dcc1486650bbdb378d670"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"72874733201f9e8c5ae155bd9c1b3721896b9267","unresolved":false,"context_lines":[{"line_number":550,"context_line":"                \"snapName\": snapshot_name}"},{"line_number":551,"context_line":"        result \u003d self.run(url, \u0027POST\u0027, data\u003ddata)"},{"line_number":552,"context_line":"        # snapshot is exist, need return no err."},{"line_number":553,"context_line":"        if result.get(\"data\", None) and \\"},{"line_number":554,"context_line":"                \"has exists\" in result.get(\"data\", None):"},{"line_number":555,"context_line":"            return"},{"line_number":556,"context_line":"        # wait for 10 seconds to create snapshot"}],"source_content_type":"text/x-python","patch_set":4,"id":"df33271e_8badfeea","line":553,"range":{"start_line":553,"start_character":28,"end_line":553,"end_character":34},"updated":"2020-03-30 19:05:06.000000000","message":"These are redundant. get() returns None if the requested key is not called.","commit_id":"96dce30c45fbc1cdcb1dcc1486650bbdb378d670"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"fa371e014105b76ee75e48629799fba09dc98361","unresolved":false,"context_lines":[{"line_number":41,"context_line":"        :param user: login web username."},{"line_number":42,"context_line":"        :param password: login web password."},{"line_number":43,"context_line":"        \"\"\""},{"line_number":44,"context_line":"        self.address \u003d \"https://\" + address"},{"line_number":45,"context_line":"        self.user \u003d user"},{"line_number":46,"context_line":"        self.password \u003d password"},{"line_number":47,"context_line":"        self.pagesize \u003d constants.PAGESIZE"}],"source_content_type":"text/x-python","patch_set":6,"id":"df33271e_8f95f889","line":44,"range":{"start_line":44,"start_character":23,"end_line":44,"end_character":43},"updated":"2020-03-31 12:45:43.000000000","message":"String formatting is preferred over concatenation. If you do another update, please change back to the previous code.","commit_id":"7988ef69ea88d8bebbfbcd1d3a0d5aed0bb48e6e"}],"cinder/volume/drivers/sandstone/sds_driver.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"72874733201f9e8c5ae155bd9c1b3721896b9267","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        pool_status \u003d [p[\u0027status\u0027] for p in all_pools"},{"line_number":94,"context_line":"                       if p.get(\u0027pool_name\u0027) \u003d\u003d self.pool]"},{"line_number":95,"context_line":"        if pool_status:"},{"line_number":96,"context_line":"            if \"health\" not in pool_status[0][\u0027state\u0027] and \\"},{"line_number":97,"context_line":"                    pool_status[0][\"progress\"] !\u003d 100:"},{"line_number":98,"context_line":"                LOG.warning(\u0027Storage pool: %(poolName)s not healthy.\u0027,"},{"line_number":99,"context_line":"                            {\"poolName\": self.pool})"}],"source_content_type":"text/x-python","patch_set":4,"id":"df33271e_6b7cfa71","line":96,"range":{"start_line":96,"start_character":59,"end_line":96,"end_character":60},"updated":"2020-03-30 19:05:06.000000000","message":"Remove these, replace with ()","commit_id":"96dce30c45fbc1cdcb1dcc1486650bbdb378d670"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"72874733201f9e8c5ae155bd9c1b3721896b9267","unresolved":false,"context_lines":[{"line_number":419,"context_line":"            # Create initiator and add in storage"},{"line_number":420,"context_line":"            self.client.create_initiator(initiator_name)"},{"line_number":421,"context_line":"        else:"},{"line_number":422,"context_line":"            LOG.info(\u0027initiator is exist, do\\\u0027t repeat to create \u0027"},{"line_number":423,"context_line":"                     \u0027initiator: %(initiator_name)s.\u0027,"},{"line_number":424,"context_line":"                     {\u0027initiator_name\u0027: initiator_name})"},{"line_number":425,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"df33271e_8bc4de92","line":422,"range":{"start_line":422,"start_character":44,"end_line":422,"end_character":46},"updated":"2020-03-30 19:05:06.000000000","message":"don\u0027t\n\nAnd change outer quotes to \" so you don\u0027t need to escape the single quote inside the string.","commit_id":"96dce30c45fbc1cdcb1dcc1486650bbdb378d670"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"72874733201f9e8c5ae155bd9c1b3721896b9267","unresolved":false,"context_lines":[{"line_number":445,"context_line":"            lun_id \u003d self._check_target_added_lun(iqn_end,"},{"line_number":446,"context_line":"                                                  self.poolid, volume.name)"},{"line_number":447,"context_line":"        else:"},{"line_number":448,"context_line":"            LOG.info(\u0027lun is added to target, do\\\u0027t repeat to add \u0027"},{"line_number":449,"context_line":"                     \u0027volume: %(volume_name)s, target: %(target_name)s.\u0027,"},{"line_number":450,"context_line":"                     {\u0027volume_name\u0027: volume.name,"},{"line_number":451,"context_line":"                      \u0027target_name\u0027: target_name})"}],"source_content_type":"text/x-python","patch_set":4,"id":"df33271e_ebbdaa02","line":448,"range":{"start_line":448,"start_character":46,"end_line":448,"end_character":51},"updated":"2020-03-30 19:05:06.000000000","message":"don\u0027t","commit_id":"96dce30c45fbc1cdcb1dcc1486650bbdb378d670"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"72874733201f9e8c5ae155bd9c1b3721896b9267","unresolved":false,"context_lines":[{"line_number":477,"context_line":"                self.client.add_chap_by_target(iqn_end, self.chap_username,"},{"line_number":478,"context_line":"                                               self.chap_password)"},{"line_number":479,"context_line":"            else:"},{"line_number":480,"context_line":"                LOG.info(\u0027chap username: %(chap_username)s exist, do\\\u0027t \u0027"},{"line_number":481,"context_line":"                         \u0027repeat to create, iscsi_iqn: %(iscsi_iqn)s.\u0027,"},{"line_number":482,"context_line":"                         {\u0027iscsi_iqn\u0027: target_name,"},{"line_number":483,"context_line":"                          \u0027chap_username\u0027: self.chap_username})"}],"source_content_type":"text/x-python","patch_set":4,"id":"df33271e_cbba6608","line":480,"range":{"start_line":480,"start_character":66,"end_line":480,"end_character":71},"updated":"2020-03-30 19:05:06.000000000","message":"don\u0027t","commit_id":"96dce30c45fbc1cdcb1dcc1486650bbdb378d670"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"72874733201f9e8c5ae155bd9c1b3721896b9267","unresolved":false,"context_lines":[{"line_number":492,"context_line":""},{"line_number":493,"context_line":"    def terminate_connection(self, volume, connector, **kwargs):"},{"line_number":494,"context_line":"        \"\"\"Delete map between a volume and a host.\"\"\""},{"line_number":495,"context_line":"        if not connector:"},{"line_number":496,"context_line":"            target_name \u003d self.client.query_target_by_lun(volume.name,"},{"line_number":497,"context_line":"                                                          self.poolid)"},{"line_number":498,"context_line":"            self.client.unmap_lun(target_name, self.poolid,"},{"line_number":499,"context_line":"                                  volume.name, self.pool)"},{"line_number":500,"context_line":"        initiator_name \u003d connector[\u0027initiator\u0027]"},{"line_number":501,"context_line":"        # Remove lun from target force."},{"line_number":502,"context_line":"        iqn_end \u003d initiator_name.split(\u0027:\u0027)[-1]"}],"source_content_type":"text/x-python","patch_set":4,"id":"df33271e_2b3952a3","line":499,"range":{"start_line":495,"start_character":8,"end_line":499,"end_character":57},"updated":"2020-03-30 19:05:06.000000000","message":"This needs a return or something to prevent it from running the code below that attempts to access connector.","commit_id":"96dce30c45fbc1cdcb1dcc1486650bbdb378d670"}]}
