)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":14131,"name":"shaohef","email":"shaohe.feng@intel.com","username":"shaohefeng"},"change_message_id":"a790732dcfc5b5d450717dbf8ad7659d916220aa","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"During live migration, there maybe exception when let scheduler"},{"line_number":10,"context_line":"select destination, and live migration will abort. But the task"},{"line_number":11,"context_line":"state of the instance still keep migrating, then we can not take"},{"line_number":12,"context_line":"any action on this instance."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"We need to recover the state of the task as None."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5a5ae5dd_3512c5b5","line":11,"range":{"start_line":11,"start_character":33,"end_line":11,"end_character":42},"updated":"2016-02-03 12:07:01.000000000","message":"beside task_state\n vm_state is error.\nand \n Status is ERROR. \n\nmore details ref the bug link.","commit_id":"da4ea0ef6960ad7f2967413081ef299443b99807"}],"nova/conductor/tasks/live_migrate.py":[{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"100eefddec41b8ebb83e854c4efe4aa0317537ab","unresolved":false,"context_lines":[{"line_number":181,"context_line":"            try:"},{"line_number":182,"context_line":"                host \u003d self.scheduler_client.select_destinations(self.context,"},{"line_number":183,"context_line":"                                spec_obj)[0][\u0027host\u0027]"},{"line_number":184,"context_line":"            except messaging.RemoteError as ex:"},{"line_number":185,"context_line":"                # TODO(ShaoHe Feng) There maybe multi-scheduler, and the"},{"line_number":186,"context_line":"                # scheduling algorithm is R-R, we can let other scheduler try."},{"line_number":187,"context_line":"                # Note(Shohe Feng) There are types of RemoteError, such as"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a5ae5dd_535e3913","line":184,"updated":"2016-02-04 12:41:27.000000000","message":"I think that this should be handled in conductor-manager:\nhttps://github.com/openstack/nova/blob/master/nova/conductor/manager.py#L308","commit_id":"a0d922ea06aa0ff8aa0716d119c9f9624c30ed04"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"282f1a942bd9ada15b19c7ce61b1c007ee7447a6","unresolved":false,"context_lines":[{"line_number":184,"context_line":"            except messaging.RemoteError as ex:"},{"line_number":185,"context_line":"                # TODO(ShaoHe Feng) There maybe multi-scheduler, and the"},{"line_number":186,"context_line":"                # scheduling algorithm is R-R, we can let other scheduler try."},{"line_number":187,"context_line":"                # Note(Shohe Feng) There are types of RemoteError, such as"},{"line_number":188,"context_line":"                # NoSuchMethod, UnsupportedVersion, we can distinguish it by"},{"line_number":189,"context_line":"                # ex.exc_type."},{"line_number":190,"context_line":"                raise exception.MigrationScheduleRPCCallError("}],"source_content_type":"text/x-python","patch_set":4,"id":"dae33548_14e2bd03","line":187,"range":{"start_line":187,"start_character":23,"end_line":187,"end_character":28},"updated":"2016-02-14 22:26:08.000000000","message":"s/Shohe/Shaohe","commit_id":"69889ec3df0e6aed9387d7aa7c336b7803d12afb"}],"nova/exception.py":[{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"4d7fd499237fa211438a68a116c6f35d641320b9","unresolved":false,"context_lines":[{"line_number":1304,"context_line":"    msg_fmt \u003d _(\"Migration pre-check error: %(reason)s\")"},{"line_number":1305,"context_line":""},{"line_number":1306,"context_line":""},{"line_number":1307,"context_line":"class MigrationSelectDestinations(MigrationError):"},{"line_number":1308,"context_line":"    msg_fmt \u003d _(\"Migration select sestinations error: %(reason)s\")"},{"line_number":1309,"context_line":""},{"line_number":1310,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5a5ae5dd_901aa76d","line":1307,"updated":"2016-02-03 12:28:54.000000000","message":"This exception name is not clear to me. I\u0027d rather do something like MigrationSchedulingException but it also does not say that it happened because of a version mismatch.","commit_id":"da4ea0ef6960ad7f2967413081ef299443b99807"},{"author":{"_account_id":14131,"name":"shaohef","email":"shaohe.feng@intel.com","username":"shaohefeng"},"change_message_id":"8b93e84cfec1ad2827070e46ce9f94852f8d164b","unresolved":false,"context_lines":[{"line_number":1304,"context_line":"    msg_fmt \u003d _(\"Migration pre-check error: %(reason)s\")"},{"line_number":1305,"context_line":""},{"line_number":1306,"context_line":""},{"line_number":1307,"context_line":"class MigrationSelectDestinations(MigrationError):"},{"line_number":1308,"context_line":"    msg_fmt \u003d _(\"Migration select sestinations error: %(reason)s\")"},{"line_number":1309,"context_line":""},{"line_number":1310,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5a5ae5dd_d2afb9e1","line":1307,"in_reply_to":"5a5ae5dd_901aa76d","updated":"2016-02-03 15:43:15.000000000","message":"how about:\nMigrationScheduleRPCCallError ?","commit_id":"da4ea0ef6960ad7f2967413081ef299443b99807"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"4d7fd499237fa211438a68a116c6f35d641320b9","unresolved":false,"context_lines":[{"line_number":1305,"context_line":""},{"line_number":1306,"context_line":""},{"line_number":1307,"context_line":"class MigrationSelectDestinations(MigrationError):"},{"line_number":1308,"context_line":"    msg_fmt \u003d _(\"Migration select sestinations error: %(reason)s\")"},{"line_number":1309,"context_line":""},{"line_number":1310,"context_line":""},{"line_number":1311,"context_line":"class MalformedRequestBody(NovaException):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a5ae5dd_35188584","line":1308,"updated":"2016-02-03 12:28:54.000000000","message":"s/sestinations/destinations","commit_id":"da4ea0ef6960ad7f2967413081ef299443b99807"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"282f1a942bd9ada15b19c7ce61b1c007ee7447a6","unresolved":false,"context_lines":[{"line_number":1304,"context_line":"    msg_fmt \u003d _(\"Migration pre-check error: %(reason)s\")"},{"line_number":1305,"context_line":""},{"line_number":1306,"context_line":""},{"line_number":1307,"context_line":"class MigrationScheduleRPCCallError(MigrationError):"},{"line_number":1308,"context_line":"    msg_fmt \u003d _(\"Migration select destinations error: %(reason)s\")"},{"line_number":1309,"context_line":""},{"line_number":1310,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"dae33548_9417edec","line":1307,"range":{"start_line":1307,"start_character":6,"end_line":1307,"end_character":35},"updated":"2016-02-14 22:26:08.000000000","message":"nit, there is \u0027r\u0027 missing s/MigrationScheduleRPCCallError/MigrationSchedulerRPCCallError\n\nWonder if we can make it shorter, e.g., MigrationSchedulerRPCError but not a big deal","commit_id":"69889ec3df0e6aed9387d7aa7c336b7803d12afb"}],"nova/tests/unit/conductor/test_conductor.py":[{"author":{"_account_id":14131,"name":"shaohef","email":"shaohe.feng@intel.com","username":"shaohefeng"},"change_message_id":"066651c7cc02d872a443e31992fbc207a093e015","unresolved":false,"context_lines":[{"line_number":1062,"context_line":"               exc.InvalidCPUInfo(reason\u003d\u0027dummy\u0027),"},{"line_number":1063,"context_line":"               exc.UnableToMigrateToSelf(instance_id\u003d\u0027dummy\u0027, host\u003d\u0027dummy\u0027),"},{"line_number":1064,"context_line":"               exc.InvalidLocalStorage(path\u003d\u0027dummy\u0027, reason\u003d\u0027dummy\u0027),"},{"line_number":1065,"context_line":"               exception.MigrationScheduleRPCCallError(reason\u003d\u0027dummy\u0027)]"},{"line_number":1066,"context_line":"        for ex in exs:"},{"line_number":1067,"context_line":"            self._test_migrate_server_deals_with_expected_exceptions(ex)"},{"line_number":1068,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"5a5ae5dd_5e7054dc","line":1065,"range":{"start_line":1065,"start_character":15,"end_line":1065,"end_character":24},"updated":"2016-02-05 06:45:42.000000000","message":"it should be exc.","commit_id":"2e8466c7739aa38e692867fe635510ed6df26ddf"}]}
