)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"d9304484796beb8005307cf8f92e4012e9e0193c","unresolved":false,"context_lines":[{"line_number":11,"context_line":"during _call_livem_checks_on_host check, because it\u0027s a"},{"line_number":12,"context_line":"RPC call , so it might timeout and the check should fail"},{"line_number":13,"context_line":"but we there is no real thing has been done so we shold"},{"line_number":14,"context_line":"safely revert its state."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"This patch translates the MessageTimeout to"},{"line_number":17,"context_line":"MigrationPreCheckError and leverage existing MigrationPreCheckError"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"da9b358b_35097a96","line":14,"updated":"2015-03-29 14:26:07.000000000","message":"this last part is a little bit hard to understand, so I suggest something like this:\n\n    so it might result in a MessageTimeout exception. If this occurs, \n    we should safely revert its state, since no real opperation occured.","commit_id":"4c2b20c4376158a99a7a912d6086b07f23dd39a3"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"5d4f04b8e710a7a86004296cc9aa6ae649dc6a53","unresolved":false,"context_lines":[{"line_number":11,"context_line":"during _call_livem_checks_on_host check, because it\u0027s a"},{"line_number":12,"context_line":"RPC call , so it might timeout and the check should fail"},{"line_number":13,"context_line":"but we there is no real thing has been done so we shold"},{"line_number":14,"context_line":"safely revert its state."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"This patch translates the MessageTimeout to"},{"line_number":17,"context_line":"MigrationPreCheckError and leverage existing MigrationPreCheckError"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"da9b358b_7fffc601","line":14,"in_reply_to":"da9b358b_35097a96","updated":"2015-04-28 19:33:42.000000000","message":"make sense to me , thanks a lot","commit_id":"4c2b20c4376158a99a7a912d6086b07f23dd39a3"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"c040df5fc1f85636f8f931fd782320c720454cc5","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Handle MessageTimeout to MigrationPreCheckError"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"There are a few checks before live-migration, if any of the"},{"line_number":10,"context_line":"check failed, the live-migration can\u0027t be done. However"},{"line_number":11,"context_line":"during _call_livem_checks_on_host check, because it\u0027s a"},{"line_number":12,"context_line":"RPC call ,so it might result in a MessageTimeout exception."},{"line_number":13,"context_line":"If this occurs, we should safely revert its state,"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"7a016987_61521169","line":10,"updated":"2015-05-29 14:25:35.000000000","message":"check \u003d\u003e checks","commit_id":"9a8bf66306205891a97b45dd44239a757839abea"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"c18b2d785ebb56aebb860293db24607e9c917c95","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Handle MessageTimeout to MigrationPreCheckError"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"There are a few checks before live-migration, if any of the"},{"line_number":10,"context_line":"check failed, the live-migration can\u0027t be done. However"},{"line_number":11,"context_line":"during _call_livem_checks_on_host check, because it\u0027s a"},{"line_number":12,"context_line":"RPC call ,so it might result in a MessageTimeout exception."},{"line_number":13,"context_line":"If this occurs, we should safely revert its state,"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"5afe65bd_f71d1ebe","line":10,"in_reply_to":"7a016987_61521169","updated":"2015-06-02 16:10:54.000000000","message":"Done","commit_id":"9a8bf66306205891a97b45dd44239a757839abea"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"c040df5fc1f85636f8f931fd782320c720454cc5","unresolved":false,"context_lines":[{"line_number":9,"context_line":"There are a few checks before live-migration, if any of the"},{"line_number":10,"context_line":"check failed, the live-migration can\u0027t be done. However"},{"line_number":11,"context_line":"during _call_livem_checks_on_host check, because it\u0027s a"},{"line_number":12,"context_line":"RPC call ,so it might result in a MessageTimeout exception."},{"line_number":13,"context_line":"If this occurs, we should safely revert its state,"},{"line_number":14,"context_line":"since no real opperation occured."},{"line_number":15,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"7a016987_8103cd41","line":12,"updated":"2015-05-29 14:25:35.000000000","message":"call ,so it might \u003d\u003e call, it might","commit_id":"9a8bf66306205891a97b45dd44239a757839abea"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"c18b2d785ebb56aebb860293db24607e9c917c95","unresolved":false,"context_lines":[{"line_number":9,"context_line":"There are a few checks before live-migration, if any of the"},{"line_number":10,"context_line":"check failed, the live-migration can\u0027t be done. However"},{"line_number":11,"context_line":"during _call_livem_checks_on_host check, because it\u0027s a"},{"line_number":12,"context_line":"RPC call ,so it might result in a MessageTimeout exception."},{"line_number":13,"context_line":"If this occurs, we should safely revert its state,"},{"line_number":14,"context_line":"since no real opperation occured."},{"line_number":15,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"5afe65bd_97838acc","line":12,"in_reply_to":"7a016987_8103cd41","updated":"2015-06-02 16:10:54.000000000","message":"Done","commit_id":"9a8bf66306205891a97b45dd44239a757839abea"}],"nova/conductor/tasks/live_migrate.py":[{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"98bf2cbbc32fd095dc92e3e187e49be74e3658bc","unresolved":false,"context_lines":[{"line_number":146,"context_line":"                check_can_live_migrate_destination(self.context, self.instance,"},{"line_number":147,"context_line":"                    destination, self.block_migration, self.disk_over_commit)"},{"line_number":148,"context_line":"        except messaging.MessagingTimeout:"},{"line_number":149,"context_line":"            msg \u003d _(\"Timeout when check can live migration on host \""},{"line_number":150,"context_line":"                    \"%s\") % destination"},{"line_number":151,"context_line":"            raise exception.MigrationPreCheckError(msg)"},{"line_number":152,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3acd31a7_dc147a45","line":149,"updated":"2015-05-01 12:41:21.000000000","message":"nit: \"Timeout while checking if we can live migrate to host: %s\"","commit_id":"d9b45969a600917904dbacf281ad3aab6064d0fa"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"9661553d1f6336779ac507a7ef42da78156c0e14","unresolved":false,"context_lines":[{"line_number":145,"context_line":"            self.migrate_data \u003d self.compute_rpcapi.\\"},{"line_number":146,"context_line":"                check_can_live_migrate_destination(self.context, self.instance,"},{"line_number":147,"context_line":"                    destination, self.block_migration, self.disk_over_commit)"},{"line_number":148,"context_line":"        except messaging.MessagingTimeout:"},{"line_number":149,"context_line":"            msg \u003d _(\"Timeout when check can live migration on host \""},{"line_number":150,"context_line":"                    \"%s\") % destination"},{"line_number":151,"context_line":"            raise exception.MigrationPreCheckError(msg)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a016987_86917449","line":148,"updated":"2015-06-01 10:58:55.000000000","message":"At this point we don\u0027t know whether compute node received message but didn\u0027t replay or maybe compute node didn\u0027t receive message at all. Because of that I believe that we can\u0027t change this exception to MigrationPreCheckError (how do we know that it was a precheck error?) because it will change VM state to ACTIVE and task state to NONE. Instead we should change VM state to ERROR and leave MIGRATING task state. This is something that admin should investigate as we couldn\u0027t connect to compute from conductor (or compute didn\u0027t respond in time).\n\nChange that will address live migration timeout issue and other \"long tasks\" timeouts: \nhttps://review.openstack.org/#/c/168916\n\nI think that it also covers your problem.","commit_id":"9a8bf66306205891a97b45dd44239a757839abea"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"c18b2d785ebb56aebb860293db24607e9c917c95","unresolved":false,"context_lines":[{"line_number":145,"context_line":"            self.migrate_data \u003d self.compute_rpcapi.\\"},{"line_number":146,"context_line":"                check_can_live_migrate_destination(self.context, self.instance,"},{"line_number":147,"context_line":"                    destination, self.block_migration, self.disk_over_commit)"},{"line_number":148,"context_line":"        except messaging.MessagingTimeout:"},{"line_number":149,"context_line":"            msg \u003d _(\"Timeout when check can live migration on host \""},{"line_number":150,"context_line":"                    \"%s\") % destination"},{"line_number":151,"context_line":"            raise exception.MigrationPreCheckError(msg)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5afe65bd_b7656646","line":148,"in_reply_to":"7a016987_612b0283","updated":"2015-06-02 16:10:54.000000000","message":"yes, the whole idea here is to avoid set the ERROR state since nothing was changed ,only check failed","commit_id":"9a8bf66306205891a97b45dd44239a757839abea"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"3cf80136822c029a973404362b0b113ea932cb49","unresolved":false,"context_lines":[{"line_number":145,"context_line":"            self.migrate_data \u003d self.compute_rpcapi.\\"},{"line_number":146,"context_line":"                check_can_live_migrate_destination(self.context, self.instance,"},{"line_number":147,"context_line":"                    destination, self.block_migration, self.disk_over_commit)"},{"line_number":148,"context_line":"        except messaging.MessagingTimeout:"},{"line_number":149,"context_line":"            msg \u003d _(\"Timeout when check can live migration on host \""},{"line_number":150,"context_line":"                    \"%s\") % destination"},{"line_number":151,"context_line":"            raise exception.MigrationPreCheckError(msg)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a016987_612b0283","line":148,"in_reply_to":"7a016987_86917449","updated":"2015-06-01 11:19:35.000000000","message":"Ok, so inside there is only a precheck so it should not be harmful... Thought that it will hide timeouts from compute node during LM process. This together with 168916 should work as a charm.","commit_id":"9a8bf66306205891a97b45dd44239a757839abea"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"e7f4ebecd52f6d2288463c0715e990aa48d787b6","unresolved":false,"context_lines":[{"line_number":146,"context_line":"                check_can_live_migrate_destination(self.context, self.instance,"},{"line_number":147,"context_line":"                    destination, self.block_migration, self.disk_over_commit)"},{"line_number":148,"context_line":"        except messaging.MessagingTimeout:"},{"line_number":149,"context_line":"            msg \u003d _(\"Timeout when check can live migration on host \""},{"line_number":150,"context_line":"                    \"%s\") % destination"},{"line_number":151,"context_line":"            raise exception.MigrationPreCheckError(msg)"},{"line_number":152,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9a0c5dc1_53c8a774","line":149,"updated":"2015-05-12 08:17:17.000000000","message":"nit: Bad English: \"Timeout while checking if we can live migrate to host: %s\"","commit_id":"9a8bf66306205891a97b45dd44239a757839abea"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"c18b2d785ebb56aebb860293db24607e9c917c95","unresolved":false,"context_lines":[{"line_number":146,"context_line":"                check_can_live_migrate_destination(self.context, self.instance,"},{"line_number":147,"context_line":"                    destination, self.block_migration, self.disk_over_commit)"},{"line_number":148,"context_line":"        except messaging.MessagingTimeout:"},{"line_number":149,"context_line":"            msg \u003d _(\"Timeout when check can live migration on host \""},{"line_number":150,"context_line":"                    \"%s\") % destination"},{"line_number":151,"context_line":"            raise exception.MigrationPreCheckError(msg)"},{"line_number":152,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"5afe65bd_970caa95","line":149,"in_reply_to":"9a0c5dc1_53c8a774","updated":"2015-06-02 16:10:54.000000000","message":"ok, change it","commit_id":"9a8bf66306205891a97b45dd44239a757839abea"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"cfd245e379c565f3cd5c8d6aed4fc652d079d344","unresolved":false,"context_lines":[{"line_number":146,"context_line":"                check_can_live_migrate_destination(self.context, self.instance,"},{"line_number":147,"context_line":"                    destination, self.block_migration, self.disk_over_commit)"},{"line_number":148,"context_line":"        except messaging.MessagingTimeout:"},{"line_number":149,"context_line":"            msg \u003d _(\"Timeout while checking whether we can live migration to \""},{"line_number":150,"context_line":"                    \"host %s\") % destination"},{"line_number":151,"context_line":"            raise exception.MigrationPreCheckError(msg)"},{"line_number":152,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"5afe65bd_8bce8db2","line":149,"updated":"2015-06-03 16:01:09.000000000","message":"nit: s/migration/migrate/","commit_id":"f2c4863ce35f5e2fbd0287760ecc56da4596842b"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"4ea7c199b468fb22385955d556a92b8041b82e7e","unresolved":false,"context_lines":[{"line_number":146,"context_line":"                check_can_live_migrate_destination(self.context, self.instance,"},{"line_number":147,"context_line":"                    destination, self.block_migration, self.disk_over_commit)"},{"line_number":148,"context_line":"        except messaging.MessagingTimeout:"},{"line_number":149,"context_line":"            msg \u003d _(\"Timeout while checking whether we can live migration to \""},{"line_number":150,"context_line":"                    \"host %s\") % destination"},{"line_number":151,"context_line":"            raise exception.MigrationPreCheckError(msg)"},{"line_number":152,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"ba3cc151_8c8156c5","line":149,"in_reply_to":"5afe65bd_8bce8db2","updated":"2015-07-03 15:06:59.000000000","message":"ok, changed ,thanks","commit_id":"f2c4863ce35f5e2fbd0287760ecc56da4596842b"}],"nova/tests/unit/conductor/tasks/test_live_migrate.py":[{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"c5dcc8cf4151e5f79b16af761a02ca4a24269acd","unresolved":false,"context_lines":[{"line_number":411,"context_line":"            \u0027check_can_live_migrate_destination\u0027,"},{"line_number":412,"context_line":"            side_effect\u003dmessaging.MessagingTimeout):"},{"line_number":413,"context_line":"            self.assertRaises(exception.MigrationPreCheckError,"},{"line_number":414,"context_line":"                self.task._call_livem_checks_on_host, {})"}],"source_content_type":"text/x-python","patch_set":2,"id":"3acd31a7_77bb6d0f","line":414,"updated":"2015-04-30 06:42:46.000000000","message":"nit: I think some indentations could be made here, so it looks better:\n\n    def test_call_livem_checks_on_host(self):\n        with mock.patch.object(self.task.compute_rpcapi,\n                               \u0027check_can_live_migrate_destination\u0027,\n                               side_effect\u003dmessaging.MessagingTimeout):\n            self.assertRaises(exception.MigrationPreCheckError,\n\t\t\t      self.task._call_livem_checks_on_host, {})","commit_id":"d9b45969a600917904dbacf281ad3aab6064d0fa"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"0671454c67f344ba528d23de3b93f37350b703e8","unresolved":false,"context_lines":[{"line_number":448,"context_line":"        self.assertRaises(exception.NoValidHost, self.task._find_destination)"},{"line_number":449,"context_line":""},{"line_number":450,"context_line":"    def test_call_livem_checks_on_host(self):"},{"line_number":451,"context_line":"        with mock.patch.object(self.task.compute_rpcapi,"},{"line_number":452,"context_line":"            \u0027check_can_live_migrate_destination\u0027,"},{"line_number":453,"context_line":"            side_effect\u003dmessaging.MessagingTimeout):"},{"line_number":454,"context_line":"            self.assertRaises(exception.MigrationPreCheckError,"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa1b9901_8e50b9d5","line":451,"updated":"2015-08-20 13:16:22.000000000","message":"Nit: style wise I prefer the @patch.object decorators, but this is fine.","commit_id":"c0d0e5ccf62f45498f084ed59e776c3b370e9137"}]}
