)]}'
{"nova/db/sqlalchemy/api.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"95bebe1a6cbdd8f5e6e1c9765f4a96bae6322ff7","unresolved":false,"context_lines":[{"line_number":4860,"context_line":"                            models.Migration.source_node \u003d\u003d node),"},{"line_number":4861,"context_line":"                       and_(models.Migration.dest_compute \u003d\u003d host,"},{"line_number":4862,"context_line":"                            models.Migration.dest_node \u003d\u003d node))).\\"},{"line_number":4863,"context_line":"            filter(~models.Migration.status.in_([\u0027accepted\u0027, \u0027confirmed\u0027,"},{"line_number":4864,"context_line":"                                                 \u0027reverted\u0027, \u0027error\u0027,"},{"line_number":4865,"context_line":"                                                 \u0027failed\u0027, \u0027completed\u0027,"},{"line_number":4866,"context_line":"                                                 \u0027cancelled\u0027])).\\"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f4e5783_0a035211","side":"PARENT","line":4863,"range":{"start_line":4863,"start_character":50,"end_line":4863,"end_character":58},"updated":"2017-10-11 23:36:31.000000000","message":"I guess this was intentional:\n\nhttps://review.openstack.org/#/c/244486/\n\nSo this change should just add \u0027done\u0027 and leave \u0027accepted\u0027.","commit_id":"64635ad4a5f60a79e1ec2d5369a8f84bfeccb7e4"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"d96b7f1e846a0be5e861f9a60bdc7fcd0711a02f","unresolved":false,"context_lines":[{"line_number":4854,"context_line":""},{"line_number":4855,"context_line":"@pick_context_manager_reader"},{"line_number":4856,"context_line":"def migration_get_in_progress_by_host_and_node(context, host, node):"},{"line_number":4857,"context_line":"    # TODO(mriedem): Tracking what various code flows set for"},{"line_number":4858,"context_line":"    # migration status is nutty, since it happens all over the place"},{"line_number":4859,"context_line":"    # and several of the statuses are redundant (done and completed)."},{"line_number":4860,"context_line":"    # We need to define these in an enum somewhere and just update"},{"line_number":4861,"context_line":"    # that one central place that defines what \"in progress\" means."},{"line_number":4862,"context_line":"    # NOTE(mriedem): The \u0027finished\u0027 status is not in this list because"},{"line_number":4863,"context_line":"    # \u0027finished\u0027 means a resize is finished on the destination host"},{"line_number":4864,"context_line":"    # and the instance is in VERIFY_RESIZE state, so the end state"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f4e5783_1e2b9330","line":4861,"range":{"start_line":4857,"start_character":0,"end_line":4861,"end_character":67},"updated":"2017-10-12 03:53:28.000000000","message":"++ for this. it is difficult to get the clear view of all migration status","commit_id":"299a5496f0979dbec8e0b6f25a58a282a55e8699"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"42ac799b1321f63fcd36c5412b2d0c6c6176e6f0","unresolved":false,"context_lines":[{"line_number":4868,"context_line":"                            models.Migration.source_node \u003d\u003d node),"},{"line_number":4869,"context_line":"                       and_(models.Migration.dest_compute \u003d\u003d host,"},{"line_number":4870,"context_line":"                            models.Migration.dest_node \u003d\u003d node))).\\"},{"line_number":4871,"context_line":"            filter(~models.Migration.status.in_([\u0027accepted\u0027, \u0027confirmed\u0027,"},{"line_number":4872,"context_line":"                                                 \u0027reverted\u0027, \u0027error\u0027,"},{"line_number":4873,"context_line":"                                                 \u0027failed\u0027, \u0027completed\u0027,"},{"line_number":4874,"context_line":"                                                 \u0027cancelled\u0027, \u0027done\u0027])).\\"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f4e5783_355c2a7d","line":4871,"range":{"start_line":4871,"start_character":50,"end_line":4871,"end_character":58},"updated":"2017-10-12 08:36:46.000000000","message":"We set the migration state to accepted when we start an evacuation [1] and evacuation is pretty much in progress at that point. So I think \u0027accepted\u0027 is not an terminal state.\n\nIs this some kind of special case here?\n\n[1] https://github.com/openstack/nova/blob/64635ad4a5f60a79e1ec2d5369a8f84bfeccb7e4/nova/compute/api.py#L3935","commit_id":"299a5496f0979dbec8e0b6f25a58a282a55e8699"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f55d0f883b5a610a5b67d4f21170d2f02dec3afa","unresolved":false,"context_lines":[{"line_number":4868,"context_line":"                            models.Migration.source_node \u003d\u003d node),"},{"line_number":4869,"context_line":"                       and_(models.Migration.dest_compute \u003d\u003d host,"},{"line_number":4870,"context_line":"                            models.Migration.dest_node \u003d\u003d node))).\\"},{"line_number":4871,"context_line":"            filter(~models.Migration.status.in_([\u0027accepted\u0027, \u0027confirmed\u0027,"},{"line_number":4872,"context_line":"                                                 \u0027reverted\u0027, \u0027error\u0027,"},{"line_number":4873,"context_line":"                                                 \u0027failed\u0027, \u0027completed\u0027,"},{"line_number":4874,"context_line":"                                                 \u0027cancelled\u0027, \u0027done\u0027])).\\"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f4e5783_692e42fb","line":4871,"range":{"start_line":4871,"start_character":50,"end_line":4871,"end_character":58},"in_reply_to":"5f4e5783_355c2a7d","updated":"2017-10-12 13:52:26.000000000","message":"I originally had replaced accepted with done but then found this old change that explicitly added \u0027accepted\u0027 to this list:\n\nhttps://review.openstack.org/#/c/244486/\n\nI still need to dig into the linked bug for that change to see if it still makes sense.","commit_id":"299a5496f0979dbec8e0b6f25a58a282a55e8699"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"d96b7f1e846a0be5e861f9a60bdc7fcd0711a02f","unresolved":false,"context_lines":[{"line_number":4868,"context_line":"                            models.Migration.source_node \u003d\u003d node),"},{"line_number":4869,"context_line":"                       and_(models.Migration.dest_compute \u003d\u003d host,"},{"line_number":4870,"context_line":"                            models.Migration.dest_node \u003d\u003d node))).\\"},{"line_number":4871,"context_line":"            filter(~models.Migration.status.in_([\u0027accepted\u0027, \u0027confirmed\u0027,"},{"line_number":4872,"context_line":"                                                 \u0027reverted\u0027, \u0027error\u0027,"},{"line_number":4873,"context_line":"                                                 \u0027failed\u0027, \u0027completed\u0027,"},{"line_number":4874,"context_line":"                                                 \u0027cancelled\u0027, \u0027done\u0027])).\\"},{"line_number":4875,"context_line":"            options(joinedload_all(\u0027instance.system_metadata\u0027)).\\"},{"line_number":4876,"context_line":"            all()"},{"line_number":4877,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5f4e5783_def3bbe6","line":4874,"range":{"start_line":4871,"start_character":49,"end_line":4874,"end_character":72},"updated":"2017-10-12 03:53:28.000000000","message":"Searched with all migration status in code and i think these are the only. But it much clear to have in-progress list here instead of NOT of non in-progress (after mentioned TODO).","commit_id":"299a5496f0979dbec8e0b6f25a58a282a55e8699"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"3474198ec4d35cc1a70f0a6d0a90172b30d2b209","unresolved":false,"context_lines":[{"line_number":4868,"context_line":"                            models.Migration.source_node \u003d\u003d node),"},{"line_number":4869,"context_line":"                       and_(models.Migration.dest_compute \u003d\u003d host,"},{"line_number":4870,"context_line":"                            models.Migration.dest_node \u003d\u003d node))).\\"},{"line_number":4871,"context_line":"            filter(~models.Migration.status.in_([\u0027accepted\u0027, \u0027confirmed\u0027,"},{"line_number":4872,"context_line":"                                                 \u0027reverted\u0027, \u0027error\u0027,"},{"line_number":4873,"context_line":"                                                 \u0027failed\u0027, \u0027completed\u0027,"},{"line_number":4874,"context_line":"                                                 \u0027cancelled\u0027, \u0027done\u0027])).\\"},{"line_number":4875,"context_line":"            options(joinedload_all(\u0027instance.system_metadata\u0027)).\\"},{"line_number":4876,"context_line":"            all()"},{"line_number":4877,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5f4e5783_4ebffe60","line":4874,"range":{"start_line":4871,"start_character":49,"end_line":4874,"end_character":72},"in_reply_to":"5f4e5783_def3bbe6","updated":"2017-10-12 22:29:04.000000000","message":"I also checked source code and I couldn\u0027t find any other non in-progress status. Looks good to me.","commit_id":"299a5496f0979dbec8e0b6f25a58a282a55e8699"}]}
