)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"8ab7b4a8a13b5f48064df4ea15971d8420fba470","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     XinxinShen \u003cshenxinxin@inspur.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2021-05-04 10:06:26 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"spec for vm evacuations for host recovery"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When large scale hosts failed in the same time, there would be"},{"line_number":10,"context_line":"not enough resources to recovery all the instances. So it needs"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"8b978768_6d7cfbd7","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":5},"updated":"2021-07-23 17:06:42.000000000","message":"Add spec","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"8ab7b4a8a13b5f48064df4ea15971d8420fba470","unresolved":true,"context_lines":[{"line_number":11,"context_line":"a priority to determine which one to evacuate firstly. Moreover,"},{"line_number":12,"context_line":"the user even wants to recall the instances to the original host"},{"line_number":13,"context_line":"after host recovery. So it needs to keep some necessary information"},{"line_number":14,"context_line":"aboud evacuations for new extend features."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: I7c87c8d4a2ab5898d1b0d046a1377fe1ed7c79ee"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"b2bea4dc_eed47017","line":14,"range":{"start_line":14,"start_character":26,"end_line":14,"end_character":33},"updated":"2021-07-23 17:06:42.000000000","message":"drop this word","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"8ab7b4a8a13b5f48064df4ea15971d8420fba470","unresolved":true,"context_lines":[{"line_number":13,"context_line":"after host recovery. So it needs to keep some necessary information"},{"line_number":14,"context_line":"aboud evacuations for new extend features."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: I7c87c8d4a2ab5898d1b0d046a1377fe1ed7c79ee"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"4cf641db_7e457c11","line":16,"updated":"2021-07-23 17:06:42.000000000","message":"add:\nBlueprint: vm-evacuations-for-host-recovery","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"}],"specs/xena/implemented/vm-evacuations-for-host-recovery.rst":[{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"8ab7b4a8a13b5f48064df4ea15971d8420fba470","unresolved":true,"context_lines":[{"line_number":15,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"If one compute node failed, Masakari will evacuate the instances"},{"line_number":18,"context_line":"from the failure host."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Generally, the resources of computing nodes are gradually reduced."},{"line_number":21,"context_line":"If a large number of hosts fail at the same time and there are not"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ecbbfdcb_cda4446c","line":18,"range":{"start_line":18,"start_character":9,"end_line":18,"end_character":17},"updated":"2021-07-23 17:06:42.000000000","message":"failed","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":31825,"name":"Xinxin Shen","email":"shenxinxin@inspur.com","username":"XinxinShen"},"change_message_id":"da473557d7c4ec9e1ff5a63b133f4d06173462cb","unresolved":false,"context_lines":[{"line_number":15,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"If one compute node failed, Masakari will evacuate the instances"},{"line_number":18,"context_line":"from the failure host."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Generally, the resources of computing nodes are gradually reduced."},{"line_number":21,"context_line":"If a large number of hosts fail at the same time and there are not"}],"source_content_type":"text/x-rst","patch_set":2,"id":"8a005346_cde17526","line":18,"range":{"start_line":18,"start_character":9,"end_line":18,"end_character":17},"in_reply_to":"ecbbfdcb_cda4446c","updated":"2021-07-29 01:51:02.000000000","message":"Done","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"8ab7b4a8a13b5f48064df4ea15971d8420fba470","unresolved":true,"context_lines":[{"line_number":24,"context_line":"evacuation can be carried out in the order of priority."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"When the failed compute node recovers, in order to make full"},{"line_number":27,"context_line":"use of the computing node resources, and some instances need"},{"line_number":28,"context_line":"to run on a specific computing node, the operator wants to"},{"line_number":29,"context_line":"migrate the instance back to the original node."},{"line_number":30,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"45a93340_6c349622","line":27,"range":{"start_line":27,"start_character":40,"end_line":27,"end_character":41},"updated":"2021-07-23 17:06:42.000000000","message":"due to","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"8ab7b4a8a13b5f48064df4ea15971d8420fba470","unresolved":true,"context_lines":[{"line_number":24,"context_line":"evacuation can be carried out in the order of priority."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"When the failed compute node recovers, in order to make full"},{"line_number":27,"context_line":"use of the computing node resources, and some instances need"},{"line_number":28,"context_line":"to run on a specific computing node, the operator wants to"},{"line_number":29,"context_line":"migrate the instance back to the original node."},{"line_number":30,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"449d6e69_97c8c182","line":27,"range":{"start_line":27,"start_character":56,"end_line":27,"end_character":60},"updated":"2021-07-23 17:06:42.000000000","message":"needing","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"8ab7b4a8a13b5f48064df4ea15971d8420fba470","unresolved":true,"context_lines":[{"line_number":24,"context_line":"evacuation can be carried out in the order of priority."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"When the failed compute node recovers, in order to make full"},{"line_number":27,"context_line":"use of the computing node resources, and some instances need"},{"line_number":28,"context_line":"to run on a specific computing node, the operator wants to"},{"line_number":29,"context_line":"migrate the instance back to the original node."},{"line_number":30,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"98f65e48_4fd9cabe","line":27,"range":{"start_line":27,"start_character":35,"end_line":27,"end_character":36},"updated":"2021-07-23 17:06:42.000000000","message":"skip this comma","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":31825,"name":"Xinxin Shen","email":"shenxinxin@inspur.com","username":"XinxinShen"},"change_message_id":"da473557d7c4ec9e1ff5a63b133f4d06173462cb","unresolved":false,"context_lines":[{"line_number":24,"context_line":"evacuation can be carried out in the order of priority."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"When the failed compute node recovers, in order to make full"},{"line_number":27,"context_line":"use of the computing node resources, and some instances need"},{"line_number":28,"context_line":"to run on a specific computing node, the operator wants to"},{"line_number":29,"context_line":"migrate the instance back to the original node."},{"line_number":30,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"bf756565_8f4e1a6a","line":27,"range":{"start_line":27,"start_character":56,"end_line":27,"end_character":60},"in_reply_to":"449d6e69_97c8c182","updated":"2021-07-29 01:51:02.000000000","message":"Done","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":31825,"name":"Xinxin Shen","email":"shenxinxin@inspur.com","username":"XinxinShen"},"change_message_id":"da473557d7c4ec9e1ff5a63b133f4d06173462cb","unresolved":false,"context_lines":[{"line_number":24,"context_line":"evacuation can be carried out in the order of priority."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"When the failed compute node recovers, in order to make full"},{"line_number":27,"context_line":"use of the computing node resources, and some instances need"},{"line_number":28,"context_line":"to run on a specific computing node, the operator wants to"},{"line_number":29,"context_line":"migrate the instance back to the original node."},{"line_number":30,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"4b1790e0_195cef86","line":27,"range":{"start_line":27,"start_character":40,"end_line":27,"end_character":41},"in_reply_to":"45a93340_6c349622","updated":"2021-07-29 01:51:02.000000000","message":"Done","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":31825,"name":"Xinxin Shen","email":"shenxinxin@inspur.com","username":"XinxinShen"},"change_message_id":"da473557d7c4ec9e1ff5a63b133f4d06173462cb","unresolved":false,"context_lines":[{"line_number":24,"context_line":"evacuation can be carried out in the order of priority."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"When the failed compute node recovers, in order to make full"},{"line_number":27,"context_line":"use of the computing node resources, and some instances need"},{"line_number":28,"context_line":"to run on a specific computing node, the operator wants to"},{"line_number":29,"context_line":"migrate the instance back to the original node."},{"line_number":30,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"a1422f2e_e340108c","line":27,"range":{"start_line":27,"start_character":35,"end_line":27,"end_character":36},"in_reply_to":"98f65e48_4fd9cabe","updated":"2021-07-29 01:51:02.000000000","message":"Done","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"8ab7b4a8a13b5f48064df4ea15971d8420fba470","unresolved":true,"context_lines":[{"line_number":27,"context_line":"use of the computing node resources, and some instances need"},{"line_number":28,"context_line":"to run on a specific computing node, the operator wants to"},{"line_number":29,"context_line":"migrate the instance back to the original node."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Proposed change"},{"line_number":32,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":33,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"cf0e1e91_a43be349","line":30,"updated":"2021-07-23 17:06:42.000000000","message":"We could also mention that the current multi-engine scenario is flaky and this spec could improve things in that department or at least allow for such a work.","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"8ab7b4a8a13b5f48064df4ea15971d8420fba470","unresolved":true,"context_lines":[{"line_number":32,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"This spec is mainly to record instance evacuation information in"},{"line_number":35,"context_line":"the database, provide three interfaces to support obtaining all"},{"line_number":36,"context_line":"evacuation information lists and specific evacuation information"},{"line_number":37,"context_line":"details, and prepare relevant information for supporting the"},{"line_number":38,"context_line":"migration of the instances back to previously failed hosts"}],"source_content_type":"text/x-rst","patch_set":2,"id":"e4b3a2f9_23158685","line":35,"range":{"start_line":35,"start_character":22,"end_line":35,"end_character":38},"updated":"2021-07-23 17:06:42.000000000","message":"? You mean the three API actions? Then just \"an interface\".","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":31825,"name":"Xinxin Shen","email":"shenxinxin@inspur.com","username":"XinxinShen"},"change_message_id":"da473557d7c4ec9e1ff5a63b133f4d06173462cb","unresolved":true,"context_lines":[{"line_number":32,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"This spec is mainly to record instance evacuation information in"},{"line_number":35,"context_line":"the database, provide three interfaces to support obtaining all"},{"line_number":36,"context_line":"evacuation information lists and specific evacuation information"},{"line_number":37,"context_line":"details, and prepare relevant information for supporting the"},{"line_number":38,"context_line":"migration of the instances back to previously failed hosts"}],"source_content_type":"text/x-rst","patch_set":2,"id":"52bc606d_820cbaac","line":35,"range":{"start_line":35,"start_character":22,"end_line":35,"end_character":38},"in_reply_to":"e4b3a2f9_23158685","updated":"2021-07-29 01:51:02.000000000","message":"This spec provides an API action that supports two GET interfaces to query evacuation records and evacuation details.","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"8ab7b4a8a13b5f48064df4ea15971d8420fba470","unresolved":true,"context_lines":[{"line_number":35,"context_line":"the database, provide three interfaces to support obtaining all"},{"line_number":36,"context_line":"evacuation information lists and specific evacuation information"},{"line_number":37,"context_line":"details, and prepare relevant information for supporting the"},{"line_number":38,"context_line":"migration of the instances back to previously failed hosts"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"* Record instance evacuation information in the database, mainly"},{"line_number":41,"context_line":"  including instance_id, notification_id, source_host, dest_host,"}],"source_content_type":"text/x-rst","patch_set":2,"id":"964adcd6_1dae9a55","line":38,"updated":"2021-07-23 17:06:42.000000000","message":"Missing . at the end.","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":31825,"name":"Xinxin Shen","email":"shenxinxin@inspur.com","username":"XinxinShen"},"change_message_id":"da473557d7c4ec9e1ff5a63b133f4d06173462cb","unresolved":false,"context_lines":[{"line_number":35,"context_line":"the database, provide three interfaces to support obtaining all"},{"line_number":36,"context_line":"evacuation information lists and specific evacuation information"},{"line_number":37,"context_line":"details, and prepare relevant information for supporting the"},{"line_number":38,"context_line":"migration of the instances back to previously failed hosts"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"* Record instance evacuation information in the database, mainly"},{"line_number":41,"context_line":"  including instance_id, notification_id, source_host, dest_host,"}],"source_content_type":"text/x-rst","patch_set":2,"id":"244c0632_7219131d","line":38,"in_reply_to":"964adcd6_1dae9a55","updated":"2021-07-29 01:51:02.000000000","message":"Done","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"8ab7b4a8a13b5f48064df4ea15971d8420fba470","unresolved":true,"context_lines":[{"line_number":37,"context_line":"details, and prepare relevant information for supporting the"},{"line_number":38,"context_line":"migration of the instances back to previously failed hosts"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"* Record instance evacuation information in the database, mainly"},{"line_number":41,"context_line":"  including instance_id, notification_id, source_host, dest_host,"},{"line_number":42,"context_line":"  status. The status is EVACUATE_PENDING."},{"line_number":43,"context_line":"* User can get evacuation information, including of IDs,"},{"line_number":44,"context_line":"  notification_id, instance_id, source_host, dest_host, status,"},{"line_number":45,"context_line":"  and priority for all evacuations , by"},{"line_number":46,"context_line":"  ``GET /notifications/\u003cnotification_id\u003e/evacuations`` API."},{"line_number":47,"context_line":"* User can get detailed information about a particular evacuation,"},{"line_number":48,"context_line":"  including of  IDs, notification_id, instance_id, source_host,"},{"line_number":49,"context_line":"  dest_host, status, and priority, by"},{"line_number":50,"context_line":"  ``GET /notifications/\u003cnotification_id\u003e/evacuations/\u003cevacuation_id\u003e``"},{"line_number":51,"context_line":"  API."},{"line_number":52,"context_line":"* User can update information about a particular evacuation,"},{"line_number":53,"context_line":"  including of  source_host, dest_host, status, and priority, by"},{"line_number":54,"context_line":"  ``PUT /notifications/\u003cnotification_id\u003e/evacuations/\u003cevacuation_id\u003e``"}],"source_content_type":"text/x-rst","patch_set":2,"id":"d0912a58_9ec2663f","line":51,"range":{"start_line":40,"start_character":0,"end_line":51,"end_character":6},"updated":"2021-07-23 17:06:42.000000000","message":"This needs amending to conform with updates below. I would drop the detailed enumerations here and just go with the general description saying that details will be recorded and user will be able to query them.","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":31825,"name":"Xinxin Shen","email":"shenxinxin@inspur.com","username":"XinxinShen"},"change_message_id":"da473557d7c4ec9e1ff5a63b133f4d06173462cb","unresolved":false,"context_lines":[{"line_number":37,"context_line":"details, and prepare relevant information for supporting the"},{"line_number":38,"context_line":"migration of the instances back to previously failed hosts"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"* Record instance evacuation information in the database, mainly"},{"line_number":41,"context_line":"  including instance_id, notification_id, source_host, dest_host,"},{"line_number":42,"context_line":"  status. The status is EVACUATE_PENDING."},{"line_number":43,"context_line":"* User can get evacuation information, including of IDs,"},{"line_number":44,"context_line":"  notification_id, instance_id, source_host, dest_host, status,"},{"line_number":45,"context_line":"  and priority for all evacuations , by"},{"line_number":46,"context_line":"  ``GET /notifications/\u003cnotification_id\u003e/evacuations`` API."},{"line_number":47,"context_line":"* User can get detailed information about a particular evacuation,"},{"line_number":48,"context_line":"  including of  IDs, notification_id, instance_id, source_host,"},{"line_number":49,"context_line":"  dest_host, status, and priority, by"},{"line_number":50,"context_line":"  ``GET /notifications/\u003cnotification_id\u003e/evacuations/\u003cevacuation_id\u003e``"},{"line_number":51,"context_line":"  API."},{"line_number":52,"context_line":"* User can update information about a particular evacuation,"},{"line_number":53,"context_line":"  including of  source_host, dest_host, status, and priority, by"},{"line_number":54,"context_line":"  ``PUT /notifications/\u003cnotification_id\u003e/evacuations/\u003cevacuation_id\u003e``"}],"source_content_type":"text/x-rst","patch_set":2,"id":"532ab4bf_2793b8ac","line":51,"range":{"start_line":40,"start_character":0,"end_line":51,"end_character":6},"in_reply_to":"d0912a58_9ec2663f","updated":"2021-07-29 01:51:02.000000000","message":"Done","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"8ab7b4a8a13b5f48064df4ea15971d8420fba470","unresolved":true,"context_lines":[{"line_number":49,"context_line":"  dest_host, status, and priority, by"},{"line_number":50,"context_line":"  ``GET /notifications/\u003cnotification_id\u003e/evacuations/\u003cevacuation_id\u003e``"},{"line_number":51,"context_line":"  API."},{"line_number":52,"context_line":"* User can update information about a particular evacuation,"},{"line_number":53,"context_line":"  including of  source_host, dest_host, status, and priority, by"},{"line_number":54,"context_line":"  ``PUT /notifications/\u003cnotification_id\u003e/evacuations/\u003cevacuation_id\u003e``"},{"line_number":55,"context_line":"  API."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":2,"id":"a8567a2a_ba3510e1","line":55,"range":{"start_line":52,"start_character":0,"end_line":55,"end_character":6},"updated":"2021-07-23 17:06:42.000000000","message":"I don\u0027t think this is useful. At least not in the first iteration.","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":31825,"name":"Xinxin Shen","email":"shenxinxin@inspur.com","username":"XinxinShen"},"change_message_id":"da473557d7c4ec9e1ff5a63b133f4d06173462cb","unresolved":false,"context_lines":[{"line_number":49,"context_line":"  dest_host, status, and priority, by"},{"line_number":50,"context_line":"  ``GET /notifications/\u003cnotification_id\u003e/evacuations/\u003cevacuation_id\u003e``"},{"line_number":51,"context_line":"  API."},{"line_number":52,"context_line":"* User can update information about a particular evacuation,"},{"line_number":53,"context_line":"  including of  source_host, dest_host, status, and priority, by"},{"line_number":54,"context_line":"  ``PUT /notifications/\u003cnotification_id\u003e/evacuations/\u003cevacuation_id\u003e``"},{"line_number":55,"context_line":"  API."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":2,"id":"54a4385b_c76e7930","line":55,"range":{"start_line":52,"start_character":0,"end_line":55,"end_character":6},"in_reply_to":"a8567a2a_ba3510e1","updated":"2021-07-29 01:51:02.000000000","message":"Done","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"8ab7b4a8a13b5f48064df4ea15971d8420fba470","unresolved":true,"context_lines":[{"line_number":63,"context_line":"Data model impact"},{"line_number":64,"context_line":"-----------------"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Below tables will get added into Masakari Database"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"* evacuations"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"6ff4fb20_51c99e52","line":66,"range":{"start_line":66,"start_character":0,"end_line":66,"end_character":12},"updated":"2021-07-23 17:06:42.000000000","message":"The tables below","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"8ab7b4a8a13b5f48064df4ea15971d8420fba470","unresolved":true,"context_lines":[{"line_number":63,"context_line":"Data model impact"},{"line_number":64,"context_line":"-----------------"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Below tables will get added into Masakari Database"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"* evacuations"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"b4a55e84_105b3469","line":66,"range":{"start_line":66,"start_character":33,"end_line":66,"end_character":50},"updated":"2021-07-23 17:06:42.000000000","message":"the Masakari database.","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":31825,"name":"Xinxin Shen","email":"shenxinxin@inspur.com","username":"XinxinShen"},"change_message_id":"da473557d7c4ec9e1ff5a63b133f4d06173462cb","unresolved":false,"context_lines":[{"line_number":63,"context_line":"Data model impact"},{"line_number":64,"context_line":"-----------------"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Below tables will get added into Masakari Database"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"* evacuations"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"dc47aaba_918dffc5","line":66,"range":{"start_line":66,"start_character":0,"end_line":66,"end_character":12},"in_reply_to":"6ff4fb20_51c99e52","updated":"2021-07-29 01:51:02.000000000","message":"Done","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":31825,"name":"Xinxin Shen","email":"shenxinxin@inspur.com","username":"XinxinShen"},"change_message_id":"da473557d7c4ec9e1ff5a63b133f4d06173462cb","unresolved":false,"context_lines":[{"line_number":63,"context_line":"Data model impact"},{"line_number":64,"context_line":"-----------------"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Below tables will get added into Masakari Database"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"* evacuations"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1e77711a_ac16e13a","line":66,"range":{"start_line":66,"start_character":33,"end_line":66,"end_character":50},"in_reply_to":"b4a55e84_105b3469","updated":"2021-07-29 01:51:02.000000000","message":"Done","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"8ab7b4a8a13b5f48064df4ea15971d8420fba470","unresolved":true,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"* evacuations"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":".. note::"},{"line_number":71,"context_line":"   evacuations here stores evacuation information when one compute"},{"line_number":72,"context_line":"   node failed, including of created_at, updated_at, deleted_at,"},{"line_number":73,"context_line":"   deleted, id, uuid, notification_uuid, instance_uuid, source_host,"},{"line_number":74,"context_line":"   dest_host, status, priority."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"For example in case of ‘host-failure recovery workflow’, data will be"},{"line_number":77,"context_line":"stored in below columns"}],"source_content_type":"text/x-rst","patch_set":2,"id":"be80526a_221e320d","line":74,"range":{"start_line":70,"start_character":0,"end_line":74,"end_character":31},"updated":"2021-07-23 17:06:42.000000000","message":"this is redundant, remove this","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":31825,"name":"Xinxin Shen","email":"shenxinxin@inspur.com","username":"XinxinShen"},"change_message_id":"da473557d7c4ec9e1ff5a63b133f4d06173462cb","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"* evacuations"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":".. note::"},{"line_number":71,"context_line":"   evacuations here stores evacuation information when one compute"},{"line_number":72,"context_line":"   node failed, including of created_at, updated_at, deleted_at,"},{"line_number":73,"context_line":"   deleted, id, uuid, notification_uuid, instance_uuid, source_host,"},{"line_number":74,"context_line":"   dest_host, status, priority."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"For example in case of ‘host-failure recovery workflow’, data will be"},{"line_number":77,"context_line":"stored in below columns"}],"source_content_type":"text/x-rst","patch_set":2,"id":"c1aa17e3_292df736","line":74,"range":{"start_line":70,"start_character":0,"end_line":74,"end_character":31},"in_reply_to":"be80526a_221e320d","updated":"2021-07-29 01:51:02.000000000","message":"Done","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"8ab7b4a8a13b5f48064df4ea15971d8420fba470","unresolved":true,"context_lines":[{"line_number":73,"context_line":"   deleted, id, uuid, notification_uuid, instance_uuid, source_host,"},{"line_number":74,"context_line":"   dest_host, status, priority."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"For example in case of ‘host-failure recovery workflow’, data will be"},{"line_number":77,"context_line":"stored in below columns"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"* created_at: Datetime."},{"line_number":80,"context_line":"* update_at: Datetime."}],"source_content_type":"text/x-rst","patch_set":2,"id":"d4f1bcf4_91124f82","line":77,"range":{"start_line":76,"start_character":0,"end_line":77,"end_character":23},"updated":"2021-07-23 17:06:42.000000000","message":"remove this","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":31825,"name":"Xinxin Shen","email":"shenxinxin@inspur.com","username":"XinxinShen"},"change_message_id":"da473557d7c4ec9e1ff5a63b133f4d06173462cb","unresolved":false,"context_lines":[{"line_number":73,"context_line":"   deleted, id, uuid, notification_uuid, instance_uuid, source_host,"},{"line_number":74,"context_line":"   dest_host, status, priority."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"For example in case of ‘host-failure recovery workflow’, data will be"},{"line_number":77,"context_line":"stored in below columns"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"* created_at: Datetime."},{"line_number":80,"context_line":"* update_at: Datetime."}],"source_content_type":"text/x-rst","patch_set":2,"id":"3b2fa213_fa3e663f","line":77,"range":{"start_line":76,"start_character":0,"end_line":77,"end_character":23},"in_reply_to":"d4f1bcf4_91124f82","updated":"2021-07-29 01:51:02.000000000","message":"Done","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"8ab7b4a8a13b5f48064df4ea15971d8420fba470","unresolved":true,"context_lines":[{"line_number":75,"context_line":""},{"line_number":76,"context_line":"For example in case of ‘host-failure recovery workflow’, data will be"},{"line_number":77,"context_line":"stored in below columns"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"* created_at: Datetime."},{"line_number":80,"context_line":"* update_at: Datetime."},{"line_number":81,"context_line":"* deleted_at: Datetime."}],"source_content_type":"text/x-rst","patch_set":2,"id":"65b17cba_9275a273","line":78,"updated":"2021-07-23 17:06:42.000000000","message":"make this a nested list","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":31825,"name":"Xinxin Shen","email":"shenxinxin@inspur.com","username":"XinxinShen"},"change_message_id":"da473557d7c4ec9e1ff5a63b133f4d06173462cb","unresolved":false,"context_lines":[{"line_number":75,"context_line":""},{"line_number":76,"context_line":"For example in case of ‘host-failure recovery workflow’, data will be"},{"line_number":77,"context_line":"stored in below columns"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"* created_at: Datetime."},{"line_number":80,"context_line":"* update_at: Datetime."},{"line_number":81,"context_line":"* deleted_at: Datetime."}],"source_content_type":"text/x-rst","patch_set":2,"id":"c2bc3a71_dc1d941e","line":78,"in_reply_to":"65b17cba_9275a273","updated":"2021-07-29 01:51:02.000000000","message":"Done","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"8ab7b4a8a13b5f48064df4ea15971d8420fba470","unresolved":true,"context_lines":[{"line_number":77,"context_line":"stored in below columns"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"* created_at: Datetime."},{"line_number":80,"context_line":"* update_at: Datetime."},{"line_number":81,"context_line":"* deleted_at: Datetime."},{"line_number":82,"context_line":"* deleted: Integer."},{"line_number":83,"context_line":"* id: Integer. id of evacuation record."}],"source_content_type":"text/x-rst","patch_set":2,"id":"1ffc7b93_22370843","line":80,"range":{"start_line":80,"start_character":2,"end_line":80,"end_character":11},"updated":"2021-07-23 17:06:42.000000000","message":"updated_at","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":31825,"name":"Xinxin Shen","email":"shenxinxin@inspur.com","username":"XinxinShen"},"change_message_id":"da473557d7c4ec9e1ff5a63b133f4d06173462cb","unresolved":false,"context_lines":[{"line_number":77,"context_line":"stored in below columns"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"* created_at: Datetime."},{"line_number":80,"context_line":"* update_at: Datetime."},{"line_number":81,"context_line":"* deleted_at: Datetime."},{"line_number":82,"context_line":"* deleted: Integer."},{"line_number":83,"context_line":"* id: Integer. id of evacuation record."}],"source_content_type":"text/x-rst","patch_set":2,"id":"bd5376c1_f3f30ef3","line":80,"range":{"start_line":80,"start_character":2,"end_line":80,"end_character":11},"in_reply_to":"1ffc7b93_22370843","updated":"2021-07-29 01:51:02.000000000","message":"Done","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"8ab7b4a8a13b5f48064df4ea15971d8420fba470","unresolved":true,"context_lines":[{"line_number":79,"context_line":"* created_at: Datetime."},{"line_number":80,"context_line":"* update_at: Datetime."},{"line_number":81,"context_line":"* deleted_at: Datetime."},{"line_number":82,"context_line":"* deleted: Integer."},{"line_number":83,"context_line":"* id: Integer. id of evacuation record."},{"line_number":84,"context_line":"* uuid: String. uuid of evacuation record."},{"line_number":85,"context_line":"* notification_uuid: String. uuid of notification."}],"source_content_type":"text/x-rst","patch_set":2,"id":"89c088a0_3f503b20","line":82,"range":{"start_line":82,"start_character":11,"end_line":82,"end_character":18},"updated":"2021-07-23 17:06:42.000000000","message":"Boolean (you will likely reuse masakari.objects.base.MasakariPersistentObject which has the four fields above)","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":31825,"name":"Xinxin Shen","email":"shenxinxin@inspur.com","username":"XinxinShen"},"change_message_id":"da473557d7c4ec9e1ff5a63b133f4d06173462cb","unresolved":false,"context_lines":[{"line_number":79,"context_line":"* created_at: Datetime."},{"line_number":80,"context_line":"* update_at: Datetime."},{"line_number":81,"context_line":"* deleted_at: Datetime."},{"line_number":82,"context_line":"* deleted: Integer."},{"line_number":83,"context_line":"* id: Integer. id of evacuation record."},{"line_number":84,"context_line":"* uuid: String. uuid of evacuation record."},{"line_number":85,"context_line":"* notification_uuid: String. uuid of notification."}],"source_content_type":"text/x-rst","patch_set":2,"id":"88d6bc7e_4f90a9dc","line":82,"range":{"start_line":82,"start_character":11,"end_line":82,"end_character":18},"in_reply_to":"89c088a0_3f503b20","updated":"2021-07-29 01:51:02.000000000","message":"Done","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"8ab7b4a8a13b5f48064df4ea15971d8420fba470","unresolved":true,"context_lines":[{"line_number":80,"context_line":"* update_at: Datetime."},{"line_number":81,"context_line":"* deleted_at: Datetime."},{"line_number":82,"context_line":"* deleted: Integer."},{"line_number":83,"context_line":"* id: Integer. id of evacuation record."},{"line_number":84,"context_line":"* uuid: String. uuid of evacuation record."},{"line_number":85,"context_line":"* notification_uuid: String. uuid of notification."},{"line_number":86,"context_line":"* instance_uuid: String. uuid of instance."}],"source_content_type":"text/x-rst","patch_set":2,"id":"be01661e_3bee08bd","line":83,"updated":"2021-07-23 17:06:42.000000000","message":"I don\u0027t think we need an \u0027id\u0027 field in modern usage with UUID.","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":31825,"name":"Xinxin Shen","email":"shenxinxin@inspur.com","username":"XinxinShen"},"change_message_id":"da473557d7c4ec9e1ff5a63b133f4d06173462cb","unresolved":false,"context_lines":[{"line_number":80,"context_line":"* update_at: Datetime."},{"line_number":81,"context_line":"* deleted_at: Datetime."},{"line_number":82,"context_line":"* deleted: Integer."},{"line_number":83,"context_line":"* id: Integer. id of evacuation record."},{"line_number":84,"context_line":"* uuid: String. uuid of evacuation record."},{"line_number":85,"context_line":"* notification_uuid: String. uuid of notification."},{"line_number":86,"context_line":"* instance_uuid: String. uuid of instance."}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa19a5f8_58a4fd6c","line":83,"in_reply_to":"be01661e_3bee08bd","updated":"2021-07-29 01:51:02.000000000","message":"Done","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"8ab7b4a8a13b5f48064df4ea15971d8420fba470","unresolved":true,"context_lines":[{"line_number":81,"context_line":"* deleted_at: Datetime."},{"line_number":82,"context_line":"* deleted: Integer."},{"line_number":83,"context_line":"* id: Integer. id of evacuation record."},{"line_number":84,"context_line":"* uuid: String. uuid of evacuation record."},{"line_number":85,"context_line":"* notification_uuid: String. uuid of notification."},{"line_number":86,"context_line":"* instance_uuid: String. uuid of instance."},{"line_number":87,"context_line":"* source_host: String. The original compute node before the virtual"}],"source_content_type":"text/x-rst","patch_set":2,"id":"10f0801d_5e509c86","line":84,"range":{"start_line":84,"start_character":8,"end_line":84,"end_character":14},"updated":"2021-07-23 17:06:42.000000000","message":"UUID; there is such a type","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":31825,"name":"Xinxin Shen","email":"shenxinxin@inspur.com","username":"XinxinShen"},"change_message_id":"da473557d7c4ec9e1ff5a63b133f4d06173462cb","unresolved":false,"context_lines":[{"line_number":81,"context_line":"* deleted_at: Datetime."},{"line_number":82,"context_line":"* deleted: Integer."},{"line_number":83,"context_line":"* id: Integer. id of evacuation record."},{"line_number":84,"context_line":"* uuid: String. uuid of evacuation record."},{"line_number":85,"context_line":"* notification_uuid: String. uuid of notification."},{"line_number":86,"context_line":"* instance_uuid: String. uuid of instance."},{"line_number":87,"context_line":"* source_host: String. The original compute node before the virtual"}],"source_content_type":"text/x-rst","patch_set":2,"id":"96dcd868_37f40e53","line":84,"range":{"start_line":84,"start_character":8,"end_line":84,"end_character":14},"in_reply_to":"10f0801d_5e509c86","updated":"2021-07-29 01:51:02.000000000","message":"Done","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"8ab7b4a8a13b5f48064df4ea15971d8420fba470","unresolved":true,"context_lines":[{"line_number":82,"context_line":"* deleted: Integer."},{"line_number":83,"context_line":"* id: Integer. id of evacuation record."},{"line_number":84,"context_line":"* uuid: String. uuid of evacuation record."},{"line_number":85,"context_line":"* notification_uuid: String. uuid of notification."},{"line_number":86,"context_line":"* instance_uuid: String. uuid of instance."},{"line_number":87,"context_line":"* source_host: String. The original compute node before the virtual"},{"line_number":88,"context_line":"  machine evacuated."}],"source_content_type":"text/x-rst","patch_set":2,"id":"97686422_cc3116d9","line":85,"range":{"start_line":85,"start_character":21,"end_line":85,"end_character":27},"updated":"2021-07-23 17:06:42.000000000","message":"ditto - UUID","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":31825,"name":"Xinxin Shen","email":"shenxinxin@inspur.com","username":"XinxinShen"},"change_message_id":"da473557d7c4ec9e1ff5a63b133f4d06173462cb","unresolved":false,"context_lines":[{"line_number":82,"context_line":"* deleted: Integer."},{"line_number":83,"context_line":"* id: Integer. id of evacuation record."},{"line_number":84,"context_line":"* uuid: String. uuid of evacuation record."},{"line_number":85,"context_line":"* notification_uuid: String. uuid of notification."},{"line_number":86,"context_line":"* instance_uuid: String. uuid of instance."},{"line_number":87,"context_line":"* source_host: String. The original compute node before the virtual"},{"line_number":88,"context_line":"  machine evacuated."}],"source_content_type":"text/x-rst","patch_set":2,"id":"18e0226e_8a190900","line":85,"range":{"start_line":85,"start_character":21,"end_line":85,"end_character":27},"in_reply_to":"97686422_cc3116d9","updated":"2021-07-29 01:51:02.000000000","message":"Done","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"8ab7b4a8a13b5f48064df4ea15971d8420fba470","unresolved":true,"context_lines":[{"line_number":83,"context_line":"* id: Integer. id of evacuation record."},{"line_number":84,"context_line":"* uuid: String. uuid of evacuation record."},{"line_number":85,"context_line":"* notification_uuid: String. uuid of notification."},{"line_number":86,"context_line":"* instance_uuid: String. uuid of instance."},{"line_number":87,"context_line":"* source_host: String. The original compute node before the virtual"},{"line_number":88,"context_line":"  machine evacuated."},{"line_number":89,"context_line":"* dest_host: String. The destination compute node after the virtual"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7da9218f_7fad982d","line":86,"updated":"2021-07-23 17:06:42.000000000","message":"I would also store migration_id and migration_uuid (see https://docs.openstack.org/api-ref/compute/?expanded\u003dshow-migration-details-detail#show-migration-details). We need _id here because Nova does not (yet) support GET by uuid (perhaps you could work on that to streamline things?). This gives us access to all details about the migration (remember evacuation is just a special instance of evacuation). Notice also that we can list all migrations for an instance so we know precisely whether Masakari\u0027s was last or there were any further ones.","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"8ab7b4a8a13b5f48064df4ea15971d8420fba470","unresolved":true,"context_lines":[{"line_number":83,"context_line":"* id: Integer. id of evacuation record."},{"line_number":84,"context_line":"* uuid: String. uuid of evacuation record."},{"line_number":85,"context_line":"* notification_uuid: String. uuid of notification."},{"line_number":86,"context_line":"* instance_uuid: String. uuid of instance."},{"line_number":87,"context_line":"* source_host: String. The original compute node before the virtual"},{"line_number":88,"context_line":"  machine evacuated."},{"line_number":89,"context_line":"* dest_host: String. The destination compute node after the virtual"}],"source_content_type":"text/x-rst","patch_set":2,"id":"4ce6e574_88d8b508","line":86,"range":{"start_line":86,"start_character":17,"end_line":86,"end_character":23},"updated":"2021-07-23 17:06:42.000000000","message":"ditto - UUID","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":31825,"name":"Xinxin Shen","email":"shenxinxin@inspur.com","username":"XinxinShen"},"change_message_id":"da473557d7c4ec9e1ff5a63b133f4d06173462cb","unresolved":false,"context_lines":[{"line_number":83,"context_line":"* id: Integer. id of evacuation record."},{"line_number":84,"context_line":"* uuid: String. uuid of evacuation record."},{"line_number":85,"context_line":"* notification_uuid: String. uuid of notification."},{"line_number":86,"context_line":"* instance_uuid: String. uuid of instance."},{"line_number":87,"context_line":"* source_host: String. The original compute node before the virtual"},{"line_number":88,"context_line":"  machine evacuated."},{"line_number":89,"context_line":"* dest_host: String. The destination compute node after the virtual"}],"source_content_type":"text/x-rst","patch_set":2,"id":"4cbb610f_53e55ff6","line":86,"range":{"start_line":86,"start_character":17,"end_line":86,"end_character":23},"in_reply_to":"4ce6e574_88d8b508","updated":"2021-07-29 01:51:02.000000000","message":"Done","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":31825,"name":"Xinxin Shen","email":"shenxinxin@inspur.com","username":"XinxinShen"},"change_message_id":"da473557d7c4ec9e1ff5a63b133f4d06173462cb","unresolved":true,"context_lines":[{"line_number":83,"context_line":"* id: Integer. id of evacuation record."},{"line_number":84,"context_line":"* uuid: String. uuid of evacuation record."},{"line_number":85,"context_line":"* notification_uuid: String. uuid of notification."},{"line_number":86,"context_line":"* instance_uuid: String. uuid of instance."},{"line_number":87,"context_line":"* source_host: String. The original compute node before the virtual"},{"line_number":88,"context_line":"  machine evacuated."},{"line_number":89,"context_line":"* dest_host: String. The destination compute node after the virtual"}],"source_content_type":"text/x-rst","patch_set":2,"id":"19d15cc7_70ff4843","line":86,"in_reply_to":"7da9218f_7fad982d","updated":"2021-07-29 01:51:02.000000000","message":"It is ok without migration_uuid, and it doesn\u0027t used migration_uuid to check whether evacuation finished. Moreover when executing an evacuation or migration command, the interface does not return migration_uuid. Need to query the migration record of the instance, and then get the migration_uuid.","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"8ab7b4a8a13b5f48064df4ea15971d8420fba470","unresolved":true,"context_lines":[{"line_number":85,"context_line":"* notification_uuid: String. uuid of notification."},{"line_number":86,"context_line":"* instance_uuid: String. uuid of instance."},{"line_number":87,"context_line":"* source_host: String. The original compute node before the virtual"},{"line_number":88,"context_line":"  machine evacuated."},{"line_number":89,"context_line":"* dest_host: String. The destination compute node after the virtual"},{"line_number":90,"context_line":"  machine is evacuated."},{"line_number":91,"context_line":"* status: String. Represents possible statuses for notifications,such as"}],"source_content_type":"text/x-rst","patch_set":2,"id":"16ba19cf_37b0d527","line":88,"updated":"2021-07-23 17:06:42.000000000","message":"Will it be the name of the hypervisor or the name of the nova compute host? I would just rely on Masakari notification\u0027s source_host_uuid (via notification_uuid) instead.","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":31825,"name":"Xinxin Shen","email":"shenxinxin@inspur.com","username":"XinxinShen"},"change_message_id":"da473557d7c4ec9e1ff5a63b133f4d06173462cb","unresolved":true,"context_lines":[{"line_number":85,"context_line":"* notification_uuid: String. uuid of notification."},{"line_number":86,"context_line":"* instance_uuid: String. uuid of instance."},{"line_number":87,"context_line":"* source_host: String. The original compute node before the virtual"},{"line_number":88,"context_line":"  machine evacuated."},{"line_number":89,"context_line":"* dest_host: String. The destination compute node after the virtual"},{"line_number":90,"context_line":"  machine is evacuated."},{"line_number":91,"context_line":"* status: String. Represents possible statuses for notifications,such as"}],"source_content_type":"text/x-rst","patch_set":2,"id":"22f4d25f_35674d62","line":88,"in_reply_to":"16ba19cf_37b0d527","updated":"2021-07-29 01:51:02.000000000","message":"source_host is the name of the nova compute host.Not using uuid but name will be more intuitive，and will not affect the implementation of the migrate back function.","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"8ab7b4a8a13b5f48064df4ea15971d8420fba470","unresolved":true,"context_lines":[{"line_number":87,"context_line":"* source_host: String. The original compute node before the virtual"},{"line_number":88,"context_line":"  machine evacuated."},{"line_number":89,"context_line":"* dest_host: String. The destination compute node after the virtual"},{"line_number":90,"context_line":"  machine is evacuated."},{"line_number":91,"context_line":"* status: String. Represents possible statuses for notifications,such as"},{"line_number":92,"context_line":"  evacuate_pending, evacuate_ongoing, evacuate_ignored and so on."},{"line_number":93,"context_line":"* priority: Integer. Set the evacuation priority and support the"}],"source_content_type":"text/x-rst","patch_set":2,"id":"23d90dd0_d850d9f1","line":90,"updated":"2021-07-23 17:06:42.000000000","message":"I would remove this field entirely (see above - migration_uuid).","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":31825,"name":"Xinxin Shen","email":"shenxinxin@inspur.com","username":"XinxinShen"},"change_message_id":"da473557d7c4ec9e1ff5a63b133f4d06173462cb","unresolved":true,"context_lines":[{"line_number":87,"context_line":"* source_host: String. The original compute node before the virtual"},{"line_number":88,"context_line":"  machine evacuated."},{"line_number":89,"context_line":"* dest_host: String. The destination compute node after the virtual"},{"line_number":90,"context_line":"  machine is evacuated."},{"line_number":91,"context_line":"* status: String. Represents possible statuses for notifications,such as"},{"line_number":92,"context_line":"  evacuate_pending, evacuate_ongoing, evacuate_ignored and so on."},{"line_number":93,"context_line":"* priority: Integer. Set the evacuation priority and support the"}],"source_content_type":"text/x-rst","patch_set":2,"id":"579a3ac8_e900954c","line":90,"in_reply_to":"23d90dd0_d850d9f1","updated":"2021-07-29 01:51:02.000000000","message":"The migration_uuid is not used in the evacuation table, so the dest_host field is required.","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"fe4387a7294d55f4a0138176ce0f42dbdb98efa3","unresolved":true,"context_lines":[{"line_number":87,"context_line":"* source_host: String. The original compute node before the virtual"},{"line_number":88,"context_line":"  machine evacuated."},{"line_number":89,"context_line":"* dest_host: String. The destination compute node after the virtual"},{"line_number":90,"context_line":"  machine is evacuated."},{"line_number":91,"context_line":"* status: String. Represents possible statuses for notifications,such as"},{"line_number":92,"context_line":"  evacuate_pending, evacuate_ongoing, evacuate_ignored and so on."},{"line_number":93,"context_line":"* priority: Integer. Set the evacuation priority and support the"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5cf38657_ecd197c7","line":90,"in_reply_to":"579a3ac8_e900954c","updated":"2021-07-29 09:34:57.000000000","message":"Even then, I would still opt to include migration_uuid for provenance. Since you will be collecting dest_host, it is easy to include migration_uuid already. We can improve the Nova API to include migration_uuid everywhere to have a more optimal and reliable query on the Nova API.","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":31825,"name":"Xinxin Shen","email":"shenxinxin@inspur.com","username":"XinxinShen"},"change_message_id":"f2f73e58993c13dd3dc3b7f2066311e0b41dce2c","unresolved":true,"context_lines":[{"line_number":87,"context_line":"* source_host: String. The original compute node before the virtual"},{"line_number":88,"context_line":"  machine evacuated."},{"line_number":89,"context_line":"* dest_host: String. The destination compute node after the virtual"},{"line_number":90,"context_line":"  machine is evacuated."},{"line_number":91,"context_line":"* status: String. Represents possible statuses for notifications,such as"},{"line_number":92,"context_line":"  evacuate_pending, evacuate_ongoing, evacuate_ignored and so on."},{"line_number":93,"context_line":"* priority: Integer. Set the evacuation priority and support the"}],"source_content_type":"text/x-rst","patch_set":2,"id":"f030333a_e396abf8","line":90,"in_reply_to":"5cf38657_ecd197c7","updated":"2021-07-30 09:52:48.000000000","message":"I don\u0027t think it is necessary to include migration_uuid. It is necessary to check the details of the Instance. After the state is ok, the dest_host field can be obtained naturally. However, if you need to obtain the migration_uuid, you need to query the migration record of the Instance and obtain the latest migration_uuid. This increases the query steps and affects the efficiency of the operation.","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"8ab7b4a8a13b5f48064df4ea15971d8420fba470","unresolved":true,"context_lines":[{"line_number":89,"context_line":"* dest_host: String. The destination compute node after the virtual"},{"line_number":90,"context_line":"  machine is evacuated."},{"line_number":91,"context_line":"* status: String. Represents possible statuses for notifications,such as"},{"line_number":92,"context_line":"  evacuate_pending, evacuate_ongoing, evacuate_ignored and so on."},{"line_number":93,"context_line":"* priority: Integer. Set the evacuation priority and support the"},{"line_number":94,"context_line":"  evacuation of instances in order. The default value is 1."},{"line_number":95,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"359a85fc_d632460a","line":92,"range":{"start_line":92,"start_character":55,"end_line":92,"end_character":64},"updated":"2021-07-23 17:06:42.000000000","message":"Let\u0027s list all the possibilities. What are they? E.g. also \u0027failed\u0027. Also, let\u0027s go with short names, we don\u0027t need the \u0027evacuate_\u0027 prefix all over the place.\n\nWe should also include a field like ``status_details`` (the name is just a suggestion, perhaps you can give a better one) where we would store the details about the status (e.g. we could store a reason of ignore/failure).","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":31825,"name":"Xinxin Shen","email":"shenxinxin@inspur.com","username":"XinxinShen"},"change_message_id":"da473557d7c4ec9e1ff5a63b133f4d06173462cb","unresolved":true,"context_lines":[{"line_number":89,"context_line":"* dest_host: String. The destination compute node after the virtual"},{"line_number":90,"context_line":"  machine is evacuated."},{"line_number":91,"context_line":"* status: String. Represents possible statuses for notifications,such as"},{"line_number":92,"context_line":"  evacuate_pending, evacuate_ongoing, evacuate_ignored and so on."},{"line_number":93,"context_line":"* priority: Integer. Set the evacuation priority and support the"},{"line_number":94,"context_line":"  evacuation of instances in order. The default value is 1."},{"line_number":95,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"c0f5f3c3_a41424d4","line":92,"range":{"start_line":92,"start_character":55,"end_line":92,"end_character":64},"in_reply_to":"359a85fc_d632460a","updated":"2021-07-29 01:51:02.000000000","message":"The evacuation status includes evacuate_pending, evacuate_ongoing, evacuate_ignored, evacuate_failed and evacuated_succeeded. Here, the\u0027evacuate_\u0027 prefix all over the place is added, so that other states (such as \u0027revert_\u0027 prefix) can be used for migrate back, which is more intuitive and not easy to be confused.\n\nThanks for your suggestion, and I will add a field \"status_details\" to store the details about the status.","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"fe4387a7294d55f4a0138176ce0f42dbdb98efa3","unresolved":true,"context_lines":[{"line_number":89,"context_line":"* dest_host: String. The destination compute node after the virtual"},{"line_number":90,"context_line":"  machine is evacuated."},{"line_number":91,"context_line":"* status: String. Represents possible statuses for notifications,such as"},{"line_number":92,"context_line":"  evacuate_pending, evacuate_ongoing, evacuate_ignored and so on."},{"line_number":93,"context_line":"* priority: Integer. Set the evacuation priority and support the"},{"line_number":94,"context_line":"  evacuation of instances in order. The default value is 1."},{"line_number":95,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"dc1e1445_7654726b","line":92,"range":{"start_line":92,"start_character":55,"end_line":92,"end_character":64},"in_reply_to":"c0f5f3c3_a41424d4","updated":"2021-07-29 09:34:57.000000000","message":"Hmm, but this table is for evacuations. Do you want to track reverts in the very same table? I would assume we would track reverts in a separate table (they are a different beastie and will likely use live migration or at least regular migration, not evacuation). In this table we would add a reference to the created revert. I still think we shouldn\u0027t have this prefix. We are tracking the status of the evacuation. Other statuses should have their own fields. If you think we should track revert here directly, then why not have revert_status? Clobbering previous final status makes it uglier to handle scenarios like \"show how complete evacuations for this notification are\".","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":31825,"name":"Xinxin Shen","email":"shenxinxin@inspur.com","username":"XinxinShen"},"change_message_id":"f2f73e58993c13dd3dc3b7f2066311e0b41dce2c","unresolved":true,"context_lines":[{"line_number":89,"context_line":"* dest_host: String. The destination compute node after the virtual"},{"line_number":90,"context_line":"  machine is evacuated."},{"line_number":91,"context_line":"* status: String. Represents possible statuses for notifications,such as"},{"line_number":92,"context_line":"  evacuate_pending, evacuate_ongoing, evacuate_ignored and so on."},{"line_number":93,"context_line":"* priority: Integer. Set the evacuation priority and support the"},{"line_number":94,"context_line":"  evacuation of instances in order. The default value is 1."},{"line_number":95,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5af27acc_fc731239","line":92,"range":{"start_line":92,"start_character":55,"end_line":92,"end_character":64},"in_reply_to":"dc1e1445_7654726b","updated":"2021-07-30 09:52:48.000000000","message":"Okay, thanks a lot, I will change this.","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"8ab7b4a8a13b5f48064df4ea15971d8420fba470","unresolved":true,"context_lines":[{"line_number":90,"context_line":"  machine is evacuated."},{"line_number":91,"context_line":"* status: String. Represents possible statuses for notifications,such as"},{"line_number":92,"context_line":"  evacuate_pending, evacuate_ongoing, evacuate_ignored and so on."},{"line_number":93,"context_line":"* priority: Integer. Set the evacuation priority and support the"},{"line_number":94,"context_line":"  evacuation of instances in order. The default value is 1."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"REST API impact"}],"source_content_type":"text/x-rst","patch_set":2,"id":"d0363dac_3a9e3253","line":93,"updated":"2021-07-23 17:06:42.000000000","message":"Mayhaps it would be better to have a floating point value for priority? I am imagining an arbitrary metric here. On the other hand, we could probably enforce integer metrics without losing the flexibility. I would say let\u0027s drop this field for now and add it in the prioritisation spec instead so that here we focus on the existing functionalites but with the proper tracking of evacuations.","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":31825,"name":"Xinxin Shen","email":"shenxinxin@inspur.com","username":"XinxinShen"},"change_message_id":"da473557d7c4ec9e1ff5a63b133f4d06173462cb","unresolved":false,"context_lines":[{"line_number":90,"context_line":"  machine is evacuated."},{"line_number":91,"context_line":"* status: String. Represents possible statuses for notifications,such as"},{"line_number":92,"context_line":"  evacuate_pending, evacuate_ongoing, evacuate_ignored and so on."},{"line_number":93,"context_line":"* priority: Integer. Set the evacuation priority and support the"},{"line_number":94,"context_line":"  evacuation of instances in order. The default value is 1."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"REST API impact"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3e81e7a8_203c6bca","line":93,"in_reply_to":"d0363dac_3a9e3253","updated":"2021-07-29 01:51:02.000000000","message":"Done","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"8ab7b4a8a13b5f48064df4ea15971d8420fba470","unresolved":true,"context_lines":[{"line_number":93,"context_line":"* priority: Integer. Set the evacuation priority and support the"},{"line_number":94,"context_line":"  evacuation of instances in order. The default value is 1."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"REST API impact"},{"line_number":97,"context_line":"---------------"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"Following changes will be introduced in a new API micro-version."}],"source_content_type":"text/x-rst","patch_set":2,"id":"a60310e5_be891f98","line":96,"updated":"2021-07-23 17:06:42.000000000","message":"Obviously need to adapt examples to changes above.","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":31825,"name":"Xinxin Shen","email":"shenxinxin@inspur.com","username":"XinxinShen"},"change_message_id":"da473557d7c4ec9e1ff5a63b133f4d06173462cb","unresolved":false,"context_lines":[{"line_number":93,"context_line":"* priority: Integer. Set the evacuation priority and support the"},{"line_number":94,"context_line":"  evacuation of instances in order. The default value is 1."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"REST API impact"},{"line_number":97,"context_line":"---------------"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"Following changes will be introduced in a new API micro-version."}],"source_content_type":"text/x-rst","patch_set":2,"id":"07d63b26_bffb4b6b","line":96,"in_reply_to":"a60310e5_be891f98","updated":"2021-07-29 01:51:02.000000000","message":"Done","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"8ab7b4a8a13b5f48064df4ea15971d8420fba470","unresolved":true,"context_lines":[{"line_number":135,"context_line":"            }"},{"line_number":136,"context_line":"    }"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"* PUT /notifications/\u003cnotification_id\u003e/evacuations/\u003cevacuation_id\u003e"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"  request example::"},{"line_number":141,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"c4580d8b_f5ca03d2","line":138,"updated":"2021-07-23 17:06:42.000000000","message":"I don\u0027t see a use for allowing to PUT on evacuations. Could you elaborate? I would assume Masakari Engine would handle this internally only and API would only allow querying (GET list/details).","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":31825,"name":"Xinxin Shen","email":"shenxinxin@inspur.com","username":"XinxinShen"},"change_message_id":"da473557d7c4ec9e1ff5a63b133f4d06173462cb","unresolved":false,"context_lines":[{"line_number":135,"context_line":"            }"},{"line_number":136,"context_line":"    }"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"* PUT /notifications/\u003cnotification_id\u003e/evacuations/\u003cevacuation_id\u003e"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"  request example::"},{"line_number":141,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"38c613cc_42f754c0","line":138,"in_reply_to":"c4580d8b_f5ca03d2","updated":"2021-07-29 01:51:02.000000000","message":"Done","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"8ab7b4a8a13b5f48064df4ea15971d8420fba470","unresolved":true,"context_lines":[{"line_number":194,"context_line":"----------------"},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"None"},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"Implementation"},{"line_number":199,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":200,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"8b6b995b_94d03d61","line":197,"updated":"2021-07-23 17:06:42.000000000","message":"I don\u0027t know which section would be best but I guess we need an \"Engine impact\" to describe that the engine would now handle updating this data. And also how that would work. For example, is the engine going to seed the table? (I think so) And then is another periodic task in engine going to handle the evacuations? (I hope so) And finally we should think about the multi-engine scenario which is currently flaky. This implementation could also easily improve it (or at least allow for easier improvement).","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"8ab7b4a8a13b5f48064df4ea15971d8420fba470","unresolved":true,"context_lines":[{"line_number":208,"context_line":""},{"line_number":209,"context_line":"Work Items"},{"line_number":210,"context_line":"----------"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"* Create a new API microversion to get information for all evacuations"},{"line_number":213,"context_line":"  and get detailed information about a particular evacuation."},{"line_number":214,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"4debe30e_f7c0a7a8","line":211,"updated":"2021-07-23 17:06:42.000000000","message":"Also: creating the object definition, database schema, migration, updating engine to handle this.","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":31825,"name":"Xinxin Shen","email":"shenxinxin@inspur.com","username":"XinxinShen"},"change_message_id":"da473557d7c4ec9e1ff5a63b133f4d06173462cb","unresolved":true,"context_lines":[{"line_number":208,"context_line":""},{"line_number":209,"context_line":"Work Items"},{"line_number":210,"context_line":"----------"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"* Create a new API microversion to get information for all evacuations"},{"line_number":213,"context_line":"  and get detailed information about a particular evacuation."},{"line_number":214,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"73adf04e_c070f978","line":211,"in_reply_to":"4debe30e_f7c0a7a8","updated":"2021-07-29 01:51:02.000000000","message":"Thanks, but we don\u0027t include migration.","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"beed43f0f66b72075435fde32b78af5426e0f726","unresolved":true,"context_lines":[{"line_number":208,"context_line":""},{"line_number":209,"context_line":"Work Items"},{"line_number":210,"context_line":"----------"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"* Create a new API microversion to get information for all evacuations"},{"line_number":213,"context_line":"  and get detailed information about a particular evacuation."},{"line_number":214,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"c7f64bbd_bda595a7","line":211,"in_reply_to":"73adf04e_c070f978","updated":"2021-07-29 09:22:17.000000000","message":"Here I meant an SQLAlchemy migration, Alembic stuff. ;-)","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":31825,"name":"Xinxin Shen","email":"shenxinxin@inspur.com","username":"XinxinShen"},"change_message_id":"f2f73e58993c13dd3dc3b7f2066311e0b41dce2c","unresolved":true,"context_lines":[{"line_number":208,"context_line":""},{"line_number":209,"context_line":"Work Items"},{"line_number":210,"context_line":"----------"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"* Create a new API microversion to get information for all evacuations"},{"line_number":213,"context_line":"  and get detailed information about a particular evacuation."},{"line_number":214,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"cbd08262_1ba3ebc8","line":211,"in_reply_to":"c7f64bbd_bda595a7","updated":"2021-07-30 09:52:48.000000000","message":"Oh,thanks.","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"8ab7b4a8a13b5f48064df4ea15971d8420fba470","unresolved":true,"context_lines":[{"line_number":215,"context_line":"* Update docs for instance evacuations for host recovery"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"* Update python-masakariclient, masakari-dashboard and openstacksdk to"},{"line_number":218,"context_line":"  manage instance evacuations for host recovery.."},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"* Add functional tests"},{"line_number":221,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"78e3a21d_418f06e9","line":218,"range":{"start_line":218,"start_character":48,"end_line":218,"end_character":49},"updated":"2021-07-23 17:06:42.000000000","message":"drop","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":31825,"name":"Xinxin Shen","email":"shenxinxin@inspur.com","username":"XinxinShen"},"change_message_id":"da473557d7c4ec9e1ff5a63b133f4d06173462cb","unresolved":false,"context_lines":[{"line_number":215,"context_line":"* Update docs for instance evacuations for host recovery"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"* Update python-masakariclient, masakari-dashboard and openstacksdk to"},{"line_number":218,"context_line":"  manage instance evacuations for host recovery.."},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"* Add functional tests"},{"line_number":221,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1d9d702e_0be1adba","line":218,"range":{"start_line":218,"start_character":48,"end_line":218,"end_character":49},"in_reply_to":"78e3a21d_418f06e9","updated":"2021-07-29 01:51:02.000000000","message":"Done","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"8ab7b4a8a13b5f48064df4ea15971d8420fba470","unresolved":true,"context_lines":[{"line_number":217,"context_line":"* Update python-masakariclient, masakari-dashboard and openstacksdk to"},{"line_number":218,"context_line":"  manage instance evacuations for host recovery.."},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"* Add functional tests"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"Dependencies"},{"line_number":223,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"52c13f6e_b1ac6c76","line":220,"updated":"2021-07-23 17:06:42.000000000","message":"missing . at the end.","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"8ab7b4a8a13b5f48064df4ea15971d8420fba470","unresolved":true,"context_lines":[{"line_number":217,"context_line":"* Update python-masakariclient, masakari-dashboard and openstacksdk to"},{"line_number":218,"context_line":"  manage instance evacuations for host recovery.."},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"* Add functional tests"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"Dependencies"},{"line_number":223,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9f87a8f5_e8eb53f3","line":220,"range":{"start_line":220,"start_character":5,"end_line":220,"end_character":6},"updated":"2021-07-23 17:06:42.000000000","message":"unit and","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":31825,"name":"Xinxin Shen","email":"shenxinxin@inspur.com","username":"XinxinShen"},"change_message_id":"da473557d7c4ec9e1ff5a63b133f4d06173462cb","unresolved":false,"context_lines":[{"line_number":217,"context_line":"* Update python-masakariclient, masakari-dashboard and openstacksdk to"},{"line_number":218,"context_line":"  manage instance evacuations for host recovery.."},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"* Add functional tests"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"Dependencies"},{"line_number":223,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"85a4490f_918e15b1","line":220,"in_reply_to":"52c13f6e_b1ac6c76","updated":"2021-07-29 01:51:02.000000000","message":"Done","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":31825,"name":"Xinxin Shen","email":"shenxinxin@inspur.com","username":"XinxinShen"},"change_message_id":"da473557d7c4ec9e1ff5a63b133f4d06173462cb","unresolved":false,"context_lines":[{"line_number":217,"context_line":"* Update python-masakariclient, masakari-dashboard and openstacksdk to"},{"line_number":218,"context_line":"  manage instance evacuations for host recovery.."},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"* Add functional tests"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"Dependencies"},{"line_number":223,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"c0edd3f6_054875c7","line":220,"range":{"start_line":220,"start_character":5,"end_line":220,"end_character":6},"in_reply_to":"9f87a8f5_e8eb53f3","updated":"2021-07-29 01:51:02.000000000","message":"Done","commit_id":"7799bda702d83f28406249e2c8babc3f4cae0bfe"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"fe4387a7294d55f4a0138176ce0f42dbdb98efa3","unresolved":true,"context_lines":[{"line_number":66,"context_line":"* uuid: UUID. uuid of evacuation record."},{"line_number":67,"context_line":"* notification_uuid: UUID. uuid of notification."},{"line_number":68,"context_line":"* instance_uuid: UUID. uuid of instance."},{"line_number":69,"context_line":"* source_host: String. The original compute node before the virtual"},{"line_number":70,"context_line":"  machine evacuated."},{"line_number":71,"context_line":"* dest_host: String. The destination compute node after the virtual"},{"line_number":72,"context_line":"  machine is evacuated."},{"line_number":73,"context_line":"* status: String. Represents possible statuses for notifications,such as"}],"source_content_type":"text/x-rst","patch_set":3,"id":"a83d448e_a03a3481","line":70,"range":{"start_line":69,"start_character":0,"end_line":70,"end_character":20},"updated":"2021-07-29 09:34:57.000000000","message":"I don\u0027t see how it\u0027s helpful to have this data duplicated in this table - it\u0027s the same for all evacuations from a single notification. The notification has the host.","commit_id":"56bc6c139d786f9b2eb7ba50eee6a2525d343cfe"},{"author":{"_account_id":31825,"name":"Xinxin Shen","email":"shenxinxin@inspur.com","username":"XinxinShen"},"change_message_id":"f2f73e58993c13dd3dc3b7f2066311e0b41dce2c","unresolved":true,"context_lines":[{"line_number":66,"context_line":"* uuid: UUID. uuid of evacuation record."},{"line_number":67,"context_line":"* notification_uuid: UUID. uuid of notification."},{"line_number":68,"context_line":"* instance_uuid: UUID. uuid of instance."},{"line_number":69,"context_line":"* source_host: String. The original compute node before the virtual"},{"line_number":70,"context_line":"  machine evacuated."},{"line_number":71,"context_line":"* dest_host: String. The destination compute node after the virtual"},{"line_number":72,"context_line":"  machine is evacuated."},{"line_number":73,"context_line":"* status: String. Represents possible statuses for notifications,such as"}],"source_content_type":"text/x-rst","patch_set":3,"id":"16881cd1_713c4a2c","line":70,"range":{"start_line":69,"start_character":0,"end_line":70,"end_character":20},"in_reply_to":"a83d448e_a03a3481","updated":"2021-07-30 09:52:48.000000000","message":"I still think source_host is necessary to see the source node and destination node of the Instance more intuitively. Let\u0027s discuss it next week.","commit_id":"56bc6c139d786f9b2eb7ba50eee6a2525d343cfe"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"fe4387a7294d55f4a0138176ce0f42dbdb98efa3","unresolved":true,"context_lines":[{"line_number":71,"context_line":"* dest_host: String. The destination compute node after the virtual"},{"line_number":72,"context_line":"  machine is evacuated."},{"line_number":73,"context_line":"* status: String. Represents possible statuses for notifications,such as"},{"line_number":74,"context_line":"  evacuate_pending, evacuate_ongoing, evacuate_ignored, evacuate_failed and evacuated_succeeded."},{"line_number":75,"context_line":"* status_details: String. Store the details reason of evacuate failed/igrnored."},{"line_number":76,"context_line":"* priority: Numeric. Set the evacuation priority and support the"},{"line_number":77,"context_line":"  evacuation of instances in order. The default value is 1."}],"source_content_type":"text/x-rst","patch_set":3,"id":"810c725c_51d05f16","line":74,"range":{"start_line":74,"start_character":84,"end_line":74,"end_character":85},"updated":"2021-07-29 09:34:57.000000000","message":"drop the \u0027d\u0027","commit_id":"56bc6c139d786f9b2eb7ba50eee6a2525d343cfe"},{"author":{"_account_id":31825,"name":"Xinxin Shen","email":"shenxinxin@inspur.com","username":"XinxinShen"},"change_message_id":"f2f73e58993c13dd3dc3b7f2066311e0b41dce2c","unresolved":true,"context_lines":[{"line_number":71,"context_line":"* dest_host: String. The destination compute node after the virtual"},{"line_number":72,"context_line":"  machine is evacuated."},{"line_number":73,"context_line":"* status: String. Represents possible statuses for notifications,such as"},{"line_number":74,"context_line":"  evacuate_pending, evacuate_ongoing, evacuate_ignored, evacuate_failed and evacuated_succeeded."},{"line_number":75,"context_line":"* status_details: String. Store the details reason of evacuate failed/igrnored."},{"line_number":76,"context_line":"* priority: Numeric. Set the evacuation priority and support the"},{"line_number":77,"context_line":"  evacuation of instances in order. The default value is 1."}],"source_content_type":"text/x-rst","patch_set":3,"id":"95388af3_e57520ee","line":74,"range":{"start_line":74,"start_character":84,"end_line":74,"end_character":85},"in_reply_to":"810c725c_51d05f16","updated":"2021-07-30 09:52:48.000000000","message":"As mentioned before, I will remove the ‘evacuate_’ prefix.","commit_id":"56bc6c139d786f9b2eb7ba50eee6a2525d343cfe"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"fe4387a7294d55f4a0138176ce0f42dbdb98efa3","unresolved":true,"context_lines":[{"line_number":72,"context_line":"  machine is evacuated."},{"line_number":73,"context_line":"* status: String. Represents possible statuses for notifications,such as"},{"line_number":74,"context_line":"  evacuate_pending, evacuate_ongoing, evacuate_ignored, evacuate_failed and evacuated_succeeded."},{"line_number":75,"context_line":"* status_details: String. Store the details reason of evacuate failed/igrnored."},{"line_number":76,"context_line":"* priority: Numeric. Set the evacuation priority and support the"},{"line_number":77,"context_line":"  evacuation of instances in order. The default value is 1."},{"line_number":78,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"42e24506_f588f42d","line":75,"range":{"start_line":75,"start_character":70,"end_line":75,"end_character":78},"updated":"2021-07-29 09:34:57.000000000","message":"ignored","commit_id":"56bc6c139d786f9b2eb7ba50eee6a2525d343cfe"},{"author":{"_account_id":31825,"name":"Xinxin Shen","email":"shenxinxin@inspur.com","username":"XinxinShen"},"change_message_id":"f2f73e58993c13dd3dc3b7f2066311e0b41dce2c","unresolved":false,"context_lines":[{"line_number":72,"context_line":"  machine is evacuated."},{"line_number":73,"context_line":"* status: String. Represents possible statuses for notifications,such as"},{"line_number":74,"context_line":"  evacuate_pending, evacuate_ongoing, evacuate_ignored, evacuate_failed and evacuated_succeeded."},{"line_number":75,"context_line":"* status_details: String. Store the details reason of evacuate failed/igrnored."},{"line_number":76,"context_line":"* priority: Numeric. Set the evacuation priority and support the"},{"line_number":77,"context_line":"  evacuation of instances in order. The default value is 1."},{"line_number":78,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"74797336_e938a0c0","line":75,"range":{"start_line":75,"start_character":70,"end_line":75,"end_character":78},"in_reply_to":"42e24506_f588f42d","updated":"2021-07-30 09:52:48.000000000","message":"Done","commit_id":"56bc6c139d786f9b2eb7ba50eee6a2525d343cfe"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"e7360447a60eb7fab072425df8f685bb67295da4","unresolved":true,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"* Record instance evacuation information in the database, mainly"},{"line_number":41,"context_line":"  including instance_id, notification_id, source_host, dest_host,"},{"line_number":42,"context_line":"  status. The status is PENDING."},{"line_number":43,"context_line":"* User can get evacuation information about a specific masakari "},{"line_number":44,"context_line":"  notification by ``GET /notifications/\u003cnotification_id\u003e/evacuations``"},{"line_number":45,"context_line":"  API."}],"source_content_type":"text/x-rst","patch_set":4,"id":"98d04c11_35fb01df","line":42,"range":{"start_line":42,"start_character":24,"end_line":42,"end_character":31},"updated":"2021-08-03 06:46:29.000000000","message":"pending","commit_id":"0951ef48327906fb78530d3eb1ba677b7d21260e"},{"author":{"_account_id":31825,"name":"Xinxin Shen","email":"shenxinxin@inspur.com","username":"XinxinShen"},"change_message_id":"bf431792b504716f7038256182ac577b7c54eea4","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"* Record instance evacuation information in the database, mainly"},{"line_number":41,"context_line":"  including instance_id, notification_id, source_host, dest_host,"},{"line_number":42,"context_line":"  status. The status is PENDING."},{"line_number":43,"context_line":"* User can get evacuation information about a specific masakari "},{"line_number":44,"context_line":"  notification by ``GET /notifications/\u003cnotification_id\u003e/evacuations``"},{"line_number":45,"context_line":"  API."}],"source_content_type":"text/x-rst","patch_set":4,"id":"13bb31d2_408817db","line":42,"range":{"start_line":42,"start_character":24,"end_line":42,"end_character":31},"in_reply_to":"98d04c11_35fb01df","updated":"2021-08-03 07:08:14.000000000","message":"Done","commit_id":"0951ef48327906fb78530d3eb1ba677b7d21260e"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"e7360447a60eb7fab072425df8f685bb67295da4","unresolved":true,"context_lines":[{"line_number":68,"context_line":"* instance_uuid: UUID. uuid of instance."},{"line_number":69,"context_line":"* source_host: String. The original compute node before the instance evacuated."},{"line_number":70,"context_line":"* dest_host: String. The destination compute node after the instance is evacuated."},{"line_number":71,"context_line":"* status: String. Represents possible statuses for notifications,such as"},{"line_number":72,"context_line":"  pending, ongoing, ignored, failed and succeeded."},{"line_number":73,"context_line":"* status_details: String. Store the details reason of evacuate failed/ignored."},{"line_number":74,"context_line":"* priority: Numeric. Set the evacuation priority and support the"}],"source_content_type":"text/x-rst","patch_set":4,"id":"f5e39a1b_618a6ab9","line":71,"range":{"start_line":71,"start_character":64,"end_line":71,"end_character":65},"updated":"2021-08-03 06:46:29.000000000","message":"space after comma","commit_id":"0951ef48327906fb78530d3eb1ba677b7d21260e"},{"author":{"_account_id":31825,"name":"Xinxin Shen","email":"shenxinxin@inspur.com","username":"XinxinShen"},"change_message_id":"bf431792b504716f7038256182ac577b7c54eea4","unresolved":false,"context_lines":[{"line_number":68,"context_line":"* instance_uuid: UUID. uuid of instance."},{"line_number":69,"context_line":"* source_host: String. The original compute node before the instance evacuated."},{"line_number":70,"context_line":"* dest_host: String. The destination compute node after the instance is evacuated."},{"line_number":71,"context_line":"* status: String. Represents possible statuses for notifications,such as"},{"line_number":72,"context_line":"  pending, ongoing, ignored, failed and succeeded."},{"line_number":73,"context_line":"* status_details: String. Store the details reason of evacuate failed/ignored."},{"line_number":74,"context_line":"* priority: Numeric. Set the evacuation priority and support the"}],"source_content_type":"text/x-rst","patch_set":4,"id":"24da124d_5f14ce1b","line":71,"range":{"start_line":71,"start_character":64,"end_line":71,"end_character":65},"in_reply_to":"f5e39a1b_618a6ab9","updated":"2021-08-03 07:08:14.000000000","message":"Done","commit_id":"0951ef48327906fb78530d3eb1ba677b7d21260e"}]}
