)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"356562417dc805232108a4006447c758b742bae4","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     wangxiyuan \u003cwangxiyuan@huawei.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-09-15 14:15:53 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix uncorrect task status with wrong parameter"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Now, when use wrong parameter to create a import task, the task\u0027s"},{"line_number":10,"context_line":"status will be processing forever. Actually the task has been stopped"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"ba15a1d1_8707ad1b","line":7,"updated":"2015-09-15 09:23:20.000000000","message":"s/uncorrect/incorrect","commit_id":"9dee65db57c76d6872319dde9bbc9f620c6c7f1f"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"704f0c06d8673a373d8249370bd66a36ed8bfa21","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     wangxiyuan \u003cwangxiyuan@huawei.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-09-15 14:15:53 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix uncorrect task status with wrong parameter"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Now, when use wrong parameter to create a import task, the task\u0027s"},{"line_number":10,"context_line":"status will be processing forever. Actually the task has been stopped"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"ba15a1d1_16d2e9d2","line":7,"in_reply_to":"ba15a1d1_8707ad1b","updated":"2015-09-15 11:00:13.000000000","message":"Thanks!","commit_id":"9dee65db57c76d6872319dde9bbc9f620c6c7f1f"},{"author":{"_account_id":14676,"name":"Kairat Kushaev","email":"kkushaev@mirantis.com","username":"kairat_kushaev"},"change_message_id":"8c31f421aebbfbb26583a13f568770a1c92f2ab8","unresolved":false,"context_lines":[{"line_number":11,"context_line":"and returned error."},{"line_number":12,"context_line":"So in this situation, the task\u0027s status should be changed into failure."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Closes-bug: #1488311"},{"line_number":15,"context_line":"Closes-bug: #1488303"},{"line_number":16,"context_line":"Closes-bug: #1495519"},{"line_number":17,"context_line":"Change-Id: Ie4b3b92aaddcdbb839aadf61c75fc0c915e2040e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"ba15a1d1_fbbab9e0","line":14,"updated":"2015-09-15 13:09:22.000000000","message":"Looks like these bugs are duplicates of each other.\nTo support the correct history I propose to close 2 of these bugs as duplicates and refer to only one bug.","commit_id":"d2dd58b48b3d31ab572cf04f79e4c002d558a10e"},{"author":{"_account_id":14676,"name":"Kairat Kushaev","email":"kkushaev@mirantis.com","username":"kairat_kushaev"},"change_message_id":"de723bf567f8304ff0befed8161e520fc3efea6a","unresolved":false,"context_lines":[{"line_number":12,"context_line":"So in this situation, the task\u0027s status should be changed into failure."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Closes-bug: #1488311"},{"line_number":15,"context_line":"Closes-bug: #1495519"},{"line_number":16,"context_line":"Change-Id: Ie4b3b92aaddcdbb839aadf61c75fc0c915e2040e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":14,"id":"ba15a1d1_4e5e5e77","line":15,"updated":"2015-09-16 09:09:45.000000000","message":"I would recommend to close one of these bugs as duplicate.","commit_id":"bfb6bfe4d88c8bae8c7f8405b20e47db312e6666"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"bfdd742601db9720b012c86dea9367f8c678cb83","unresolved":false,"context_lines":[{"line_number":12,"context_line":"So in this situation, the task\u0027s status should be changed into failure."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Closes-bug: #1488311"},{"line_number":15,"context_line":"Closes-bug: #1495519"},{"line_number":16,"context_line":"Change-Id: Ie4b3b92aaddcdbb839aadf61c75fc0c915e2040e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":14,"id":"ba15a1d1_ffca7a6d","line":15,"in_reply_to":"ba15a1d1_4e5e5e77","updated":"2015-09-16 09:42:23.000000000","message":"Got it. Thanks Kairat","commit_id":"bfb6bfe4d88c8bae8c7f8405b20e47db312e6666"}],"glance/async/flows/base_import.py":[{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"86c8ca1adb645f1075608c31c55773c8a04b9c16","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        task_input \u003d script_utils.unpack_task_input(task)"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        try:"},{"line_number":70,"context_line":"            script_utils.validate_location_uri(task_input.get(\u0027import_from\u0027))"},{"line_number":71,"context_line":"        except urllib.error.URLError as exc:"},{"line_number":72,"context_line":"            raise exception.ImportTaskError(message\u003dexc.reason)"},{"line_number":73,"context_line":"        except exception.BadStoreUri as exc:"}],"source_content_type":"text/x-python","patch_set":25,"id":"9a8ffd7b_54edfe89","line":70,"updated":"2015-11-24 20:37:22.000000000","message":"I don\u0027t think this is the right step to validate this data as this task is responsible for creating the image record only","commit_id":"32bcdcfa8f38eba77f4cb89bc928156c73b1267e"}],"glance/async/taskflow_executor.py":[{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"512194ff77879127d5388733532a13ff89fc7df3","unresolved":false,"context_lines":[{"line_number":123,"context_line":"                                      executor\u003dexecutor, **self.engine_kwargs)"},{"line_number":124,"context_line":"                with llistener.DynamicLoggingListener(engine, log\u003dLOG):"},{"line_number":125,"context_line":"                    engine.run()"},{"line_number":126,"context_line":"        except urllib.error.URLError as exc:"},{"line_number":127,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":128,"context_line":"                LOG.error(_LE(\u0027Failed to execute task %(task_id)s: %(exc)s\u0027) %"},{"line_number":129,"context_line":"                          {\u0027task_id\u0027: task_id, \u0027exc\u0027: exc.reason})"}],"source_content_type":"text/x-python","patch_set":16,"id":"9a1a9d01_5a20689b","line":126,"updated":"2015-10-05 10:27:32.000000000","message":"This seems to be adding to the executor some logic that belongs to the import task itself. Can this be caugth there and handled properly?","commit_id":"370cd47e5d38c2ff6c23f941d6c2edee1b218be0"},{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"512194ff77879127d5388733532a13ff89fc7df3","unresolved":false,"context_lines":[{"line_number":129,"context_line":"                          {\u0027task_id\u0027: task_id, \u0027exc\u0027: exc.reason})"},{"line_number":130,"context_line":"                task.fail(exc.reason)"},{"line_number":131,"context_line":"                self.task_repo.save(task)"},{"line_number":132,"context_line":"        except StandardError as exc:"},{"line_number":133,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":134,"context_line":"                LOG.error(_LE(\u0027Failed to execute task %(task_id)s: %(exc)s\u0027) %"},{"line_number":135,"context_line":"                          {\u0027task_id\u0027: task_id, \u0027exc\u0027: exc.message})"}],"source_content_type":"text/x-python","patch_set":16,"id":"9a1a9d01_7a23eca7","line":132,"updated":"2015-10-05 10:27:32.000000000","message":"The `Exception` clause below should catch this.","commit_id":"370cd47e5d38c2ff6c23f941d6c2edee1b218be0"},{"author":{"_account_id":17116,"name":"Niall Bunting","email":"niall.bunting@hpe.com","username":"NiallBunting"},"change_message_id":"55cdd0b93469439f734f0676c1c7c5bc07c99a01","unresolved":false,"context_lines":[{"line_number":124,"context_line":"                with llistener.DynamicLoggingListener(engine, log\u003dLOG):"},{"line_number":125,"context_line":"                    engine.run()"},{"line_number":126,"context_line":"        except exception.ImportTaskError as exc:"},{"line_number":127,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":128,"context_line":"                LOG.error(_LE(\u0027Failed to execute task %(task_id)s: %(exc)s\u0027) %"},{"line_number":129,"context_line":"                          {\u0027task_id\u0027: task_id, \u0027exc\u0027: exc.message})"},{"line_number":130,"context_line":"                task.fail(exc.message)"}],"source_content_type":"text/x-python","patch_set":20,"id":"da85f559_707cbc72","line":127,"updated":"2015-11-09 14:58:14.000000000","message":"This re-raises this exception, does this need to be recaught? As it currently causes an exception in my glance-api console.","commit_id":"be0886aebb107c1e97077fc520c045c37801a6fb"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"94f6506b97ad576b70e3288bdcaaa764b9cd396e","unresolved":false,"context_lines":[{"line_number":124,"context_line":"                with llistener.DynamicLoggingListener(engine, log\u003dLOG):"},{"line_number":125,"context_line":"                    engine.run()"},{"line_number":126,"context_line":"        except exception.ImportTaskError as exc:"},{"line_number":127,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":128,"context_line":"                LOG.error(_LE(\u0027Failed to execute task %(task_id)s: %(exc)s\u0027) %"},{"line_number":129,"context_line":"                          {\u0027task_id\u0027: task_id, \u0027exc\u0027: exc.message})"},{"line_number":130,"context_line":"                task.fail(exc.message)"}],"source_content_type":"text/x-python","patch_set":20,"id":"ba8a016a_d2fd593c","line":127,"in_reply_to":"ba8a016a_599e7e08","updated":"2015-11-23 10:43:38.000000000","message":"@Niall, What error did you hit? I tried to remove this line. But then my test code raise an error. Or can you point out what\u0027s wrong with my ut code?","commit_id":"be0886aebb107c1e97077fc520c045c37801a6fb"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"b274218c3acc048e873a51eac8a52bd8757b9dbf","unresolved":false,"context_lines":[{"line_number":124,"context_line":"                with llistener.DynamicLoggingListener(engine, log\u003dLOG):"},{"line_number":125,"context_line":"                    engine.run()"},{"line_number":126,"context_line":"        except exception.ImportTaskError as exc:"},{"line_number":127,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":128,"context_line":"                LOG.error(_LE(\u0027Failed to execute task %(task_id)s: %(exc)s\u0027) %"},{"line_number":129,"context_line":"                          {\u0027task_id\u0027: task_id, \u0027exc\u0027: exc.message})"},{"line_number":130,"context_line":"                task.fail(exc.message)"}],"source_content_type":"text/x-python","patch_set":20,"id":"ba8a016a_599e7e08","line":127,"in_reply_to":"da85f559_707cbc72","updated":"2015-11-23 02:08:49.000000000","message":"Done","commit_id":"be0886aebb107c1e97077fc520c045c37801a6fb"},{"author":{"_account_id":17116,"name":"Niall Bunting","email":"niall.bunting@hpe.com","username":"NiallBunting"},"change_message_id":"55cdd0b93469439f734f0676c1c7c5bc07c99a01","unresolved":false,"context_lines":[{"line_number":127,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":128,"context_line":"                LOG.error(_LE(\u0027Failed to execute task %(task_id)s: %(exc)s\u0027) %"},{"line_number":129,"context_line":"                          {\u0027task_id\u0027: task_id, \u0027exc\u0027: exc.message})"},{"line_number":130,"context_line":"                task.fail(exc.message)"},{"line_number":131,"context_line":"                self.task_repo.save(task)"},{"line_number":132,"context_line":"        except Exception as exc:"},{"line_number":133,"context_line":"            with excutils.save_and_reraise_exception():"}],"source_content_type":"text/x-python","patch_set":20,"id":"da85f559_302634cf","line":130,"updated":"2015-11-09 14:58:14.000000000","message":"This message always seems to be \"An import task exception occurred\" for me, It seems like its meant to differ on what validate_location_uri returns.","commit_id":"be0886aebb107c1e97077fc520c045c37801a6fb"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"b274218c3acc048e873a51eac8a52bd8757b9dbf","unresolved":false,"context_lines":[{"line_number":127,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":128,"context_line":"                LOG.error(_LE(\u0027Failed to execute task %(task_id)s: %(exc)s\u0027) %"},{"line_number":129,"context_line":"                          {\u0027task_id\u0027: task_id, \u0027exc\u0027: exc.message})"},{"line_number":130,"context_line":"                task.fail(exc.message)"},{"line_number":131,"context_line":"                self.task_repo.save(task)"},{"line_number":132,"context_line":"        except Exception as exc:"},{"line_number":133,"context_line":"            with excutils.save_and_reraise_exception():"}],"source_content_type":"text/x-python","patch_set":20,"id":"ba8a016a_79a34250","line":130,"in_reply_to":"da85f559_302634cf","updated":"2015-11-23 02:08:49.000000000","message":"see https://review.openstack.org/#/c/216555/20/glance/async/flows/base_import.py \nThe error message has been written.","commit_id":"be0886aebb107c1e97077fc520c045c37801a6fb"},{"author":{"_account_id":17116,"name":"Niall Bunting","email":"niall.bunting@hpe.com","username":"NiallBunting"},"change_message_id":"d9057833975429c561be2663ae65520bae424e09","unresolved":false,"context_lines":[{"line_number":88,"context_line":"            uri \u003d task.task_input.get(\u0027import_from\u0027)"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"            kwds \u003d {"},{"line_number":91,"context_line":"                \u0027uri\u0027: uri,"},{"line_number":92,"context_line":"                \u0027task_id\u0027: task.task_id,"},{"line_number":93,"context_line":"                \u0027task_type\u0027: task.type,"},{"line_number":94,"context_line":"                \u0027context\u0027: self.context,"}],"source_content_type":"text/x-python","patch_set":25,"id":"9a8ffd7b_8f7b757b","line":91,"updated":"2015-11-24 11:03:59.000000000","message":"What happens as this is no longer validated?","commit_id":"32bcdcfa8f38eba77f4cb89bc928156c73b1267e"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"7a4d6778124babb3d994cfc2d16baeb4e88668ea","unresolved":false,"context_lines":[{"line_number":88,"context_line":"            uri \u003d task.task_input.get(\u0027import_from\u0027)"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"            kwds \u003d {"},{"line_number":91,"context_line":"                \u0027uri\u0027: uri,"},{"line_number":92,"context_line":"                \u0027task_id\u0027: task.task_id,"},{"line_number":93,"context_line":"                \u0027task_type\u0027: task.type,"},{"line_number":94,"context_line":"                \u0027context\u0027: self.context,"}],"source_content_type":"text/x-python","patch_set":25,"id":"9a8ffd7b_95c944af","line":91,"in_reply_to":"9a8ffd7b_32550e1d","updated":"2015-11-24 11:33:25.000000000","message":"And the uri in kwds did nothing just be passed before the import thread work. So no check here is ok.","commit_id":"32bcdcfa8f38eba77f4cb89bc928156c73b1267e"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"5019085ec43dcfd8652a1c268a59fb672cbcf0c7","unresolved":false,"context_lines":[{"line_number":88,"context_line":"            uri \u003d task.task_input.get(\u0027import_from\u0027)"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"            kwds \u003d {"},{"line_number":91,"context_line":"                \u0027uri\u0027: uri,"},{"line_number":92,"context_line":"                \u0027task_id\u0027: task.task_id,"},{"line_number":93,"context_line":"                \u0027task_type\u0027: task.type,"},{"line_number":94,"context_line":"                \u0027context\u0027: self.context,"}],"source_content_type":"text/x-python","patch_set":25,"id":"9a8ffd7b_32550e1d","line":91,"in_reply_to":"9a8ffd7b_8f7b757b","updated":"2015-11-24 11:27:59.000000000","message":"I moved the validation to import working thread. So that the status could be changed into failure. If validate here, the task will be pending forever even it hit an error.\n\nhttps://review.openstack.org/#/c/216555/25/glance/async/flows/base_import.py","commit_id":"32bcdcfa8f38eba77f4cb89bc928156c73b1267e"},{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"86c8ca1adb645f1075608c31c55773c8a04b9c16","unresolved":false,"context_lines":[{"line_number":88,"context_line":"            uri \u003d task.task_input.get(\u0027import_from\u0027)"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"            kwds \u003d {"},{"line_number":91,"context_line":"                \u0027uri\u0027: uri,"},{"line_number":92,"context_line":"                \u0027task_id\u0027: task.task_id,"},{"line_number":93,"context_line":"                \u0027task_type\u0027: task.type,"},{"line_number":94,"context_line":"                \u0027context\u0027: self.context,"}],"source_content_type":"text/x-python","patch_set":25,"id":"9a8ffd7b_7463621b","line":91,"in_reply_to":"9a8ffd7b_95c944af","updated":"2015-11-24 20:37:22.000000000","message":"What exception does the validation call raise? We are perhaps not catching it here as we should. I think we should validate the input before running the engine.","commit_id":"32bcdcfa8f38eba77f4cb89bc928156c73b1267e"},{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"a029960d0c7388d81ba4c398bbde4fcbc2d84dad","unresolved":false,"context_lines":[{"line_number":110,"context_line":"        except RuntimeError:"},{"line_number":111,"context_line":"            raise NotImplementedError()"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    def begin_processing(self, task_id):"},{"line_number":114,"context_line":"        task \u003d self.task_repo.get(task_id)"},{"line_number":115,"context_line":"        task.begin_processing()"},{"line_number":116,"context_line":"        self.task_repo.save(task)"}],"source_content_type":"text/x-python","patch_set":27,"id":"9a8ffd7b_7c476077","line":113,"updated":"2015-11-26 13:11:45.000000000","message":"I think this could be something like:\n\n    try:\n        super(TaskExecutor, self).begin_processing(task_id)\n    except ....:\n        ....\n\nThere\u0027s no need to copy the parent\u0027s `begin_processing` code here.","commit_id":"4d7cbc8b28889e55a137c0655880c5e067c5aa2f"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"680126e67a7ed8701e6614581e1625427aa70cad","unresolved":false,"context_lines":[{"line_number":110,"context_line":"        except RuntimeError:"},{"line_number":111,"context_line":"            raise NotImplementedError()"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    def begin_processing(self, task_id):"},{"line_number":114,"context_line":"        task \u003d self.task_repo.get(task_id)"},{"line_number":115,"context_line":"        task.begin_processing()"},{"line_number":116,"context_line":"        self.task_repo.save(task)"}],"source_content_type":"text/x-python","patch_set":27,"id":"9a8ffd7b_f0e91ab8","line":113,"in_reply_to":"9a8ffd7b_7c476077","updated":"2015-11-27 01:59:21.000000000","message":"Done","commit_id":"4d7cbc8b28889e55a137c0655880c5e067c5aa2f"},{"author":{"_account_id":16658,"name":"Darja Shakhray","email":"damalyavkina@gmail.com","username":"dshakhray"},"change_message_id":"183b705abbe43c66825bee427927ce7935157c39","unresolved":false,"context_lines":[{"line_number":115,"context_line":"        task.begin_processing()"},{"line_number":116,"context_line":"        self.task_repo.save(task)"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"        # start running"},{"line_number":119,"context_line":"        try:"},{"line_number":120,"context_line":"            self._run(task_id, task.type)"},{"line_number":121,"context_line":"        except exception.ImportTaskError as exc:"}],"source_content_type":"text/x-python","patch_set":27,"id":"9a8ffd7b_e18e4dcf","line":118,"updated":"2015-11-26 12:52:09.000000000","message":"I\u0027m not sure that we needed a comment","commit_id":"4d7cbc8b28889e55a137c0655880c5e067c5aa2f"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"680126e67a7ed8701e6614581e1625427aa70cad","unresolved":false,"context_lines":[{"line_number":115,"context_line":"        task.begin_processing()"},{"line_number":116,"context_line":"        self.task_repo.save(task)"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"        # start running"},{"line_number":119,"context_line":"        try:"},{"line_number":120,"context_line":"            self._run(task_id, task.type)"},{"line_number":121,"context_line":"        except exception.ImportTaskError as exc:"}],"source_content_type":"text/x-python","patch_set":27,"id":"9a8ffd7b_90d3ee03","line":118,"in_reply_to":"9a8ffd7b_e18e4dcf","updated":"2015-11-27 01:59:21.000000000","message":"Done","commit_id":"4d7cbc8b28889e55a137c0655880c5e067c5aa2f"},{"author":{"_account_id":7575,"name":"Sabari","email":"smurugesan@vmware.com","username":"sabari"},"change_message_id":"245888cae3fb42a5d3b909c56d0580aae5d4e825","unresolved":false,"context_lines":[{"line_number":110,"context_line":"        except RuntimeError:"},{"line_number":111,"context_line":"            raise NotImplementedError()"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    def begin_processing(self, task_id):"},{"line_number":114,"context_line":"        try:"},{"line_number":115,"context_line":"            super(TaskExecutor, self).begin_processing(task_id)"},{"line_number":116,"context_line":"        except exception.ImportTaskError as exc:"}],"source_content_type":"text/x-python","patch_set":28,"id":"7a740942_083a0237","line":113,"updated":"2015-12-04 01:49:21.000000000","message":"Though I would have preferred moving L136 into the subsequent try block and catch the ImportTaskError in _run()? We could avoid overriding begin_processing here just to catch ImportTaskError.\n\nAnyway not something that should stop this patch.","commit_id":"8c3121d671798b1fbb2c58a5d8c5a3a27ac9a556"},{"author":{"_account_id":7575,"name":"Sabari","email":"smurugesan@vmware.com","username":"sabari"},"change_message_id":"8010e7724b9fd66f30f6cda5dede224751c5d099","unresolved":false,"context_lines":[{"line_number":110,"context_line":"        except RuntimeError:"},{"line_number":111,"context_line":"            raise NotImplementedError()"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    def begin_processing(self, task_id):"},{"line_number":114,"context_line":"        try:"},{"line_number":115,"context_line":"            super(TaskExecutor, self).begin_processing(task_id)"},{"line_number":116,"context_line":"        except exception.ImportTaskError as exc:"}],"source_content_type":"text/x-python","patch_set":28,"id":"7a740942_dc6492e6","line":113,"in_reply_to":"7a740942_06c50e8d","updated":"2015-12-04 19:19:36.000000000","message":"No Worries :)","commit_id":"8c3121d671798b1fbb2c58a5d8c5a3a27ac9a556"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"9da1bed0d4496066085672d4d8f1e3fe593aaa77","unresolved":false,"context_lines":[{"line_number":110,"context_line":"        except RuntimeError:"},{"line_number":111,"context_line":"            raise NotImplementedError()"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    def begin_processing(self, task_id):"},{"line_number":114,"context_line":"        try:"},{"line_number":115,"context_line":"            super(TaskExecutor, self).begin_processing(task_id)"},{"line_number":116,"context_line":"        except exception.ImportTaskError as exc:"}],"source_content_type":"text/x-python","patch_set":28,"id":"7a740942_06c50e8d","line":113,"in_reply_to":"7a740942_083a0237","updated":"2015-12-04 02:57:08.000000000","message":"Hi,Sabari, I have considered the way you suggested before. In this patch , I introduced a ImportTaskError and I think this is a common error for task import. To catch the error here maybe useful for the code improvement if we need enhance the code in the future. Just my opinion. Any way, your idea is a simple and effective solution.","commit_id":"8c3121d671798b1fbb2c58a5d8c5a3a27ac9a556"}],"glance/domain/__init__.py":[{"author":{"_account_id":14676,"name":"Kairat Kushaev","email":"kkushaev@mirantis.com","username":"kairat_kushaev"},"change_message_id":"8c31f421aebbfbb26583a13f568770a1c92f2ab8","unresolved":false,"context_lines":[{"line_number":478,"context_line":"            updated_at,"},{"line_number":479,"context_line":"            task_input,"},{"line_number":480,"context_line":"            kwargs.get(\u0027result\u0027),"},{"line_number":481,"context_line":"            kwargs.get(\u0027message\u0027),"},{"line_number":482,"context_line":"        )"},{"line_number":483,"context_line":""},{"line_number":484,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"ba15a1d1_1b644d47","line":481,"updated":"2015-09-15 13:09:22.000000000","message":"IMO, it is not good practice to fix 2 different bugs in one patch.\nI recommend to split this patch into 2 bugs.","commit_id":"d2dd58b48b3d31ab572cf04f79e4c002d558a10e"}],"glance/tests/unit/v2/test_tasks_resource.py":[{"author":{"_account_id":14676,"name":"Kairat Kushaev","email":"kkushaev@mirantis.com","username":"kairat_kushaev"},"change_message_id":"de723bf567f8304ff0befed8161e520fc3efea6a","unresolved":false,"context_lines":[{"line_number":370,"context_line":"        task \u003d {"},{"line_number":371,"context_line":"            \"type\": \"import\","},{"line_number":372,"context_line":"            \"input\": {"},{"line_number":373,"context_line":"                \"import_from\": \"swift://cloud.foo/myaccount/mycontainer/path\","},{"line_number":374,"context_line":"                \"import_from_format\": \"qcow2\","},{"line_number":375,"context_line":"                \"image_properties\": {"},{"line_number":376,"context_line":"                    \"disk_format\": \"qcow2\","}],"source_content_type":"text/x-python","patch_set":14,"id":"ba15a1d1_e4faf1bc","line":373,"updated":"2015-09-16 09:09:45.000000000","message":"If it is possible I would recommend to extend the test with several others scenarios (like file://) cause it looks like it is slightly different case.","commit_id":"bfb6bfe4d88c8bae8c7f8405b20e47db312e6666"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"bfdd742601db9720b012c86dea9367f8c678cb83","unresolved":false,"context_lines":[{"line_number":370,"context_line":"        task \u003d {"},{"line_number":371,"context_line":"            \"type\": \"import\","},{"line_number":372,"context_line":"            \"input\": {"},{"line_number":373,"context_line":"                \"import_from\": \"swift://cloud.foo/myaccount/mycontainer/path\","},{"line_number":374,"context_line":"                \"import_from_format\": \"qcow2\","},{"line_number":375,"context_line":"                \"image_properties\": {"},{"line_number":376,"context_line":"                    \"disk_format\": \"qcow2\","}],"source_content_type":"text/x-python","patch_set":14,"id":"ba15a1d1_dfa456a7","line":373,"in_reply_to":"ba15a1d1_e4faf1bc","updated":"2015-09-16 09:42:23.000000000","message":"I\u0027ll submit a new one later. Thanks Kairat.","commit_id":"bfb6bfe4d88c8bae8c7f8405b20e47db312e6666"},{"author":{"_account_id":7575,"name":"Sabari","email":"smurugesan@vmware.com","username":"sabari"},"change_message_id":"245888cae3fb42a5d3b909c56d0580aae5d4e825","unresolved":false,"context_lines":[{"line_number":366,"context_line":"                               task_live_time.seconds / 3600)"},{"line_number":367,"context_line":"        self.assertEqual(CONF.task.task_time_to_live, task_live_time_hour)"},{"line_number":368,"context_line":""},{"line_number":369,"context_line":"    def test_create_with_wrong_import_form(self):"},{"line_number":370,"context_line":"        request \u003d unit_test_utils.get_fake_request()"},{"line_number":371,"context_line":"        wrong_import_from \u003d ["},{"line_number":372,"context_line":"            \"swift://cloud.foo/myaccount/mycontainer/path\","}],"source_content_type":"text/x-python","patch_set":28,"id":"7a740942_75059ec0","line":369,"updated":"2015-12-04 01:49:21.000000000","message":"Nit: s/import_form/import_from/","commit_id":"8c3121d671798b1fbb2c58a5d8c5a3a27ac9a556"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"9da1bed0d4496066085672d4d8f1e3fe593aaa77","unresolved":false,"context_lines":[{"line_number":366,"context_line":"                               task_live_time.seconds / 3600)"},{"line_number":367,"context_line":"        self.assertEqual(CONF.task.task_time_to_live, task_live_time_hour)"},{"line_number":368,"context_line":""},{"line_number":369,"context_line":"    def test_create_with_wrong_import_form(self):"},{"line_number":370,"context_line":"        request \u003d unit_test_utils.get_fake_request()"},{"line_number":371,"context_line":"        wrong_import_from \u003d ["},{"line_number":372,"context_line":"            \"swift://cloud.foo/myaccount/mycontainer/path\","}],"source_content_type":"text/x-python","patch_set":28,"id":"7a740942_26112a53","line":369,"in_reply_to":"7a740942_75059ec0","updated":"2015-12-04 02:57:08.000000000","message":"Nice catch. Maybe another typo fix should include this. It\u0027s my fault indeed. :(","commit_id":"8c3121d671798b1fbb2c58a5d8c5a3a27ac9a556"}]}
