)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"e923c8fafbfb296703778e2a49e23ab1d3d60b9d","unresolved":false,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2017-03-06 04:58:37 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"List/show all server migration types"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: I4068e011a95ebfe16799a783c7e83a324704be59"},{"line_number":10,"context_line":"blueprint list-show-all-server-migration-types"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"9a30ddce_7a06b821","line":8,"updated":"2017-03-07 06:35:07.000000000","message":"We need APIImpact flag","commit_id":"dd58376159a9a081d9be5729d8a0e2daf882d6d1"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"fb459211ee6dd8e09786a4b25bd083f01fa098df","unresolved":false,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2017-03-06 04:58:37 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"List/show all server migration types"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: I4068e011a95ebfe16799a783c7e83a324704be59"},{"line_number":10,"context_line":"blueprint list-show-all-server-migration-types"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"9a30ddce_b6903f97","line":8,"in_reply_to":"9a30ddce_7a06b821","updated":"2017-03-07 12:24:55.000000000","message":"Done","commit_id":"dd58376159a9a081d9be5729d8a0e2daf882d6d1"}],"specs/pike/approved/list-show-all-server-migration-types.rst":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b3ca58ddb1fe48c24081e2f2b00a919e16976706","unresolved":false,"context_lines":[{"line_number":125,"context_line":"Security impact"},{"line_number":126,"context_line":"---------------"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"Only Administrator can operate suggested functions."},{"line_number":129,"context_line":"So there is no security impact."},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"Notifications impact"}],"source_content_type":"text/x-rst","patch_set":9,"id":"da36d5c6_6d49e8b6","line":128,"updated":"2017-02-24 14:14:21.000000000","message":"To be clear, by default the policy only allows the administrator but that can be adjusted so non-admins can list and show migrations.","commit_id":"72d9be6b190a7f4401aed8a026a80500b498530a"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"27c4e0fc7a43058c57af2900b725f31dbf7c7b89","unresolved":false,"context_lines":[{"line_number":125,"context_line":"Security impact"},{"line_number":126,"context_line":"---------------"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"Only Administrator can operate suggested functions."},{"line_number":129,"context_line":"So there is no security impact."},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"Notifications impact"}],"source_content_type":"text/x-rst","patch_set":9,"id":"da36d5c6_c0561b05","line":128,"in_reply_to":"da36d5c6_6d49e8b6","updated":"2017-02-24 14:25:46.000000000","message":"Maybe just a note saying that even if the cold-migrate action can be end-user, we don\u0027t plan to default that list API to admin_or_user.","commit_id":"72d9be6b190a7f4401aed8a026a80500b498530a"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"e923c8fafbfb296703778e2a49e23ab1d3d60b9d","unresolved":false,"context_lines":[{"line_number":34,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Modify the following existing 2 APIs to list and show other migration types"},{"line_number":37,"context_line":"(\u0027evacuation\u0027, \u0027resize\u0027, \u0027migration\u0027)."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"* GET /servers/{server_id}/migrations"},{"line_number":40,"context_line":"* GET /servers/{server_id}/migrations/{migration_id}"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a30ddce_35e7f313","line":37,"range":{"start_line":37,"start_character":16,"end_line":37,"end_character":22},"updated":"2017-03-07 06:35:07.000000000","message":"So the currently \"/servers/{server_id}/migrations\" only return \"in-progress\" migration.\n\nI think we should clear about which status of migration consider as \"in-progress\" for evacuate, resize and migration.\n\nAnd for resize, we have confirm_resize and revert_resize, whether those consider as \"in-progress\"?","commit_id":"dd58376159a9a081d9be5729d8a0e2daf882d6d1"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"fb459211ee6dd8e09786a4b25bd083f01fa098df","unresolved":false,"context_lines":[{"line_number":34,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Modify the following existing 2 APIs to list and show other migration types"},{"line_number":37,"context_line":"(\u0027evacuation\u0027, \u0027resize\u0027, \u0027migration\u0027)."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"* GET /servers/{server_id}/migrations"},{"line_number":40,"context_line":"* GET /servers/{server_id}/migrations/{migration_id}"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a30ddce_56f8e3e5","line":37,"range":{"start_line":37,"start_character":16,"end_line":37,"end_character":22},"in_reply_to":"9a30ddce_35e7f313","updated":"2017-03-07 12:24:55.000000000","message":"Done","commit_id":"dd58376159a9a081d9be5729d8a0e2daf882d6d1"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"e923c8fafbfb296703778e2a49e23ab1d3d60b9d","unresolved":false,"context_lines":[{"line_number":53,"context_line":"---------------"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"The following existing 2 APIs are modified."},{"line_number":56,"context_line":"Microversion is bumped."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"* GET /servers/{server_id}/migrations"},{"line_number":59,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a30ddce_fa43886a","line":56,"updated":"2017-03-07 06:35:07.000000000","message":"For \"DELETE /servers/{server_id}/migrations/{id}\" and the force_compelte action, if they migration isn\u0027t the live-migration, it should return 400 instead of 404.","commit_id":"dd58376159a9a081d9be5729d8a0e2daf882d6d1"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"ace707b1be54c22d319ddd953675afde3aacc0a9","unresolved":false,"context_lines":[{"line_number":53,"context_line":"---------------"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"The following existing 2 APIs are modified."},{"line_number":56,"context_line":"Microversion is bumped."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"* GET /servers/{server_id}/migrations"},{"line_number":59,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a30ddce_16090b96","line":56,"in_reply_to":"9a30ddce_36ca8fa2","updated":"2017-03-07 12:32:59.000000000","message":"It is the range of this spec. We change the return code from 404 to 400 means that the \"evacuate\", \"resize\" and \"migration\" can be query by the API now, but didn\u0027t support those action.","commit_id":"dd58376159a9a081d9be5729d8a0e2daf882d6d1"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"fb459211ee6dd8e09786a4b25bd083f01fa098df","unresolved":false,"context_lines":[{"line_number":53,"context_line":"---------------"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"The following existing 2 APIs are modified."},{"line_number":56,"context_line":"Microversion is bumped."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"* GET /servers/{server_id}/migrations"},{"line_number":59,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a30ddce_36ca8fa2","line":56,"in_reply_to":"9a30ddce_fa43886a","updated":"2017-03-07 12:24:55.000000000","message":"Sorry. It is not in the range of this spec.","commit_id":"dd58376159a9a081d9be5729d8a0e2daf882d6d1"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"90a91e0d9c79d34841413d7188ca42b1df74990e","unresolved":false,"context_lines":[{"line_number":39,"context_line":"* GET /servers/{server_id}/migrations"},{"line_number":40,"context_line":"* GET /servers/{server_id}/migrations/{migration_id}"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"The former API returns in-progress migrations."},{"line_number":43,"context_line":"The latter API returns 404 error if the specified migration is not in progress."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"In progress migration states are defined as follows:"},{"line_number":46,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a30ddce_272a2d7f","line":43,"range":{"start_line":42,"start_character":0,"end_line":43,"end_character":79},"updated":"2017-03-08 08:25:08.000000000","message":"can you mention this behavior will be retained as it is.","commit_id":"a957512d32e35e6f9cb5c39fb033cde807d64d19"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"73dcaa9c6f41b9f85844fff5dc5c6ed0603ebfdb","unresolved":false,"context_lines":[{"line_number":39,"context_line":"* GET /servers/{server_id}/migrations"},{"line_number":40,"context_line":"* GET /servers/{server_id}/migrations/{migration_id}"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"The former API returns in-progress migrations."},{"line_number":43,"context_line":"The latter API returns 404 error if the specified migration is not in progress."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"In progress migration states are defined as follows:"},{"line_number":46,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a30ddce_f6b7a937","line":43,"range":{"start_line":42,"start_character":0,"end_line":43,"end_character":79},"in_reply_to":"9a30ddce_272a2d7f","updated":"2017-03-09 15:42:53.000000000","message":"Yeah, it\u0027s confusing, do you plan to change that ?","commit_id":"a957512d32e35e6f9cb5c39fb033cde807d64d19"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"f22e4f47b842ae5aef73b50a3cbfcc59e2de2d35","unresolved":false,"context_lines":[{"line_number":39,"context_line":"* GET /servers/{server_id}/migrations"},{"line_number":40,"context_line":"* GET /servers/{server_id}/migrations/{migration_id}"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"The former API returns in-progress migrations."},{"line_number":43,"context_line":"The latter API returns 404 error if the specified migration is not in progress."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"In progress migration states are defined as follows:"},{"line_number":46,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a30ddce_1cfa8075","line":43,"range":{"start_line":42,"start_character":0,"end_line":43,"end_character":79},"in_reply_to":"9a30ddce_f6b7a937","updated":"2017-03-10 05:41:12.000000000","message":"No. I will not change it.","commit_id":"a957512d32e35e6f9cb5c39fb033cde807d64d19"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"90a91e0d9c79d34841413d7188ca42b1df74990e","unresolved":false,"context_lines":[{"line_number":68,"context_line":"The following existing 2 APIs are modified."},{"line_number":69,"context_line":"Microversion is bumped."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"* GET /servers/{server_id}/migrations"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"  The mirgation type can be specified as a \u0027type\u0027 query parameter"},{"line_number":74,"context_line":"  to filter out results."}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a30ddce_4c13c666","line":71,"range":{"start_line":71,"start_character":0,"end_line":71,"end_character":37},"updated":"2017-03-08 08:25:08.000000000","message":"and this will still show all in-progress migrations right?\ncan you mention that explicitly like L138.","commit_id":"a957512d32e35e6f9cb5c39fb033cde807d64d19"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"f22e4f47b842ae5aef73b50a3cbfcc59e2de2d35","unresolved":false,"context_lines":[{"line_number":68,"context_line":"The following existing 2 APIs are modified."},{"line_number":69,"context_line":"Microversion is bumped."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"* GET /servers/{server_id}/migrations"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"  The mirgation type can be specified as a \u0027type\u0027 query parameter"},{"line_number":74,"context_line":"  to filter out results."}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a30ddce_3cf7448c","line":71,"range":{"start_line":71,"start_character":0,"end_line":71,"end_character":37},"in_reply_to":"9a30ddce_4c13c666","updated":"2017-03-10 05:41:12.000000000","message":"Done","commit_id":"a957512d32e35e6f9cb5c39fb033cde807d64d19"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"73dcaa9c6f41b9f85844fff5dc5c6ed0603ebfdb","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":"* GET /servers/{server_id}/migrations"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"  The mirgation type can be specified as a \u0027type\u0027 query parameter"},{"line_number":74,"context_line":"  to filter out results."},{"line_number":75,"context_line":"  The \u0027type\u0027 query parameter is optional."},{"line_number":76,"context_line":"  If \u0027type\u0027 parameter is not specified, all migration types are listed."}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a30ddce_b698d1c1","line":73,"range":{"start_line":73,"start_character":6,"end_line":73,"end_character":15},"updated":"2017-03-09 15:42:53.000000000","message":"migration","commit_id":"a957512d32e35e6f9cb5c39fb033cde807d64d19"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"f22e4f47b842ae5aef73b50a3cbfcc59e2de2d35","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":"* GET /servers/{server_id}/migrations"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"  The mirgation type can be specified as a \u0027type\u0027 query parameter"},{"line_number":74,"context_line":"  to filter out results."},{"line_number":75,"context_line":"  The \u0027type\u0027 query parameter is optional."},{"line_number":76,"context_line":"  If \u0027type\u0027 parameter is not specified, all migration types are listed."}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a30ddce_5cf07891","line":73,"range":{"start_line":73,"start_character":6,"end_line":73,"end_character":15},"in_reply_to":"9a30ddce_b698d1c1","updated":"2017-03-10 05:41:12.000000000","message":"Done","commit_id":"a957512d32e35e6f9cb5c39fb033cde807d64d19"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"73dcaa9c6f41b9f85844fff5dc5c6ed0603ebfdb","unresolved":false,"context_lines":[{"line_number":73,"context_line":"  The mirgation type can be specified as a \u0027type\u0027 query parameter"},{"line_number":74,"context_line":"  to filter out results."},{"line_number":75,"context_line":"  The \u0027type\u0027 query parameter is optional."},{"line_number":76,"context_line":"  If \u0027type\u0027 parameter is not specified, all migration types are listed."},{"line_number":77,"context_line":"  If \u0027type\u0027 parameter is wrong, nova-api returns 400 error."},{"line_number":78,"context_line":"  So add badRequest(400) to error response codes."},{"line_number":79,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a30ddce_169b5d73","line":76,"updated":"2017-03-09 15:42:53.000000000","message":"I would prefer to see an example of the JSON body.","commit_id":"a957512d32e35e6f9cb5c39fb033cde807d64d19"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"f22e4f47b842ae5aef73b50a3cbfcc59e2de2d35","unresolved":false,"context_lines":[{"line_number":73,"context_line":"  The mirgation type can be specified as a \u0027type\u0027 query parameter"},{"line_number":74,"context_line":"  to filter out results."},{"line_number":75,"context_line":"  The \u0027type\u0027 query parameter is optional."},{"line_number":76,"context_line":"  If \u0027type\u0027 parameter is not specified, all migration types are listed."},{"line_number":77,"context_line":"  If \u0027type\u0027 parameter is wrong, nova-api returns 400 error."},{"line_number":78,"context_line":"  So add badRequest(400) to error response codes."},{"line_number":79,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a30ddce_9c2cb003","line":76,"in_reply_to":"9a30ddce_169b5d73","updated":"2017-03-10 05:41:12.000000000","message":"\u0027type\u0027 is not a body parameter but a query parameter.","commit_id":"a957512d32e35e6f9cb5c39fb033cde807d64d19"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"dc8e746af3589e53fc7426cabb901f165dab9215","unresolved":false,"context_lines":[{"line_number":73,"context_line":"  The mirgation type can be specified as a \u0027type\u0027 query parameter"},{"line_number":74,"context_line":"  to filter out results."},{"line_number":75,"context_line":"  The \u0027type\u0027 query parameter is optional."},{"line_number":76,"context_line":"  If \u0027type\u0027 parameter is not specified, all migration types are listed."},{"line_number":77,"context_line":"  If \u0027type\u0027 parameter is wrong, nova-api returns 400 error."},{"line_number":78,"context_line":"  So add badRequest(400) to error response codes."},{"line_number":79,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a30ddce_9fd00bcb","line":76,"in_reply_to":"9a30ddce_9c2cb003","updated":"2017-03-10 16:03:36.000000000","message":"Oops my bad.","commit_id":"a957512d32e35e6f9cb5c39fb033cde807d64d19"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"73dcaa9c6f41b9f85844fff5dc5c6ed0603ebfdb","unresolved":false,"context_lines":[{"line_number":74,"context_line":"  to filter out results."},{"line_number":75,"context_line":"  The \u0027type\u0027 query parameter is optional."},{"line_number":76,"context_line":"  If \u0027type\u0027 parameter is not specified, all migration types are listed."},{"line_number":77,"context_line":"  If \u0027type\u0027 parameter is wrong, nova-api returns 400 error."},{"line_number":78,"context_line":"  So add badRequest(400) to error response codes."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"  The \u0027migration_type\u0027 parameter is added in the response."}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a30ddce_b6dff167","line":77,"range":{"start_line":77,"start_character":2,"end_line":77,"end_character":59},"updated":"2017-03-09 15:42:53.000000000","message":"how do you plan to enforce that ? Will it be something in the JSON schema or nova.compute.api that would return that ?","commit_id":"a957512d32e35e6f9cb5c39fb033cde807d64d19"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"f22e4f47b842ae5aef73b50a3cbfcc59e2de2d35","unresolved":false,"context_lines":[{"line_number":74,"context_line":"  to filter out results."},{"line_number":75,"context_line":"  The \u0027type\u0027 query parameter is optional."},{"line_number":76,"context_line":"  If \u0027type\u0027 parameter is not specified, all migration types are listed."},{"line_number":77,"context_line":"  If \u0027type\u0027 parameter is wrong, nova-api returns 400 error."},{"line_number":78,"context_line":"  So add badRequest(400) to error response codes."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"  The \u0027migration_type\u0027 parameter is added in the response."}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a30ddce_fc376c4a","line":77,"range":{"start_line":77,"start_character":2,"end_line":77,"end_character":59},"in_reply_to":"9a30ddce_b6dff167","updated":"2017-03-10 05:41:12.000000000","message":"I will add the check in nova/compute/api.py","commit_id":"a957512d32e35e6f9cb5c39fb033cde807d64d19"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"dca2a8d0048e52733cc4818c487f2d14f0b45d4d","unresolved":false,"context_lines":[{"line_number":74,"context_line":"  to filter out results."},{"line_number":75,"context_line":"  The \u0027type\u0027 query parameter is optional."},{"line_number":76,"context_line":"  If \u0027type\u0027 parameter is not specified, all migration types are listed."},{"line_number":77,"context_line":"  If \u0027type\u0027 parameter is wrong, nova-api returns 400 error."},{"line_number":78,"context_line":"  So add badRequest(400) to error response codes."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"  The \u0027migration_type\u0027 parameter is added in the response."}],"source_content_type":"text/x-rst","patch_set":12,"id":"dfeb2761_b9362ab4","line":77,"range":{"start_line":77,"start_character":2,"end_line":77,"end_character":59},"in_reply_to":"9a30ddce_fc376c4a","updated":"2017-03-31 00:18:02.000000000","message":"we do have json schema for query param also now. we can handle it on schema side though.","commit_id":"a957512d32e35e6f9cb5c39fb033cde807d64d19"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"ba3e1a243e62924640195a604d4d19ba0f2d5031","unresolved":false,"context_lines":[{"line_number":74,"context_line":"  to filter out results."},{"line_number":75,"context_line":"  The \u0027type\u0027 query parameter is optional."},{"line_number":76,"context_line":"  If \u0027type\u0027 parameter is not specified, all migration types are listed."},{"line_number":77,"context_line":"  If \u0027type\u0027 parameter is wrong, nova-api returns 400 error."},{"line_number":78,"context_line":"  So add badRequest(400) to error response codes."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"  The \u0027migration_type\u0027 parameter is added in the response."}],"source_content_type":"text/x-rst","patch_set":12,"id":"dfeb2761_b63b99e9","line":77,"range":{"start_line":77,"start_character":2,"end_line":77,"end_character":59},"in_reply_to":"dfeb2761_b9362ab4","updated":"2017-04-03 07:31:06.000000000","message":"I will add a query schema check.","commit_id":"a957512d32e35e6f9cb5c39fb033cde807d64d19"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"73dcaa9c6f41b9f85844fff5dc5c6ed0603ebfdb","unresolved":false,"context_lines":[{"line_number":101,"context_line":"                \"disk_processed_bytes\": null,"},{"line_number":102,"context_line":"                \"disk_remaining_bytes\": null,"},{"line_number":103,"context_line":"                \"source_compute\": \"devstack-master1\""},{"line_number":104,"context_line":"            }"},{"line_number":105,"context_line":"        ]"},{"line_number":106,"context_line":"    }"},{"line_number":107,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a30ddce_366061a5","line":104,"updated":"2017-03-09 15:42:53.000000000","message":"I don\u0027t see the \"migration_type\" field in the JSON response example you gave.","commit_id":"a957512d32e35e6f9cb5c39fb033cde807d64d19"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"f22e4f47b842ae5aef73b50a3cbfcc59e2de2d35","unresolved":false,"context_lines":[{"line_number":101,"context_line":"                \"disk_processed_bytes\": null,"},{"line_number":102,"context_line":"                \"disk_remaining_bytes\": null,"},{"line_number":103,"context_line":"                \"source_compute\": \"devstack-master1\""},{"line_number":104,"context_line":"            }"},{"line_number":105,"context_line":"        ]"},{"line_number":106,"context_line":"    }"},{"line_number":107,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a30ddce_5c4798bb","line":104,"in_reply_to":"9a30ddce_366061a5","updated":"2017-03-10 05:41:12.000000000","message":"It is a \u0027type\u0027.","commit_id":"a957512d32e35e6f9cb5c39fb033cde807d64d19"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"73dcaa9c6f41b9f85844fff5dc5c6ed0603ebfdb","unresolved":false,"context_lines":[{"line_number":109,"context_line":""},{"line_number":110,"context_line":"  The response codes are not modified."},{"line_number":111,"context_line":"  Show a migration which has any migration type."},{"line_number":112,"context_line":"  The \u0027type\u0027 parameter is added in the response."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"  JSON response body example::"},{"line_number":115,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a30ddce_d6f8e5c5","line":112,"range":{"start_line":112,"start_character":6,"end_line":112,"end_character":13},"updated":"2017-03-09 15:42:53.000000000","message":"\"migration_type\" or \"type\" being the key ? Please be more explicit","commit_id":"a957512d32e35e6f9cb5c39fb033cde807d64d19"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"f22e4f47b842ae5aef73b50a3cbfcc59e2de2d35","unresolved":false,"context_lines":[{"line_number":109,"context_line":""},{"line_number":110,"context_line":"  The response codes are not modified."},{"line_number":111,"context_line":"  Show a migration which has any migration type."},{"line_number":112,"context_line":"  The \u0027type\u0027 parameter is added in the response."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"  JSON response body example::"},{"line_number":115,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a30ddce_1c41a0a9","line":112,"range":{"start_line":112,"start_character":6,"end_line":112,"end_character":13},"in_reply_to":"9a30ddce_d6f8e5c5","updated":"2017-03-10 05:41:12.000000000","message":"It is a \u0027type\u0027.","commit_id":"a957512d32e35e6f9cb5c39fb033cde807d64d19"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"73dcaa9c6f41b9f85844fff5dc5c6ed0603ebfdb","unresolved":false,"context_lines":[{"line_number":132,"context_line":"            \"disk_processed_bytes\": null,"},{"line_number":133,"context_line":"            \"disk_remaining_bytes\": null,"},{"line_number":134,"context_line":"            \"source_compute\": \"devstack-master1\""},{"line_number":135,"context_line":"        }"},{"line_number":136,"context_line":"    }"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"  If a migration is not in progress state, it returns 404 error."}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a30ddce_b6229150","line":135,"updated":"2017-03-09 15:42:53.000000000","message":"Same comment as for L112","commit_id":"a957512d32e35e6f9cb5c39fb033cde807d64d19"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"37044b161a86bb2180e1220599c3196bb58b6f84","unresolved":false,"context_lines":[{"line_number":76,"context_line":"  to filter out results."},{"line_number":77,"context_line":"  The \u0027type\u0027 query parameter is optional."},{"line_number":78,"context_line":"  If \u0027type\u0027 parameter is not specified, all migration types are listed."},{"line_number":79,"context_line":"  If \u0027type\u0027 parameter is wrong, nova-api returns 400 error."},{"line_number":80,"context_line":"  So add badRequest(400) to error response codes."},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"  The \u0027type\u0027 parameter is added in the response."}],"source_content_type":"text/x-rst","patch_set":14,"id":"9a30ddce_7f66f751","line":79,"updated":"2017-03-10 16:03:29.000000000","message":"Related to PS11 comment, I think you should add the possible migrations in the JSON schema so adding a new supported migration type would need a new microversion.","commit_id":"776bd7956b1f449b3ade52b67deb1b8ce795e389"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"5aa576c4973e9c89e64e634e2924bf5bc53ef8f6","unresolved":false,"context_lines":[{"line_number":76,"context_line":"  to filter out results."},{"line_number":77,"context_line":"  The \u0027type\u0027 query parameter is optional."},{"line_number":78,"context_line":"  If \u0027type\u0027 parameter is not specified, all migration types are listed."},{"line_number":79,"context_line":"  If \u0027type\u0027 parameter is wrong, nova-api returns 400 error."},{"line_number":80,"context_line":"  So add badRequest(400) to error response codes."},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"  The \u0027type\u0027 parameter is added in the response."}],"source_content_type":"text/x-rst","patch_set":14,"id":"7a25e98e_374b772d","line":79,"in_reply_to":"9a30ddce_376c9b34","updated":"2017-03-14 00:15:53.000000000","message":"Done","commit_id":"776bd7956b1f449b3ade52b67deb1b8ce795e389"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"6481547da1deafcce1c5d9e91f88438fc3da79cb","unresolved":false,"context_lines":[{"line_number":76,"context_line":"  to filter out results."},{"line_number":77,"context_line":"  The \u0027type\u0027 query parameter is optional."},{"line_number":78,"context_line":"  If \u0027type\u0027 parameter is not specified, all migration types are listed."},{"line_number":79,"context_line":"  If \u0027type\u0027 parameter is wrong, nova-api returns 400 error."},{"line_number":80,"context_line":"  So add badRequest(400) to error response codes."},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"  The \u0027type\u0027 parameter is added in the response."}],"source_content_type":"text/x-rst","patch_set":14,"id":"9a30ddce_376c9b34","line":79,"in_reply_to":"9a30ddce_7f66f751","updated":"2017-03-10 21:30:33.000000000","message":"Yeah, +1. That would be useful when writing api doc also.","commit_id":"776bd7956b1f449b3ade52b67deb1b8ce795e389"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"d9fa89d0c89699418451f1e0b5d4aa7274959deb","unresolved":false,"context_lines":[{"line_number":43,"context_line":"The latter API returns 404 error if the specified migration is not in progress."},{"line_number":44,"context_line":"The behavior is retained as it is."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"In progress migration states are defined as follows:"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"* migration/resize"},{"line_number":49,"context_line":""}],"source_content_type":"text/x-rst","patch_set":16,"id":"3a1ff146_da9faab2","line":46,"updated":"2017-03-14 18:13:56.000000000","message":"Its interesting the DB code already attempts to define this:\nhttps://github.com/openstack/nova/blob/master/nova/db/sqlalchemy/api.py#L4822\n\nand in a slightly different way here:\nhttps://github.com/openstack/nova/blob/master/nova/db/sqlalchemy/api.py#L4831\n\nI much prefer what you are doing here though.","commit_id":"9fbca2a733070fce365cd4973b4f63ad84794447"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"4c1055da145e30e07fb8b1f46a91484cc1136e62","unresolved":false,"context_lines":[{"line_number":43,"context_line":"The latter API returns 404 error if the specified migration is not in progress."},{"line_number":44,"context_line":"The behavior is retained as it is."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"In progress migration states are defined as follows:"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"* migration/resize"},{"line_number":49,"context_line":""}],"source_content_type":"text/x-rst","patch_set":16,"id":"1a1ced50_148bfe1f","line":46,"in_reply_to":"3a1ff146_da9faab2","updated":"2017-03-23 06:19:07.000000000","message":"IMO, \u0027migration_get_in_progress_by_host_and_node\u0027 is for getting on-going migrations at node and host. It is for a resource tracker.\n\u0027migration_get_in_progress_by_instance\u0027 is for getting on-going migrations in the point of view of instance.\nIn this case, on-going migrations in the point of view of instance is needed.","commit_id":"9fbca2a733070fce365cd4973b4f63ad84794447"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"d9fa89d0c89699418451f1e0b5d4aa7274959deb","unresolved":false,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":"* migration/resize"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"  \u0027migrating\u0027, \u0027pre-migrating\u0027, \u0027post-migrating\u0027, \u0027reverting\u0027, \u0027confirming\u0027"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"* evacuation"},{"line_number":53,"context_line":""}],"source_content_type":"text/x-rst","patch_set":16,"id":"3a1ff146_7f9308fb","line":50,"range":{"start_line":50,"start_character":50,"end_line":50,"end_character":75},"updated":"2017-03-14 18:13:56.000000000","message":"Observation: you can\u0027t cancel these, but you can cancel the other ones. Which is interesting.","commit_id":"9fbca2a733070fce365cd4973b4f63ad84794447"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"4c1055da145e30e07fb8b1f46a91484cc1136e62","unresolved":false,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":"* migration/resize"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"  \u0027migrating\u0027, \u0027pre-migrating\u0027, \u0027post-migrating\u0027, \u0027reverting\u0027, \u0027confirming\u0027"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"* evacuation"},{"line_number":53,"context_line":""}],"source_content_type":"text/x-rst","patch_set":16,"id":"1a1ced50_14b93ecc","line":50,"range":{"start_line":50,"start_character":50,"end_line":50,"end_character":75},"in_reply_to":"3a1ff146_7f9308fb","updated":"2017-03-23 06:19:07.000000000","message":"I remove \u0027reverting\u0027 and \u0027confirming\u0027.\nBut migrations in \u0027migrating\u0027 can only be canceled.","commit_id":"9fbca2a733070fce365cd4973b4f63ad84794447"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"d9fa89d0c89699418451f1e0b5d4aa7274959deb","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"* evacuation"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"  \u0027accepted\u0027, \u0027pre-migrating\u0027"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Alternatives"},{"line_number":57,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":16,"id":"3a1ff146_1fbbf473","line":54,"updated":"2017-03-14 18:13:56.000000000","message":"I think we should we add live-migration in here, saying what we do today. That way we have the complete story here.","commit_id":"9fbca2a733070fce365cd4973b4f63ad84794447"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"feac4531f6b252a258be1222ec6b224d6826e94b","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"* evacuation"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"  \u0027accepted\u0027, \u0027pre-migrating\u0027"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Alternatives"},{"line_number":57,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":16,"id":"3a1ff146_244f99be","line":54,"in_reply_to":"3a1ff146_1fbbf473","updated":"2017-03-15 16:00:33.000000000","message":"We should also mention that rebuild is not yet a valid type given we don\u0027t create a Migration object there. It will help getting a clear state on what we support now and what we don\u0027t.","commit_id":"9fbca2a733070fce365cd4973b4f63ad84794447"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"4c1055da145e30e07fb8b1f46a91484cc1136e62","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"* evacuation"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"  \u0027accepted\u0027, \u0027pre-migrating\u0027"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Alternatives"},{"line_number":57,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":16,"id":"1a1ced50_f4b3c24a","line":54,"in_reply_to":"3a1ff146_244f99be","updated":"2017-03-23 06:19:07.000000000","message":"Done","commit_id":"9fbca2a733070fce365cd4973b4f63ad84794447"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"682a1c435ecb517e9898a2af7e28efaf1eadd9e2","unresolved":false,"context_lines":[{"line_number":64,"context_line":"None"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"REST API impact"},{"line_number":67,"context_line":"---------------"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"The following existing 2 APIs are modified."},{"line_number":70,"context_line":"Microversion is bumped."}],"source_content_type":"text/x-rst","patch_set":16,"id":"1a1ced50_ca17d152","line":67,"updated":"2017-03-17 07:23:16.000000000","message":"I still think my comment in the PS11 is valid, I put it at here:\n\nFor \"DELETE /servers/{server_id}/migrations/{id}\" and the force_complete action, if they migration isn\u0027t the live-migration, it should return 400 instead of 404.\n\n\nThe reason is that in the before, the migration of evcaute/rebuild/resize is invisible in this API, that is why the API return 404. But in this proposal those migrations are visible in the API, then 404 is wrong semantic in the new proposal. We should return 400, the semantic is I know this migration, but it didn\u0027t support abort and force-complete.","commit_id":"9fbca2a733070fce365cd4973b4f63ad84794447"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"4c1055da145e30e07fb8b1f46a91484cc1136e62","unresolved":false,"context_lines":[{"line_number":64,"context_line":"None"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"REST API impact"},{"line_number":67,"context_line":"---------------"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"The following existing 2 APIs are modified."},{"line_number":70,"context_line":"Microversion is bumped."}],"source_content_type":"text/x-rst","patch_set":16,"id":"1a1ced50_14bf7e61","line":67,"in_reply_to":"1a1ced50_ca17d152","updated":"2017-03-23 06:19:07.000000000","message":"Currently 400 error is returned when the migration is not live-migration in DELETE /servers/{server_id}/migrations/{id}.\n\nDone.","commit_id":"9fbca2a733070fce365cd4973b4f63ad84794447"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"feac4531f6b252a258be1222ec6b224d6826e94b","unresolved":false,"context_lines":[{"line_number":79,"context_line":""},{"line_number":80,"context_line":"  The valid \u0027type\u0027 parameters are \u0027live-migration\u0027, \u0027migration\u0027,"},{"line_number":81,"context_line":"  \u0027resize\u0027 and \u0027evacuation\u0027."},{"line_number":82,"context_line":"  If \u0027type\u0027 parameter is wrong, nova-api returns 400 error."},{"line_number":83,"context_line":"  So add badRequest(400) to error response codes."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"  The \u0027type\u0027 parameter is added in the response."}],"source_content_type":"text/x-rst","patch_set":16,"id":"3a1ff146_24307901","line":82,"updated":"2017-03-15 16:00:33.000000000","message":"Again, I\u0027m in favor of describing all the supported types in the JSON schema.","commit_id":"9fbca2a733070fce365cd4973b4f63ad84794447"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"4c1055da145e30e07fb8b1f46a91484cc1136e62","unresolved":false,"context_lines":[{"line_number":79,"context_line":""},{"line_number":80,"context_line":"  The valid \u0027type\u0027 parameters are \u0027live-migration\u0027, \u0027migration\u0027,"},{"line_number":81,"context_line":"  \u0027resize\u0027 and \u0027evacuation\u0027."},{"line_number":82,"context_line":"  If \u0027type\u0027 parameter is wrong, nova-api returns 400 error."},{"line_number":83,"context_line":"  So add badRequest(400) to error response codes."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"  The \u0027type\u0027 parameter is added in the response."}],"source_content_type":"text/x-rst","patch_set":16,"id":"1a1ced50_28b33e0b","line":82,"in_reply_to":"3a1ff146_24307901","updated":"2017-03-23 06:19:07.000000000","message":"I cannot understand it. Please tell it in detail.","commit_id":"9fbca2a733070fce365cd4973b4f63ad84794447"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"d9fa89d0c89699418451f1e0b5d4aa7274959deb","unresolved":false,"context_lines":[{"line_number":90,"context_line":"        \"migrations\": ["},{"line_number":91,"context_line":"            {"},{"line_number":92,"context_line":"                \"dest_host\": \"10.0.2.15\","},{"line_number":93,"context_line":"                \"status\": \"post-migrating\","},{"line_number":94,"context_line":"                \"memory_processed_bytes\": null,"},{"line_number":95,"context_line":"                \"type\": \"migration\","},{"line_number":96,"context_line":"                \"updated_at\": \"2017-01-31T08:03:25.000000\","}],"source_content_type":"text/x-rst","patch_set":16,"id":"3a1ff146_da86ca64","line":93,"updated":"2017-03-14 18:13:56.000000000","message":"I think we should describe what possible values you can get in status, I guess we are starting to do that on line46.","commit_id":"9fbca2a733070fce365cd4973b4f63ad84794447"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"4c1055da145e30e07fb8b1f46a91484cc1136e62","unresolved":false,"context_lines":[{"line_number":90,"context_line":"        \"migrations\": ["},{"line_number":91,"context_line":"            {"},{"line_number":92,"context_line":"                \"dest_host\": \"10.0.2.15\","},{"line_number":93,"context_line":"                \"status\": \"post-migrating\","},{"line_number":94,"context_line":"                \"memory_processed_bytes\": null,"},{"line_number":95,"context_line":"                \"type\": \"migration\","},{"line_number":96,"context_line":"                \"updated_at\": \"2017-01-31T08:03:25.000000\","}],"source_content_type":"text/x-rst","patch_set":16,"id":"1a1ced50_5482d6c8","line":93,"in_reply_to":"3a1ff146_da86ca64","updated":"2017-03-23 06:19:07.000000000","message":"In section \"Proposed change\", on-going migration status are defined. They are what we can get.","commit_id":"9fbca2a733070fce365cd4973b4f63ad84794447"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"feac4531f6b252a258be1222ec6b224d6826e94b","unresolved":false,"context_lines":[{"line_number":193,"context_line":"  (\u0027evacuation\u0027, \u0027resize\u0027, \u0027migration\u0027) API"},{"line_number":194,"context_line":"* Modify show a server migration (\u0027evacuation\u0027, \u0027resize\u0027, or \u0027migration\u0027) API"},{"line_number":195,"context_line":"* Add the optional \u0027type\u0027 parameter in novaclient/openstackclient"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"Dependencies"},{"line_number":198,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":199,"context_line":""}],"source_content_type":"text/x-rst","patch_set":16,"id":"3a1ff146_97095d2f","line":196,"updated":"2017-03-15 16:00:33.000000000","message":"You should also mention that you\u0027ll amend the API docs to only provide an enum for the possible types.","commit_id":"9fbca2a733070fce365cd4973b4f63ad84794447"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"4c1055da145e30e07fb8b1f46a91484cc1136e62","unresolved":false,"context_lines":[{"line_number":193,"context_line":"  (\u0027evacuation\u0027, \u0027resize\u0027, \u0027migration\u0027) API"},{"line_number":194,"context_line":"* Modify show a server migration (\u0027evacuation\u0027, \u0027resize\u0027, or \u0027migration\u0027) API"},{"line_number":195,"context_line":"* Add the optional \u0027type\u0027 parameter in novaclient/openstackclient"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"Dependencies"},{"line_number":198,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":199,"context_line":""}],"source_content_type":"text/x-rst","patch_set":16,"id":"1a1ced50_547bb67a","line":196,"in_reply_to":"3a1ff146_97095d2f","updated":"2017-03-23 06:19:07.000000000","message":"Done","commit_id":"9fbca2a733070fce365cd4973b4f63ad84794447"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"82cb73ca4960a02f22a28e54039ec72c36ec954c","unresolved":false,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":"* migration/resize"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"  \u0027migrating\u0027, \u0027pre-migrating\u0027, \u0027post-migrating\u0027"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"* evacuation"},{"line_number":55,"context_line":""}],"source_content_type":"text/x-rst","patch_set":19,"id":"dfeb2761_14695d24","line":52,"range":{"start_line":52,"start_character":0,"end_line":52,"end_character":48},"updated":"2017-03-31 01:55:08.000000000","message":"just a thought that should we only define the in-progress of those type which can be aborted ?\n\nIMO use case of this GET ../migrations API should not be limited to do perform abort or force_complete, it can be to know what all migration going on.\n\nand have a very clear doc about what all in-progress states can be further aborted/force_completed","commit_id":"5d9837ce77425c59aea67cafaf72e77762559709"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"998f989e61fbcdaa06c96a077dc3e633ee1b79e2","unresolved":false,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":"* migration/resize"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"  \u0027migrating\u0027, \u0027pre-migrating\u0027, \u0027post-migrating\u0027"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"* evacuation"},{"line_number":55,"context_line":""}],"source_content_type":"text/x-rst","patch_set":19,"id":"dfeb2761_f1c7eb11","line":52,"range":{"start_line":52,"start_character":0,"end_line":52,"end_character":48},"in_reply_to":"dfeb2761_14695d24","updated":"2017-04-03 07:54:47.000000000","message":"Currently, in live-migration case, in-progress migrations are only listed/shown.\nSo for the consistency with live migration case,\nin-progress migrations are only listed/shown in other migration types.","commit_id":"5d9837ce77425c59aea67cafaf72e77762559709"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"82cb73ca4960a02f22a28e54039ec72c36ec954c","unresolved":false,"context_lines":[{"line_number":148,"context_line":""},{"line_number":149,"context_line":"  If a migration is not in progress state, it returns 404 error."},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"* POST /servers/{server_id}/migrations/{migration_id}/action"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"  It is a \"Force Migration Complete Action\" API."},{"line_number":154,"context_line":"  The migration is not a \u0027live-migration\u0027, it returns 400 error"},{"line_number":155,"context_line":"  instead of 404 error."},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"* DELETE /servers/{server_id}/migrations/{migration_id}"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"  The migration is not a \u0027live-migration\u0027, it returns 400 error."},{"line_number":160,"context_line":"  It is a current behavior. (It is not changed.)"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"Security impact"},{"line_number":163,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":19,"id":"dfeb2761_8fed5427","line":160,"range":{"start_line":151,"start_character":0,"end_line":160,"end_character":48},"updated":"2017-03-31 01:55:08.000000000","message":"I might be missing something here but do we return 404 for non live_migration cases on those APIs?\n\nin both API, there is no explicit check about whether it is \u0027live_migration\u0027 or not. Only way we can know is what type of exception was raised from compute and what API layer converted that to(400 or 404).\n\nwhich is InvalidMigrationState which is checked as \u0027running\u0027 as of now and both APIs return 400 on that case\n\n- http://git.openstack.org/cgit/openstack/nova/tree/nova/api/openstack/compute/server_migrations.py#n80\n\n- http://git.openstack.org/cgit/openstack/nova/tree/nova/api/openstack/compute/server_migrations.py#n154","commit_id":"5d9837ce77425c59aea67cafaf72e77762559709"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"7ce9ce36cd90700f6d70d96061b4b63340426f83","unresolved":false,"context_lines":[{"line_number":148,"context_line":""},{"line_number":149,"context_line":"  If a migration is not in progress state, it returns 404 error."},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"* POST /servers/{server_id}/migrations/{migration_id}/action"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"  It is a \"Force Migration Complete Action\" API."},{"line_number":154,"context_line":"  The migration is not a \u0027live-migration\u0027, it returns 400 error"},{"line_number":155,"context_line":"  instead of 404 error."},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"* DELETE /servers/{server_id}/migrations/{migration_id}"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"  The migration is not a \u0027live-migration\u0027, it returns 400 error."},{"line_number":160,"context_line":"  It is a current behavior. (It is not changed.)"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"Security impact"},{"line_number":163,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":19,"id":"dfeb2761_b1f3a30a","line":160,"range":{"start_line":151,"start_character":0,"end_line":160,"end_character":48},"in_reply_to":"dfeb2761_8fed5427","updated":"2017-04-03 07:40:29.000000000","message":"Please see Alex\u0027s comment in PS11.\n\nhttps://review.openstack.org/#/c/407237/11/specs/pike/approved/list-show-all-server-migration-types.rst@56","commit_id":"5d9837ce77425c59aea67cafaf72e77762559709"},{"author":{"_account_id":18339,"name":"Sivasathurappan Radhakrishnan","email":"siva.radhakrishnan@intel.com","username":"sivakrishnan"},"change_message_id":"d2cef755babf3399a619de3eb0f7647695315d74","unresolved":false,"context_lines":[{"line_number":21,"context_line":"Problem description"},{"line_number":22,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"To abort cold migrations [1], administrators have to list/show cold migrations."},{"line_number":25,"context_line":"But curently they can list/show live migrations only."},{"line_number":26,"context_line":"(The \u0027os-migrations\u0027 API is deprecated, so administrators should not use it.)"},{"line_number":27,"context_line":""}],"source_content_type":"text/x-rst","patch_set":20,"id":"dfeb2761_89f8347b","line":24,"range":{"start_line":24,"start_character":24,"end_line":24,"end_character":28},"updated":"2017-04-04 17:04:29.000000000","message":"This didn\u0027t render properly. you should change it to [1]_.","commit_id":"0741bc2023dfda4e3d45808adbedf892b8ed495f"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"2857475a9b8cdaf706c80ebdee616fcd18a85b2a","unresolved":false,"context_lines":[{"line_number":21,"context_line":"Problem description"},{"line_number":22,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"To abort cold migrations [1], administrators have to list/show cold migrations."},{"line_number":25,"context_line":"But curently they can list/show live migrations only."},{"line_number":26,"context_line":"(The \u0027os-migrations\u0027 API is deprecated, so administrators should not use it.)"},{"line_number":27,"context_line":""}],"source_content_type":"text/x-rst","patch_set":20,"id":"dfeb2761_0d577d5a","line":24,"range":{"start_line":24,"start_character":24,"end_line":24,"end_character":28},"in_reply_to":"dfeb2761_89f8347b","updated":"2017-04-05 06:49:43.000000000","message":"Done","commit_id":"0741bc2023dfda4e3d45808adbedf892b8ed495f"},{"author":{"_account_id":19590,"name":"Sarafraj Singh","email":"Sarafraj.Singh@intel.com","username":"sarafrajsingh"},"change_message_id":"8853cb9bbaad21e9e9c6e710084240b987b35de8","unresolved":false,"context_lines":[{"line_number":28,"context_line":"Use Cases"},{"line_number":29,"context_line":"---------"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Administrators use suggested functions when they abort cold migrations [1]."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Proposed change"},{"line_number":34,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":20,"id":"dfeb2761_a44c3f42","line":31,"range":{"start_line":31,"start_character":0,"end_line":31,"end_character":70},"updated":"2017-04-04 17:25:51.000000000","message":"This is confusing, maybe refactor to something like \"Operators want to list all migrations in the cloud to take any action against them\"?","commit_id":"0741bc2023dfda4e3d45808adbedf892b8ed495f"},{"author":{"_account_id":19590,"name":"Sarafraj Singh","email":"Sarafraj.Singh@intel.com","username":"sarafrajsingh"},"change_message_id":"8853cb9bbaad21e9e9c6e710084240b987b35de8","unresolved":false,"context_lines":[{"line_number":28,"context_line":"Use Cases"},{"line_number":29,"context_line":"---------"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Administrators use suggested functions when they abort cold migrations [1]."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Proposed change"},{"line_number":34,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":20,"id":"dfeb2761_a4755f66","line":31,"range":{"start_line":31,"start_character":71,"end_line":31,"end_character":74},"updated":"2017-04-04 17:25:51.000000000","message":"[1]_","commit_id":"0741bc2023dfda4e3d45808adbedf892b8ed495f"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"2857475a9b8cdaf706c80ebdee616fcd18a85b2a","unresolved":false,"context_lines":[{"line_number":28,"context_line":"Use Cases"},{"line_number":29,"context_line":"---------"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Administrators use suggested functions when they abort cold migrations [1]."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Proposed change"},{"line_number":34,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":20,"id":"dfeb2761_4d59058c","line":31,"range":{"start_line":31,"start_character":71,"end_line":31,"end_character":74},"in_reply_to":"dfeb2761_a4755f66","updated":"2017-04-05 06:49:43.000000000","message":"Done","commit_id":"0741bc2023dfda4e3d45808adbedf892b8ed495f"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"515cb83eabffccdceafb558ad4ea03fb25117306","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Modify the following existing 2 APIs for live-migration to list and show"},{"line_number":37,"context_line":"other migration types (\u0027evacuation\u0027, \u0027resize\u0027, \u0027migration\u0027)."},{"line_number":38,"context_line":"The \u0027rebuild\u0027 is not included because migratoin objects are not created"},{"line_number":39,"context_line":"in rebuild."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"* GET /servers/{server_id}/migrations"}],"source_content_type":"text/x-rst","patch_set":20,"id":"dfeb2761_3a4df5c3","line":38,"range":{"start_line":38,"start_character":5,"end_line":38,"end_character":13},"updated":"2017-04-04 13:28:54.000000000","message":"I\u0027d change that sentence to \"Given the rebuild operation doesn\u0027t record a Migration object, that REST API couldn\u0027t provide the list.\n\nAlso, maybe should we also use that spec to also implement that for rebuild ?","commit_id":"0741bc2023dfda4e3d45808adbedf892b8ed495f"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"434b8fac2ecb3b484fc255c7767f8581bfe81cbe","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Modify the following existing 2 APIs for live-migration to list and show"},{"line_number":37,"context_line":"other migration types (\u0027evacuation\u0027, \u0027resize\u0027, \u0027migration\u0027)."},{"line_number":38,"context_line":"The \u0027rebuild\u0027 is not included because migratoin objects are not created"},{"line_number":39,"context_line":"in rebuild."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"* GET /servers/{server_id}/migrations"}],"source_content_type":"text/x-rst","patch_set":20,"id":"dfeb2761_34c3ce3a","line":38,"updated":"2017-04-04 12:24:49.000000000","message":"migration","commit_id":"0741bc2023dfda4e3d45808adbedf892b8ed495f"},{"author":{"_account_id":18339,"name":"Sivasathurappan Radhakrishnan","email":"siva.radhakrishnan@intel.com","username":"sivakrishnan"},"change_message_id":"d2cef755babf3399a619de3eb0f7647695315d74","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Modify the following existing 2 APIs for live-migration to list and show"},{"line_number":37,"context_line":"other migration types (\u0027evacuation\u0027, \u0027resize\u0027, \u0027migration\u0027)."},{"line_number":38,"context_line":"The \u0027rebuild\u0027 is not included because migratoin objects are not created"},{"line_number":39,"context_line":"in rebuild."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"* GET /servers/{server_id}/migrations"}],"source_content_type":"text/x-rst","patch_set":20,"id":"dfeb2761_49a6ac55","line":38,"range":{"start_line":38,"start_character":5,"end_line":38,"end_character":13},"in_reply_to":"dfeb2761_3a4df5c3","updated":"2017-04-04 17:04:29.000000000","message":"+1","commit_id":"0741bc2023dfda4e3d45808adbedf892b8ed495f"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"2857475a9b8cdaf706c80ebdee616fcd18a85b2a","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Modify the following existing 2 APIs for live-migration to list and show"},{"line_number":37,"context_line":"other migration types (\u0027evacuation\u0027, \u0027resize\u0027, \u0027migration\u0027)."},{"line_number":38,"context_line":"The \u0027rebuild\u0027 is not included because migratoin objects are not created"},{"line_number":39,"context_line":"in rebuild."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"* GET /servers/{server_id}/migrations"}],"source_content_type":"text/x-rst","patch_set":20,"id":"dfeb2761_907726a1","line":38,"range":{"start_line":38,"start_character":5,"end_line":38,"end_character":13},"in_reply_to":"dfeb2761_49a6ac55","updated":"2017-04-05 06:49:43.000000000","message":"Done","commit_id":"0741bc2023dfda4e3d45808adbedf892b8ed495f"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"434b8fac2ecb3b484fc255c7767f8581bfe81cbe","unresolved":false,"context_lines":[{"line_number":38,"context_line":"The \u0027rebuild\u0027 is not included because migratoin objects are not created"},{"line_number":39,"context_line":"in rebuild."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"* GET /servers/{server_id}/migrations"},{"line_number":42,"context_line":"* GET /servers/{server_id}/migrations/{migration_id}"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"The former API returns in-progress migrations."}],"source_content_type":"text/x-rst","patch_set":20,"id":"dfeb2761_74fb9678","line":41,"updated":"2017-04-04 12:24:49.000000000","message":"Just out of curiosity, can a single server be involved in more that one migration at a time?","commit_id":"0741bc2023dfda4e3d45808adbedf892b8ed495f"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"2857475a9b8cdaf706c80ebdee616fcd18a85b2a","unresolved":false,"context_lines":[{"line_number":38,"context_line":"The \u0027rebuild\u0027 is not included because migratoin objects are not created"},{"line_number":39,"context_line":"in rebuild."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"* GET /servers/{server_id}/migrations"},{"line_number":42,"context_line":"* GET /servers/{server_id}/migrations/{migration_id}"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"The former API returns in-progress migrations."}],"source_content_type":"text/x-rst","patch_set":20,"id":"dfeb2761_2dd361d7","line":41,"in_reply_to":"dfeb2761_74fb9678","updated":"2017-04-05 06:49:43.000000000","message":"No. A single server is involved only one migration at a time.","commit_id":"0741bc2023dfda4e3d45808adbedf892b8ed495f"},{"author":{"_account_id":18339,"name":"Sivasathurappan Radhakrishnan","email":"siva.radhakrishnan@intel.com","username":"sivakrishnan"},"change_message_id":"d2cef755babf3399a619de3eb0f7647695315d74","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"* live-migration (Existing definition)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"  \u0027queued\u0027, \u0027preparing\u0027, \u0027running\u0027, \u0027post-migrating\u0027"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Alternatives"},{"line_number":63,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":20,"id":"dfeb2761_8e96fa92","line":60,"range":{"start_line":60,"start_character":25,"end_line":60,"end_character":52},"updated":"2017-04-04 17:04:29.000000000","message":"\u0027post-migrating\u0027 is not part of live migration. It should be of this order\n\u0027queued\u0027, \u0027preparing\u0027, \u0027running\u0027, \u0027running(post-copy)\u0027, \u0027completed\u0027. \u0027error\u0027","commit_id":"0741bc2023dfda4e3d45808adbedf892b8ed495f"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"2857475a9b8cdaf706c80ebdee616fcd18a85b2a","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"* live-migration (Existing definition)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"  \u0027queued\u0027, \u0027preparing\u0027, \u0027running\u0027, \u0027post-migrating\u0027"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Alternatives"},{"line_number":63,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":20,"id":"dfeb2761_90a286ad","line":60,"range":{"start_line":60,"start_character":25,"end_line":60,"end_character":52},"in_reply_to":"dfeb2761_8e96fa92","updated":"2017-04-05 06:49:43.000000000","message":"\u003e \u0027post-migrating\u0027 is not part of live migration. It should be of this order\n\nBut in existing definition, it is included.\n\nhttps://github.com/openstack/nova/blob/master/nova/api/openstack/compute/server_migrations.py#L130\nhttps://github.com/openstack/nova/blob/master/nova/db/sqlalchemy/api.py#L4778-L4780","commit_id":"0741bc2023dfda4e3d45808adbedf892b8ed495f"},{"author":{"_account_id":18339,"name":"Sivasathurappan Radhakrishnan","email":"siva.radhakrishnan@intel.com","username":"sivakrishnan"},"change_message_id":"4669ee287788dfa73e97d4023464428b33082749","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"* live-migration (Existing definition)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"  \u0027queued\u0027, \u0027preparing\u0027, \u0027running\u0027, \u0027post-migrating\u0027"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Alternatives"},{"line_number":63,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":20,"id":"dfeb2761_a2d9cef3","line":60,"range":{"start_line":60,"start_character":25,"end_line":60,"end_character":52},"in_reply_to":"dfeb2761_8e96fa92","updated":"2017-04-04 18:53:11.000000000","message":"Since this is just about migration states, \u0027completed\u0027 and \u0027error\u0027 shouldn\u0027t be in this list. Above list looks fine for me as these are the ones which are checked in our code. I understand post copy migration can\u0027t be aborted but still shouldn\u0027t it be in this list.?","commit_id":"0741bc2023dfda4e3d45808adbedf892b8ed495f"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"2857475a9b8cdaf706c80ebdee616fcd18a85b2a","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"* live-migration (Existing definition)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"  \u0027queued\u0027, \u0027preparing\u0027, \u0027running\u0027, \u0027post-migrating\u0027"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Alternatives"},{"line_number":63,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":20,"id":"dfeb2761_908ba61d","line":60,"range":{"start_line":60,"start_character":25,"end_line":60,"end_character":52},"in_reply_to":"dfeb2761_a2d9cef3","updated":"2017-04-05 06:49:43.000000000","message":"\u003e Since this is just about migration states, \u0027completed\u0027 and \u0027error\u0027 shouldn\u0027t be in this list.\n\nCorrect.\nThey shouldn\u0027t be in the list.\n\nLive migration case will not be modified in this spec.\nIt will remains as it is except HTTP response code.","commit_id":"0741bc2023dfda4e3d45808adbedf892b8ed495f"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"515cb83eabffccdceafb558ad4ea03fb25117306","unresolved":false,"context_lines":[{"line_number":58,"context_line":"* live-migration (Existing definition)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"  \u0027queued\u0027, \u0027preparing\u0027, \u0027running\u0027, \u0027post-migrating\u0027"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Alternatives"},{"line_number":63,"context_line":"------------"},{"line_number":64,"context_line":""}],"source_content_type":"text/x-rst","patch_set":20,"id":"dfeb2761_fa642d24","line":61,"updated":"2017-04-04 13:28:54.000000000","message":"I\u0027d love to see the REST API providing the same results whatever the type is.\n\nShouldn\u0027t we discuss in that spec about all the possible states the REST API could return, even if they are different between types ? I mean, I\u0027d prefer to have a mapping between what\u0027s returned and what\u0027s in the backend instead of just returning what\u0027s in the DB...","commit_id":"0741bc2023dfda4e3d45808adbedf892b8ed495f"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"2857475a9b8cdaf706c80ebdee616fcd18a85b2a","unresolved":false,"context_lines":[{"line_number":58,"context_line":"* live-migration (Existing definition)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"  \u0027queued\u0027, \u0027preparing\u0027, \u0027running\u0027, \u0027post-migrating\u0027"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Alternatives"},{"line_number":63,"context_line":"------------"},{"line_number":64,"context_line":""}],"source_content_type":"text/x-rst","patch_set":20,"id":"dfeb2761_d0f00e94","line":61,"in_reply_to":"dfeb2761_fa642d24","updated":"2017-04-05 06:49:43.000000000","message":"Same items will return whatever the type is.\nIf the item is not available, it is set to \u0027null\u0027.","commit_id":"0741bc2023dfda4e3d45808adbedf892b8ed495f"},{"author":{"_account_id":18339,"name":"Sivasathurappan Radhakrishnan","email":"siva.radhakrishnan@intel.com","username":"sivakrishnan"},"change_message_id":"d2cef755babf3399a619de3eb0f7647695315d74","unresolved":false,"context_lines":[{"line_number":72,"context_line":"REST API impact"},{"line_number":73,"context_line":"---------------"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"The following existing 2 APIs are modified."},{"line_number":76,"context_line":"Microversion is bumped."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"* GET /servers/{server_id}/migrations"},{"line_number":79,"context_line":""}],"source_content_type":"text/x-rst","patch_set":20,"id":"dfeb2761_eea8e68c","line":76,"range":{"start_line":75,"start_character":0,"end_line":76,"end_character":23},"updated":"2017-04-04 17:04:29.000000000","message":"nit: I think it can be simplified something like this \"Following changes will be introduced in a new API microversion\"","commit_id":"0741bc2023dfda4e3d45808adbedf892b8ed495f"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"2857475a9b8cdaf706c80ebdee616fcd18a85b2a","unresolved":false,"context_lines":[{"line_number":72,"context_line":"REST API impact"},{"line_number":73,"context_line":"---------------"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"The following existing 2 APIs are modified."},{"line_number":76,"context_line":"Microversion is bumped."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"* GET /servers/{server_id}/migrations"},{"line_number":79,"context_line":""}],"source_content_type":"text/x-rst","patch_set":20,"id":"dfeb2761_0db3fd99","line":76,"range":{"start_line":75,"start_character":0,"end_line":76,"end_character":23},"in_reply_to":"dfeb2761_eea8e68c","updated":"2017-04-05 06:49:43.000000000","message":"Done","commit_id":"0741bc2023dfda4e3d45808adbedf892b8ed495f"},{"author":{"_account_id":19590,"name":"Sarafraj Singh","email":"Sarafraj.Singh@intel.com","username":"sarafrajsingh"},"change_message_id":"8853cb9bbaad21e9e9c6e710084240b987b35de8","unresolved":false,"context_lines":[{"line_number":80,"context_line":"  It lists migration in progress."},{"line_number":81,"context_line":"  The migration type can be specified as a \u0027type\u0027 query parameter"},{"line_number":82,"context_line":"  to filter out results."},{"line_number":83,"context_line":"  The \u0027type\u0027 query parameter is optional."},{"line_number":84,"context_line":"  If \u0027type\u0027 parameter is not specified, all migration types are listed."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"  The valid \u0027type\u0027 parameters are \u0027live-migration\u0027, \u0027migration\u0027,"}],"source_content_type":"text/x-rst","patch_set":20,"id":"dfeb2761_a4055f48","line":83,"range":{"start_line":83,"start_character":7,"end_line":83,"end_character":11},"updated":"2017-04-04 17:25:51.000000000","message":"It will be good to show JSON schema for this as well.","commit_id":"0741bc2023dfda4e3d45808adbedf892b8ed495f"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"2857475a9b8cdaf706c80ebdee616fcd18a85b2a","unresolved":false,"context_lines":[{"line_number":80,"context_line":"  It lists migration in progress."},{"line_number":81,"context_line":"  The migration type can be specified as a \u0027type\u0027 query parameter"},{"line_number":82,"context_line":"  to filter out results."},{"line_number":83,"context_line":"  The \u0027type\u0027 query parameter is optional."},{"line_number":84,"context_line":"  If \u0027type\u0027 parameter is not specified, all migration types are listed."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"  The valid \u0027type\u0027 parameters are \u0027live-migration\u0027, \u0027migration\u0027,"}],"source_content_type":"text/x-rst","patch_set":20,"id":"dfeb2761_6d52893d","line":83,"range":{"start_line":83,"start_character":7,"end_line":83,"end_character":11},"in_reply_to":"dfeb2761_a4055f48","updated":"2017-04-05 06:49:43.000000000","message":"It is a query parameter:\n\n    GET /servers/{server_id}/migrations?type\u003dmigration","commit_id":"0741bc2023dfda4e3d45808adbedf892b8ed495f"},{"author":{"_account_id":18339,"name":"Sivasathurappan Radhakrishnan","email":"siva.radhakrishnan@intel.com","username":"sivakrishnan"},"change_message_id":"d2cef755babf3399a619de3eb0f7647695315d74","unresolved":false,"context_lines":[{"line_number":148,"context_line":""},{"line_number":149,"context_line":"  If a migration is not in progress state, it returns 404 error."},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"* POST /servers/{server_id}/migrations/{migration_id}/action"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"  It is a \"Force Migration Complete Action\" API."},{"line_number":154,"context_line":"  The migration is not a \u0027live-migration\u0027, it returns 400 error"},{"line_number":155,"context_line":"  instead of 404 error."},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"* DELETE /servers/{server_id}/migrations/{migration_id}"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"  The migration is not a \u0027live-migration\u0027, it returns 400 error."},{"line_number":160,"context_line":"  It is a current behavior. (It is not changed.)"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"Security impact"},{"line_number":163,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":20,"id":"dfeb2761_4968ec85","line":160,"range":{"start_line":151,"start_character":0,"end_line":160,"end_character":48},"updated":"2017-04-04 17:04:29.000000000","message":"I am not sure why do we need this and description of this is slightly confusing. Can you please clarify what do you mean by \"The migration is not a \u0027live-migration\u0027.  force complete is live migration right? either they\u0027pause\u0027 or \u0027post-copy\u0027. Moreover if you are not making changes to it, why to mention it here ?","commit_id":"0741bc2023dfda4e3d45808adbedf892b8ed495f"},{"author":{"_account_id":19590,"name":"Sarafraj Singh","email":"Sarafraj.Singh@intel.com","username":"sarafrajsingh"},"change_message_id":"8853cb9bbaad21e9e9c6e710084240b987b35de8","unresolved":false,"context_lines":[{"line_number":148,"context_line":""},{"line_number":149,"context_line":"  If a migration is not in progress state, it returns 404 error."},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"* POST /servers/{server_id}/migrations/{migration_id}/action"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"  It is a \"Force Migration Complete Action\" API."},{"line_number":154,"context_line":"  The migration is not a \u0027live-migration\u0027, it returns 400 error"},{"line_number":155,"context_line":"  instead of 404 error."},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"* DELETE /servers/{server_id}/migrations/{migration_id}"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"  The migration is not a \u0027live-migration\u0027, it returns 400 error."},{"line_number":160,"context_line":"  It is a current behavior. (It is not changed.)"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"Security impact"},{"line_number":163,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":20,"id":"dfeb2761_64c3d739","line":160,"range":{"start_line":151,"start_character":0,"end_line":160,"end_character":48},"in_reply_to":"dfeb2761_4968ec85","updated":"2017-04-04 17:25:51.000000000","message":"Agree with Siva here, not sure why are you touching these API\u0027s","commit_id":"0741bc2023dfda4e3d45808adbedf892b8ed495f"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"2857475a9b8cdaf706c80ebdee616fcd18a85b2a","unresolved":false,"context_lines":[{"line_number":148,"context_line":""},{"line_number":149,"context_line":"  If a migration is not in progress state, it returns 404 error."},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"* POST /servers/{server_id}/migrations/{migration_id}/action"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"  It is a \"Force Migration Complete Action\" API."},{"line_number":154,"context_line":"  The migration is not a \u0027live-migration\u0027, it returns 400 error"},{"line_number":155,"context_line":"  instead of 404 error."},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"* DELETE /servers/{server_id}/migrations/{migration_id}"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"  The migration is not a \u0027live-migration\u0027, it returns 400 error."},{"line_number":160,"context_line":"  It is a current behavior. (It is not changed.)"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"Security impact"},{"line_number":163,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":20,"id":"dfeb2761_70538218","line":160,"range":{"start_line":151,"start_character":0,"end_line":160,"end_character":48},"in_reply_to":"dfeb2761_64c3d739","updated":"2017-04-05 06:49:43.000000000","message":"Please see Alex\u0027s comment in PS16.\n\nhttps://review.openstack.org/#/c/407237/16/specs/pike/approved/list-show-all-server-migration-types.rst@67","commit_id":"0741bc2023dfda4e3d45808adbedf892b8ed495f"},{"author":{"_account_id":18339,"name":"Sivasathurappan Radhakrishnan","email":"siva.radhakrishnan@intel.com","username":"sivakrishnan"},"change_message_id":"d2cef755babf3399a619de3eb0f7647695315d74","unresolved":false,"context_lines":[{"line_number":175,"context_line":""},{"line_number":176,"context_line":"The novaclient and openstackclient are modified to specify a migration type."},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"Performance Impact"},{"line_number":179,"context_line":"Security impact"},{"line_number":180,"context_line":"---------------"},{"line_number":181,"context_line":""}],"source_content_type":"text/x-rst","patch_set":20,"id":"dfeb2761_a9e898e1","line":178,"range":{"start_line":178,"start_character":0,"end_line":178,"end_character":17},"updated":"2017-04-04 17:04:29.000000000","message":"you change this one if you planning next patchset, even though it doesn\u0027t affect the final rendering of the doc.","commit_id":"0741bc2023dfda4e3d45808adbedf892b8ed495f"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"2857475a9b8cdaf706c80ebdee616fcd18a85b2a","unresolved":false,"context_lines":[{"line_number":175,"context_line":""},{"line_number":176,"context_line":"The novaclient and openstackclient are modified to specify a migration type."},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"Performance Impact"},{"line_number":179,"context_line":"Security impact"},{"line_number":180,"context_line":"---------------"},{"line_number":181,"context_line":""}],"source_content_type":"text/x-rst","patch_set":20,"id":"dfeb2761_6d372901","line":178,"range":{"start_line":178,"start_character":0,"end_line":178,"end_character":17},"in_reply_to":"dfeb2761_a9e898e1","updated":"2017-04-05 06:49:43.000000000","message":"Done","commit_id":"0741bc2023dfda4e3d45808adbedf892b8ed495f"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"a280e88aab694956bfeadbc74dca108a7cdffc88","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"Modify the following existing 2 APIs for live-migration to list and show"},{"line_number":38,"context_line":"other migration types (\u0027evacuation\u0027, \u0027resize\u0027, \u0027migration\u0027)."},{"line_number":39,"context_line":"Given the rebuild operation doesn\u0027t record a Migration object,"},{"line_number":40,"context_line":"that REST API couldn\u0027t provide the list."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"* GET /servers/{server_id}/migrations"},{"line_number":43,"context_line":"* GET /servers/{server_id}/migrations/{migration_id}"}],"source_content_type":"text/x-rst","patch_set":23,"id":"bff0334d_aabdd7b7","line":40,"range":{"start_line":39,"start_character":0,"end_line":40,"end_character":40},"updated":"2017-04-12 09:04:02.000000000","message":"Rebuild doesn\u0027t move unless its an evacuate flow, which does record a migration object. I would be tempted to remove that note.","commit_id":"7eeee98e3646e745961e337a62452d72638a0f8a"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"5a80a490ab1f461c9c7a2fd12d50bca94a703309","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"Modify the following existing 2 APIs for live-migration to list and show"},{"line_number":38,"context_line":"other migration types (\u0027evacuation\u0027, \u0027resize\u0027, \u0027migration\u0027)."},{"line_number":39,"context_line":"Given the rebuild operation doesn\u0027t record a Migration object,"},{"line_number":40,"context_line":"that REST API couldn\u0027t provide the list."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"* GET /servers/{server_id}/migrations"},{"line_number":43,"context_line":"* GET /servers/{server_id}/migrations/{migration_id}"}],"source_content_type":"text/x-rst","patch_set":23,"id":"bff0334d_53c842a4","line":40,"range":{"start_line":39,"start_character":0,"end_line":40,"end_character":40},"in_reply_to":"bff0334d_aabdd7b7","updated":"2017-04-12 10:55:40.000000000","message":"Done","commit_id":"7eeee98e3646e745961e337a62452d72638a0f8a"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"a280e88aab694956bfeadbc74dca108a7cdffc88","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"* migration/resize"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"  \u0027migrating\u0027, \u0027pre-migrating\u0027, \u0027post-migrating\u0027"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* evacuation"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-rst","patch_set":23,"id":"bff0334d_4afc0b6f","line":53,"updated":"2017-04-12 09:04:02.000000000","message":"So a migration is \"pending\" in some sense until it is confirmed or reverted. Would such operations appear in the list? Maybe they are in the list in the \"migrating\" stage? Its not 100% clear to me from this note here.","commit_id":"7eeee98e3646e745961e337a62452d72638a0f8a"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"8e69e5d7ccf370a1f1502fd9793dd059010ab5d4","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"* migration/resize"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"  \u0027migrating\u0027, \u0027pre-migrating\u0027, \u0027post-migrating\u0027"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* evacuation"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-rst","patch_set":23,"id":"bff0334d_6a47cf78","line":53,"in_reply_to":"bff0334d_4afc0b6f","updated":"2017-04-12 09:33:17.000000000","message":"So its in the \"finished\" state while waiting for confirm/revert.\n\nRevert goes into the \"reverting\" state:\nhttps://github.com/openstack/nova/blob/master/nova/compute/api.py#L3158\n\nConfirm goes into the \"confirming\" state:\nhttps://github.com/openstack/nova/blob/master/nova/compute/api.py#L3187\n\nDo we want those included here. Revert often is actually a migration (without the need for the copy), confirm is more a tidy up. I guess they don\u0027t take very long, so it may not be worth it.\n\nAnyways, I think it would be good to state explicitly our choice here. I think going with your current proposal is the best way forward. I would just be happier with a quite note in here saying we are excluding these states from the list.","commit_id":"7eeee98e3646e745961e337a62452d72638a0f8a"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"5a80a490ab1f461c9c7a2fd12d50bca94a703309","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"* migration/resize"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"  \u0027migrating\u0027, \u0027pre-migrating\u0027, \u0027post-migrating\u0027"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* evacuation"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-rst","patch_set":23,"id":"bff0334d_b989af75","line":53,"in_reply_to":"bff0334d_6a47cf78","updated":"2017-04-12 10:55:40.000000000","message":"Done","commit_id":"7eeee98e3646e745961e337a62452d72638a0f8a"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"1c802be360b99363e31f4fd2451b2679b0e717f9","unresolved":false,"context_lines":[{"line_number":72,"context_line":""},{"line_number":73,"context_line":"  - \u0027pre-migrating\u0027, \u0027migrating\u0027, \u0027post-migrating\u0027"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"* confirm resize"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"  - Nothing"},{"line_number":78,"context_line":"  - \u0027confirming\u0027 is not included because it doesn\u0027t execute disk copies."}],"source_content_type":"text/x-rst","patch_set":25,"id":"9ff52f3f_8d6440bb","line":75,"range":{"start_line":75,"start_character":10,"end_line":75,"end_character":16},"updated":"2017-04-13 10:24:21.000000000","message":"Nit: migration/resize here, as its happens for both. No need to fix that unless we need to re-work this for some other reason.","commit_id":"2c7f0f3de4370cbe646adb32a22598fa08f2c3c9"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"f3c761540eeebb09e1deb3b77d832b0e9ce64679","unresolved":false,"context_lines":[{"line_number":89,"context_line":"* live-migration"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"  - \u0027queued\u0027, \u0027preparing\u0027, \u0027running\u0027, \u0027post-migrating\u0027"},{"line_number":92,"context_line":"  - Existing definition. They remains as it is."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"Alternatives"},{"line_number":95,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":25,"id":"7ffa3b31_41e614eb","line":92,"updated":"2017-04-13 20:40:29.000000000","message":"Honestly, like I said in PS20, I think this spec should be the good opportunity for providing the same statuses by the API whether the type is.\n\nI\u0027m not saying we should modify the DB statuses, just having the API transforming the DB statuses that are different between all the types into some other API statuses being identical within all the types.","commit_id":"2c7f0f3de4370cbe646adb32a22598fa08f2c3c9"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"9862be571f617b52d266d769e432da22e487cf0a","unresolved":false,"context_lines":[{"line_number":89,"context_line":"* live-migration"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"  - \u0027queued\u0027, \u0027preparing\u0027, \u0027running\u0027, \u0027post-migrating\u0027"},{"line_number":92,"context_line":"  - Existing definition. They remains as it is."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"Alternatives"},{"line_number":95,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":25,"id":"7ffa3b31_f33732e3","line":92,"in_reply_to":"7ffa3b31_41e614eb","updated":"2017-04-14 01:33:28.000000000","message":"This function(API) is used for aborting live/cold migration.\nOperators can abort them in the limited statuses. \nSo IMO, it is better to know their DB statuses.","commit_id":"2c7f0f3de4370cbe646adb32a22598fa08f2c3c9"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"d92a4578499c1883e8171f942be182bb7d722031","unresolved":false,"context_lines":[{"line_number":89,"context_line":"* live-migration"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"  - \u0027queued\u0027, \u0027preparing\u0027, \u0027running\u0027, \u0027post-migrating\u0027"},{"line_number":92,"context_line":"  - Existing definition. They remains as it is."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"Alternatives"},{"line_number":95,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":25,"id":"7ffa3b31_40971c92","line":92,"in_reply_to":"7ffa3b31_f33732e3","updated":"2017-04-14 14:34:56.000000000","message":"@Sylvain, if you want a consistent status for all types\u0027 migration, what kind of consistent status is good for reverting and confirming?\n\nThe different migration has different steps in the migration. Maybe we keep them different that is good for the user to understand the exact step in different type migration.","commit_id":"2c7f0f3de4370cbe646adb32a22598fa08f2c3c9"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"1c802be360b99363e31f4fd2451b2679b0e717f9","unresolved":false,"context_lines":[{"line_number":183,"context_line":""},{"line_number":184,"context_line":"  It is a \"Force Migration Complete Action\" API."},{"line_number":185,"context_line":"  The migration is not a \u0027live-migration\u0027, it returns 400 error"},{"line_number":186,"context_line":"  instead of 404 error."},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"* DELETE /servers/{server_id}/migrations/{migration_id}"},{"line_number":189,"context_line":""}],"source_content_type":"text/x-rst","patch_set":25,"id":"9ff52f3f_0df5d0cb","line":186,"updated":"2017-04-13 10:24:21.000000000","message":"Nit: agreed we need this, but it was 404 for different reasons before, because the migration of a non-live-migrate type was not in the list. Invalid migrations not in the list would still get 404. But anyways, I think thats all fine.","commit_id":"2c7f0f3de4370cbe646adb32a22598fa08f2c3c9"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"41508c4604f80638ba4a0571b012208d769c1358","unresolved":false,"context_lines":[{"line_number":183,"context_line":""},{"line_number":184,"context_line":"  It is a \"Force Migration Complete Action\" API."},{"line_number":185,"context_line":"  The migration is not a \u0027live-migration\u0027, it returns 400 error"},{"line_number":186,"context_line":"  instead of 404 error."},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"* DELETE /servers/{server_id}/migrations/{migration_id}"},{"line_number":189,"context_line":""}],"source_content_type":"text/x-rst","patch_set":25,"id":"9ff52f3f_1a2bba94","line":186,"in_reply_to":"9ff52f3f_0df5d0cb","updated":"2017-04-13 14:27:01.000000000","message":"yea, that is what I said","commit_id":"2c7f0f3de4370cbe646adb32a22598fa08f2c3c9"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"390af2b4c2f249003cc29f91b015ad7f6dddbac3","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"To abort cold migrations [1]_, administrators have to list/show cold"},{"line_number":25,"context_line":"migrations. But curently they can list/show live migrations only."},{"line_number":26,"context_line":"(The \u0027os-migrations\u0027 API is deprecated, so administrators should not use it.)"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Use Cases"},{"line_number":29,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":26,"id":"7ffa3b31_33e469ac","line":26,"updated":"2017-04-14 19:48:52.000000000","message":"Nor is it well documented:\n\nhttps://bugs.launchpad.net/nova/+bug/1668747","commit_id":"8d0f9b328cdc08907d46c1a8693398ce7e1553f7"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"c0edf911c38d809164f730c1d754f963fa620013","unresolved":false,"context_lines":[{"line_number":29,"context_line":"---------"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Operators want to list all migrations in the cloud to take any action"},{"line_number":32,"context_line":"against them [1]_."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Proposed change"},{"line_number":35,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":26,"id":"7ffa3b31_73ae71e8","line":32,"updated":"2017-04-14 18:42:08.000000000","message":"s/to take any action against them//","commit_id":"8d0f9b328cdc08907d46c1a8693398ce7e1553f7"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"390af2b4c2f249003cc29f91b015ad7f6dddbac3","unresolved":false,"context_lines":[{"line_number":42,"context_line":""},{"line_number":43,"context_line":"The former API returns in-progress migrations."},{"line_number":44,"context_line":"The latter API returns 404 error if the specified migration is not in progress."},{"line_number":45,"context_line":"The behavior is retained as it is."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"Migration status transitions are as follows:"},{"line_number":48,"context_line":""}],"source_content_type":"text/x-rst","patch_set":26,"id":"7ffa3b31_93ee9d86","line":45,"range":{"start_line":45,"start_character":0,"end_line":45,"end_character":34},"updated":"2017-04-14 19:48:52.000000000","message":"I\u0027ve always thought it was kind of odd that we only show in-progress migrations. I would think operators would also like to see a record of completed or failed migrations for a given server. I guess they can figure that out from the os-instance-actions API though too, but it won\u0027t give them the details like the migrations API would.\n\nMaybe this already came up earlier in the spec review about why we\u0027ll only show the in-progress migrations. If so, it would be nice to amend this spec to explain that for historical reasons (when we ask this question a year from now).","commit_id":"8d0f9b328cdc08907d46c1a8693398ce7e1553f7"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"c0edf911c38d809164f730c1d754f963fa620013","unresolved":false,"context_lines":[{"line_number":44,"context_line":"The latter API returns 404 error if the specified migration is not in progress."},{"line_number":45,"context_line":"The behavior is retained as it is."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"Migration status transitions are as follows:"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"* Migration/resize"},{"line_number":50,"context_line":""}],"source_content_type":"text/x-rst","patch_set":26,"id":"7ffa3b31_53ab75d5","line":47,"updated":"2017-04-14 18:42:08.000000000","message":"Why do we need to include the below state transitions in this spec?","commit_id":"8d0f9b328cdc08907d46c1a8693398ce7e1553f7"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"390af2b4c2f249003cc29f91b015ad7f6dddbac3","unresolved":false,"context_lines":[{"line_number":44,"context_line":"The latter API returns 404 error if the specified migration is not in progress."},{"line_number":45,"context_line":"The behavior is retained as it is."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"Migration status transitions are as follows:"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"* Migration/resize"},{"line_number":50,"context_line":""}],"source_content_type":"text/x-rst","patch_set":26,"id":"7ffa3b31_b3b75987","line":47,"in_reply_to":"7ffa3b31_53ab75d5","updated":"2017-04-14 19:48:52.000000000","message":"I don\u0027t mind seeing it for context. We could move something like this into the nova devref though, that would be more visible long-term.\n\nOr maybe these are being pointed out for the definition of what in-progress means for the implementation of the spec?\n\nThis is why I think it\u0027s odd that we make this so granular as to just show in-progress migrations for a server. I don\u0027t know why we don\u0027t show all migration records for a server and let the end-user parse them as they see fit, or provide a --status parameter to filter them on the server side, something like that.\n\nAlso, these are really task_states, not migration states, right? Because looking at the DB query for in-progress migrations:\n\nhttps://github.com/openstack/nova/blob/ae637e70a72166067e09f3bbc3acb54e5d92771e/nova/db/sqlalchemy/api.py#L4772\n\nIt\u0027s these:\n\n[\u0027queued\u0027, \u0027preparing\u0027, \u0027running\u0027, \u0027post-migrating\u0027]","commit_id":"8d0f9b328cdc08907d46c1a8693398ce7e1553f7"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"c0edf911c38d809164f730c1d754f963fa620013","unresolved":false,"context_lines":[{"line_number":80,"context_line":"* revert resize"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"  - Nothing"},{"line_number":83,"context_line":"  - \u0027reverting\u0027 is not included because it doesn\u0027t execute disk copies."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"* evacuation"},{"line_number":86,"context_line":""}],"source_content_type":"text/x-rst","patch_set":26,"id":"7ffa3b31_33b8e928","line":83,"updated":"2017-04-14 18:42:08.000000000","message":"what does executing disk copies have to do with this spec? I\u0027m not understanding something here...","commit_id":"8d0f9b328cdc08907d46c1a8693398ce7e1553f7"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"c0edf911c38d809164f730c1d754f963fa620013","unresolved":false,"context_lines":[{"line_number":187,"context_line":""},{"line_number":188,"context_line":"* DELETE /servers/{server_id}/migrations/{migration_id}"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"  The migration is not a \u0027live-migration\u0027, it returns 400 error."},{"line_number":191,"context_line":"  It is a current behavior. (It is not changed.)"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"Security impact"}],"source_content_type":"text/x-rst","patch_set":26,"id":"7ffa3b31_13b5ed31","line":190,"updated":"2017-04-14 18:42:08.000000000","message":"s/The migration is not/If the migration is not/","commit_id":"8d0f9b328cdc08907d46c1a8693398ce7e1553f7"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"390af2b4c2f249003cc29f91b015ad7f6dddbac3","unresolved":false,"context_lines":[{"line_number":193,"context_line":"Security impact"},{"line_number":194,"context_line":"---------------"},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"Only Administrator can operate suggested functions."},{"line_number":197,"context_line":"So there is no security impact."},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"Notifications impact"}],"source_content_type":"text/x-rst","patch_set":26,"id":"7ffa3b31_560fe32d","line":196,"range":{"start_line":196,"start_character":0,"end_line":196,"end_character":50},"updated":"2017-04-14 19:48:52.000000000","message":"by default, but yes","commit_id":"8d0f9b328cdc08907d46c1a8693398ce7e1553f7"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"390af2b4c2f249003cc29f91b015ad7f6dddbac3","unresolved":false,"context_lines":[{"line_number":211,"context_line":""},{"line_number":212,"context_line":"None"},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"Security impact"},{"line_number":215,"context_line":"---------------"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"Only Administrator can operate suggested functions."},{"line_number":218,"context_line":"So there is no security impact."},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"Notifications impact"},{"line_number":221,"context_line":"--------------------"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"None"},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"Other end user impact"},{"line_number":226,"context_line":"---------------------"},{"line_number":227,"context_line":""},{"line_number":228,"context_line":"The novaclient and openstackclient are modified to specify a migration type."},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"Performance Impact"},{"line_number":231,"context_line":"------------------"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"None"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"Other deployer impact"},{"line_number":236,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":26,"id":"7ffa3b31_16195b78","line":233,"range":{"start_line":214,"start_character":0,"end_line":233,"end_character":4},"updated":"2017-04-14 19:48:52.000000000","message":"This is all duplicated. Let\u0027s clean this up in an amendment.","commit_id":"8d0f9b328cdc08907d46c1a8693398ce7e1553f7"}]}
