)]}'
{"nova/conductor/manager.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4ea1f5f5604e6e04b004093b70cc643a6bcc4a22","unresolved":false,"context_lines":[{"line_number":748,"context_line":"            node \u003d limits \u003d None"},{"line_number":749,"context_line":""},{"line_number":750,"context_line":"            try:"},{"line_number":751,"context_line":"                migration \u003d objects.Migration.get_by_instance_and_status("},{"line_number":752,"context_line":"                    context, instance.uuid, \u0027accepted\u0027)"},{"line_number":753,"context_line":"            except exception.MigrationNotFoundByStatus:"},{"line_number":754,"context_line":"                LOG.debug(\"No migration record for the rebuild/evacuate \""}],"source_content_type":"text/x-python","patch_set":1,"id":"7f287b81_05414fa9","line":751,"updated":"2017-08-31 12:59:28.000000000","message":"The API creates the migration record, and it\u0027s unfortunate we don\u0027t pass it over RPC to avoid the DB lookup, but that\u0027s a separate issue.","commit_id":"cff7f07513a7f3a77a35aa29391c1e290b50d8c6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4ea1f5f5604e6e04b004093b70cc643a6bcc4a22","unresolved":false,"context_lines":[{"line_number":785,"context_line":"                                          host_dict[\u0027limits\u0027])"},{"line_number":786,"context_line":"                except exception.NoValidHost as ex:"},{"line_number":787,"context_line":"                    if migration:"},{"line_number":788,"context_line":"                        migration.status \u003d \u0027failed\u0027"},{"line_number":789,"context_line":"                        migration.save()"},{"line_number":790,"context_line":"                    request_spec \u003d request_spec.to_legacy_request_spec_dict()"},{"line_number":791,"context_line":"                    with excutils.save_and_reraise_exception():"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f287b81_650b738d","line":788,"range":{"start_line":788,"start_character":44,"end_line":788,"end_character":50},"updated":"2017-08-31 12:59:28.000000000","message":"This is what the compute manager would set if the evacuate failed there, but we also have an \u0027error\u0027 state, and neither are really defined about when to use them. Although it looks like if the live migration pre-check fails, we set the migration to \u0027error\u0027 there so maybe it would be good to be consistent:\n\nhttps://github.com/openstack/nova/blob/e9daa28bae07fff7e617f03ef6b4956148db17f2/nova/conductor/manager.py#L438\n\nhttps://github.com/openstack/nova/blob/e9daa28bae07fff7e617f03ef6b4956148db17f2/nova/conductor/manager.py#L449","commit_id":"cff7f07513a7f3a77a35aa29391c1e290b50d8c6"},{"author":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},"change_message_id":"805158d74f61bc5ec0532b28b8daf1ac0c555bf7","unresolved":false,"context_lines":[{"line_number":785,"context_line":"                                          host_dict[\u0027limits\u0027])"},{"line_number":786,"context_line":"                except exception.NoValidHost as ex:"},{"line_number":787,"context_line":"                    if migration:"},{"line_number":788,"context_line":"                        migration.status \u003d \u0027failed\u0027"},{"line_number":789,"context_line":"                        migration.save()"},{"line_number":790,"context_line":"                    request_spec \u003d request_spec.to_legacy_request_spec_dict()"},{"line_number":791,"context_line":"                    with excutils.save_and_reraise_exception():"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f287b81_391d7a0f","line":788,"range":{"start_line":788,"start_character":44,"end_line":788,"end_character":50},"in_reply_to":"7f287b81_650b738d","updated":"2017-09-01 14:48:11.000000000","message":"\u0027failed\u0027 replaced to \u0027error\u0027. Done","commit_id":"cff7f07513a7f3a77a35aa29391c1e290b50d8c6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"94f20056ee735007d4e2b4055b5e3c11e0a64116","unresolved":false,"context_lines":[{"line_number":788,"context_line":"                        migration.status \u003d \u0027error\u0027"},{"line_number":789,"context_line":"                        migration.save()"},{"line_number":790,"context_line":"                    request_spec \u003d request_spec.to_legacy_request_spec_dict()"},{"line_number":791,"context_line":"                    with excutils.save_and_reraise_exception():"},{"line_number":792,"context_line":"                        self._set_vm_state_and_notify(context, instance.uuid,"},{"line_number":793,"context_line":"                                \u0027rebuild_server\u0027,"},{"line_number":794,"context_line":"                                {\u0027vm_state\u0027: instance.vm_state,"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_99b46ef4","line":791,"range":{"start_line":791,"start_character":20,"end_line":791,"end_character":63},"updated":"2017-09-01 14:49:04.000000000","message":"Wonder if the migration status update should go within this context manager which is essentially a try/except handler for cleanup type activities before re-raising the original exception.","commit_id":"520ad6cebc98e63dd579ff43e0c4a06562861d8c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"81f7f94a577e6647bdd883561cedf68a2b247b7f","unresolved":false,"context_lines":[{"line_number":797,"context_line":"                                    instance\u003dinstance)"},{"line_number":798,"context_line":"                except exception.UnsupportedPolicyException as ex:"},{"line_number":799,"context_line":"                    if migration:"},{"line_number":800,"context_line":"                        migration.status \u003d \u0027error\u0027"},{"line_number":801,"context_line":"                        migration.save()"},{"line_number":802,"context_line":"                    request_spec \u003d request_spec.to_legacy_request_spec_dict()"},{"line_number":803,"context_line":"                    with excutils.save_and_reraise_exception():"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_f74a59aa","line":800,"updated":"2017-09-01 16:20:21.000000000","message":"nit: if you have to respin, a unit test for this would be good. The functional test covers the other case.","commit_id":"520ad6cebc98e63dd579ff43e0c4a06562861d8c"}]}
