)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"91374c3865005607263cca2efe18e9f2688c2a53","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"APIImpact"},{"line_number":20,"context_line":"Change-Id: I57f3cb045a5f050931dc6c0fe9786ddd7dd0a2d7"},{"line_number":21,"context_line":"Previously-approved: Juno"},{"line_number":22,"context_line":"Implements: blueprint cold-migration-with-target-ocata"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":18,"id":"ba5da102_6104137e","line":21,"range":{"start_line":21,"start_character":0,"end_line":21,"end_character":25},"updated":"2016-10-28 10:22:49.000000000","message":"I don\u0027t think it\u0027s true, we were not proposing the concept of the force flag by the Juno BP.","commit_id":"5cd1d865c26481debdc702e300971126e98b7102"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"db6abc8048f7e5a545d00606e24ba655d6eb5eb7","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"APIImpact"},{"line_number":20,"context_line":"Change-Id: I57f3cb045a5f050931dc6c0fe9786ddd7dd0a2d7"},{"line_number":21,"context_line":"Previously-approved: Juno"},{"line_number":22,"context_line":"Implements: blueprint cold-migration-with-target-ocata"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":18,"id":"ba5da102_0f27e464","line":21,"range":{"start_line":21,"start_character":0,"end_line":21,"end_character":25},"in_reply_to":"ba5da102_6104137e","updated":"2016-10-31 08:57:49.000000000","message":"Done","commit_id":"5cd1d865c26481debdc702e300971126e98b7102"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"91374c3865005607263cca2efe18e9f2688c2a53","unresolved":false,"context_lines":[{"line_number":19,"context_line":"APIImpact"},{"line_number":20,"context_line":"Change-Id: I57f3cb045a5f050931dc6c0fe9786ddd7dd0a2d7"},{"line_number":21,"context_line":"Previously-approved: Juno"},{"line_number":22,"context_line":"Implements: blueprint cold-migration-with-target-ocata"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":18,"id":"ba5da102_81092798","line":22,"range":{"start_line":22,"start_character":0,"end_line":22,"end_character":10},"updated":"2016-10-28 10:22:49.000000000","message":"Not true, that patch just describes the effort, not implements it :-)","commit_id":"5cd1d865c26481debdc702e300971126e98b7102"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"db6abc8048f7e5a545d00606e24ba655d6eb5eb7","unresolved":false,"context_lines":[{"line_number":19,"context_line":"APIImpact"},{"line_number":20,"context_line":"Change-Id: I57f3cb045a5f050931dc6c0fe9786ddd7dd0a2d7"},{"line_number":21,"context_line":"Previously-approved: Juno"},{"line_number":22,"context_line":"Implements: blueprint cold-migration-with-target-ocata"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":18,"id":"ba5da102_2f2ae82c","line":22,"range":{"start_line":22,"start_character":0,"end_line":22,"end_character":10},"in_reply_to":"ba5da102_81092798","updated":"2016-10-31 08:57:49.000000000","message":"Done","commit_id":"5cd1d865c26481debdc702e300971126e98b7102"}],"specs/ocata/approved/check-destination-on-cold-migration.rst":[{"author":{"_account_id":7461,"name":"Paul Murray","email":"pmurray@hpe.com","username":"ptm"},"change_message_id":"5d5ed614c0d6209487de1f5739bf6ffa4f9233ca","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        }"},{"line_number":95,"context_line":"    }"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"If \u0027force\u0027 flag is true, checking the destionation host is not performed."},{"line_number":98,"context_line":"If false, the destionation host is checked whether it satisfies scheduling"},{"line_number":99,"context_line":"contraints or not."},{"line_number":100,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"1aa78d24_288bc91f","line":97,"updated":"2016-07-11 14:17:10.000000000","message":"This should be the other way around: if force \u003d True do not check the destination. If force \u003d False or None do check the destination.","commit_id":"06974b92d7a388b3135fa703ea3ee41a92cc6fad"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"32d83697e535428f77c88b2e05df7e2cadc9331e","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        }"},{"line_number":95,"context_line":"    }"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"If \u0027force\u0027 flag is true, checking the destionation host is not performed."},{"line_number":98,"context_line":"If false, the destionation host is checked whether it satisfies scheduling"},{"line_number":99,"context_line":"contraints or not."},{"line_number":100,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"1aa78d24_acd4c81f","line":97,"in_reply_to":"1aa78d24_288bc91f","updated":"2016-07-12 06:04:50.000000000","message":"Done.\nBut it is more accurate to use \u0027null\u0027 instead of \u0027None\u0027 because it is JSON format.","commit_id":"06974b92d7a388b3135fa703ea3ee41a92cc6fad"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"276d9f05c7617161e2d6de892f3c167b292af5bf","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"After \u0027cold-migration-with-target-ocata\u0027 [1] blueprint is implemented,"},{"line_number":14,"context_line":"provide a way to make sure that resource allocation is consistent for"},{"line_number":15,"context_line":"the cold migration operation when a destination host is specified."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"This blueprint (spec) is applying same function of"},{"line_number":18,"context_line":"\u0027check-destination-on-migrations\u0027 [2] to the cold migration"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a95cdbc_53263f17","line":15,"updated":"2016-10-04 17:20:47.000000000","message":"We\u0027re already fixing other things to validate with the scheduler... Why do this in two pieces? Meaning, why not make \"checks with the scheduler\" a part of the base design for targetable-cold-migration from the start?","commit_id":"875c40ce21f6f3790de9dfcf20f695fd410d9df0"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"b9f637eea8b42dd999e97541e4f524e9957b4c52","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"After \u0027cold-migration-with-target-ocata\u0027 [1] blueprint is implemented,"},{"line_number":14,"context_line":"provide a way to make sure that resource allocation is consistent for"},{"line_number":15,"context_line":"the cold migration operation when a destination host is specified."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"This blueprint (spec) is applying same function of"},{"line_number":18,"context_line":"\u0027check-destination-on-migrations\u0027 [2] to the cold migration"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a95cdbc_59d0701f","line":15,"in_reply_to":"1a95cdbc_53263f17","updated":"2016-10-08 02:28:51.000000000","message":"There was the approved spec for target host in juno. The spec didn\u0027t mention \u0027force\u0027 flag. ( https://review.openstack.org/#/c/88755/ )\nAnd the other cases (evacuate, etc.), there was the spec for checking scheduler rules ( https://review.openstack.org/#/c/296408/ ), which didn\u0027t include target host.\nSo I just made two specs.","commit_id":"875c40ce21f6f3790de9dfcf20f695fd410d9df0"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"d0414069f4655a02cfa1922127efdeb81fb3af70","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"After \u0027cold-migration-with-target-ocata\u0027 [1] blueprint is implemented,"},{"line_number":14,"context_line":"provide a way to make sure that resource allocation is consistent for"},{"line_number":15,"context_line":"the cold migration operation when a destination host is specified."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"This blueprint (spec) is applying same function of"},{"line_number":18,"context_line":"\u0027check-destination-on-migrations\u0027 [2] to the cold migration"}],"source_content_type":"text/x-rst","patch_set":12,"id":"fa6399be_0b58b431","line":15,"in_reply_to":"1a95cdbc_59d0701f","updated":"2016-10-12 14:53:15.000000000","message":"So thats not a good reason, that juno spec was *before* force flag was added.","commit_id":"875c40ce21f6f3790de9dfcf20f695fd410d9df0"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"c8ab9f3b3f35b2ffc2eff161c8ada654468e76a8","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"Some of the normal usecases (verifying the destination) could be :"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"As an operator, I want to make sure that the destination host"},{"line_number":40,"context_line":"I\u0027m providing when cold migrating a specific instance would be correct"},{"line_number":41,"context_line":"and wouldn\u0027t break my internal cloud because of a discrepancy between"},{"line_number":42,"context_line":"how I calculate the destination host capacity and"},{"line_number":43,"context_line":"how the scheduler is taking in account resource allocation ratio."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a95cdbc_ed9a07c5","line":43,"range":{"start_line":39,"start_character":0,"end_line":43,"end_character":65},"updated":"2016-10-04 18:16:07.000000000","message":"This use case seems to just require \"force\" should be False and the value is the same as the default according to line 57.\n\nI think here should describe a use case why we need \"force\" as True.","commit_id":"875c40ce21f6f3790de9dfcf20f695fd410d9df0"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"f1b1f195e6cfa4d49aca286ce06e105932fbfceb","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"Some of the normal usecases (verifying the destination) could be :"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"As an operator, I want to make sure that the destination host"},{"line_number":40,"context_line":"I\u0027m providing when cold migrating a specific instance would be correct"},{"line_number":41,"context_line":"and wouldn\u0027t break my internal cloud because of a discrepancy between"},{"line_number":42,"context_line":"how I calculate the destination host capacity and"},{"line_number":43,"context_line":"how the scheduler is taking in account resource allocation ratio."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a95cdbc_c524e5b0","line":43,"range":{"start_line":39,"start_character":0,"end_line":43,"end_character":65},"in_reply_to":"1a95cdbc_4173c4b1","updated":"2016-10-06 13:58:18.000000000","message":"Done","commit_id":"875c40ce21f6f3790de9dfcf20f695fd410d9df0"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"2f8615b55fd75601e2ebf3213c4a8af9942884ca","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"Some of the normal usecases (verifying the destination) could be :"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"As an operator, I want to make sure that the destination host"},{"line_number":40,"context_line":"I\u0027m providing when cold migrating a specific instance would be correct"},{"line_number":41,"context_line":"and wouldn\u0027t break my internal cloud because of a discrepancy between"},{"line_number":42,"context_line":"how I calculate the destination host capacity and"},{"line_number":43,"context_line":"how the scheduler is taking in account resource allocation ratio."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a95cdbc_4173c4b1","line":43,"range":{"start_line":39,"start_character":0,"end_line":43,"end_character":65},"in_reply_to":"1a95cdbc_ed9a07c5","updated":"2016-10-04 19:46:42.000000000","message":"+1 ,seems this is important for add this param","commit_id":"875c40ce21f6f3790de9dfcf20f695fd410d9df0"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"c8ab9f3b3f35b2ffc2eff161c8ada654468e76a8","unresolved":false,"context_lines":[{"line_number":150,"context_line":"* Add a \u0027force\u0027 flag to API"},{"line_number":151,"context_line":"* Add processing checking destination host in the cold migration"},{"line_number":152,"context_line":"* Add nova functional tests"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"Dependencies"},{"line_number":156,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a95cdbc_4dcf7bb0","line":153,"updated":"2016-10-04 18:16:07.000000000","message":"All changes related to microversion should contain Tempest testing according to https://review.openstack.org/#/c/346080","commit_id":"875c40ce21f6f3790de9dfcf20f695fd410d9df0"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"f1b1f195e6cfa4d49aca286ce06e105932fbfceb","unresolved":false,"context_lines":[{"line_number":150,"context_line":"* Add a \u0027force\u0027 flag to API"},{"line_number":151,"context_line":"* Add processing checking destination host in the cold migration"},{"line_number":152,"context_line":"* Add nova functional tests"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"Dependencies"},{"line_number":156,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a95cdbc_5157c0cd","line":153,"in_reply_to":"1a95cdbc_4dcf7bb0","updated":"2016-10-06 13:58:18.000000000","message":"Done","commit_id":"875c40ce21f6f3790de9dfcf20f695fd410d9df0"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"1f061a08c6c7ff4a74307143783aac1e13772a45","unresolved":false,"context_lines":[{"line_number":92,"context_line":""},{"line_number":93,"context_line":"    {"},{"line_number":94,"context_line":"        \"migrate\": {"},{"line_number":95,"context_line":"            \"host\": \"tearget-host\","},{"line_number":96,"context_line":"            \"force\": True"},{"line_number":97,"context_line":"        }"},{"line_number":98,"context_line":"    }"}],"source_content_type":"text/x-rst","patch_set":13,"id":"fa6399be_d0266bb9","line":95,"range":{"start_line":95,"start_character":21,"end_line":95,"end_character":28},"updated":"2016-10-12 14:51:20.000000000","message":"Nit: target.","commit_id":"69469a967f2db8b5df34fba0fd1662d99e249a63"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"8e5f69ce743cb902823ead728d403b5fae467a22","unresolved":false,"context_lines":[{"line_number":92,"context_line":""},{"line_number":93,"context_line":"    {"},{"line_number":94,"context_line":"        \"migrate\": {"},{"line_number":95,"context_line":"            \"host\": \"tearget-host\","},{"line_number":96,"context_line":"            \"force\": True"},{"line_number":97,"context_line":"        }"},{"line_number":98,"context_line":"    }"}],"source_content_type":"text/x-rst","patch_set":13,"id":"fa6399be_a70eed38","line":95,"range":{"start_line":95,"start_character":21,"end_line":95,"end_character":28},"in_reply_to":"fa6399be_d0266bb9","updated":"2016-10-13 12:23:43.000000000","message":"Done","commit_id":"69469a967f2db8b5df34fba0fd1662d99e249a63"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"1f061a08c6c7ff4a74307143783aac1e13772a45","unresolved":false,"context_lines":[{"line_number":95,"context_line":"            \"host\": \"tearget-host\","},{"line_number":96,"context_line":"            \"force\": True"},{"line_number":97,"context_line":"        }"},{"line_number":98,"context_line":"    }"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"If \u0027force\u0027 is True, do not check the destination."},{"line_number":101,"context_line":"If \u0027force\u0027 is False or null or not provided,"}],"source_content_type":"text/x-rst","patch_set":13,"id":"fa6399be_705aff51","line":98,"updated":"2016-10-12 14:51:20.000000000","message":"I wonder if we should only release this version, rather than having a version without the explicit force option.","commit_id":"69469a967f2db8b5df34fba0fd1662d99e249a63"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"8e5f69ce743cb902823ead728d403b5fae467a22","unresolved":false,"context_lines":[{"line_number":95,"context_line":"            \"host\": \"tearget-host\","},{"line_number":96,"context_line":"            \"force\": True"},{"line_number":97,"context_line":"        }"},{"line_number":98,"context_line":"    }"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"If \u0027force\u0027 is True, do not check the destination."},{"line_number":101,"context_line":"If \u0027force\u0027 is False or null or not provided,"}],"source_content_type":"text/x-rst","patch_set":13,"id":"fa6399be_4a06f81d","line":98,"in_reply_to":"fa6399be_705aff51","updated":"2016-10-13 12:23:43.000000000","message":"Done","commit_id":"69469a967f2db8b5df34fba0fd1662d99e249a63"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"e1975ae0a6af387636a181a6fc82cfabf64b7fd0","unresolved":false,"context_lines":[{"line_number":159,"context_line":"Dependencies"},{"line_number":160,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"Now the target host cannot be specified in the cold migration operation."},{"line_number":163,"context_line":"So after \u0027cold-migration-with-target-ocata\u0027[1] blueprint is implemented,"},{"line_number":164,"context_line":"this function will be implemented."},{"line_number":165,"context_line":""},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"Testing"}],"source_content_type":"text/x-rst","patch_set":13,"id":"fa6399be_ab5ee80f","line":164,"range":{"start_line":162,"start_character":0,"end_line":164,"end_character":34},"updated":"2016-10-12 14:54:17.000000000","message":"Lets drop this dependency, and just add this microversion.","commit_id":"69469a967f2db8b5df34fba0fd1662d99e249a63"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"8e5f69ce743cb902823ead728d403b5fae467a22","unresolved":false,"context_lines":[{"line_number":159,"context_line":"Dependencies"},{"line_number":160,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"Now the target host cannot be specified in the cold migration operation."},{"line_number":163,"context_line":"So after \u0027cold-migration-with-target-ocata\u0027[1] blueprint is implemented,"},{"line_number":164,"context_line":"this function will be implemented."},{"line_number":165,"context_line":""},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"Testing"}],"source_content_type":"text/x-rst","patch_set":13,"id":"fa6399be_4a2d1894","line":164,"range":{"start_line":162,"start_character":0,"end_line":164,"end_character":34},"in_reply_to":"fa6399be_ab5ee80f","updated":"2016-10-13 12:23:43.000000000","message":"Done","commit_id":"69469a967f2db8b5df34fba0fd1662d99e249a63"}],"specs/ocata/approved/cold-migration-with-target-ocata.rst":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"4be084c76cb62dbbd7aa244adcc8d2ab1851fbb9","unresolved":false,"context_lines":[{"line_number":19,"context_line":"Problem description"},{"line_number":20,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Currently it can be performed to migrate an active VM instance to the"},{"line_number":23,"context_line":"destination node selected by custom HA plugin, but it cannot be performed"},{"line_number":24,"context_line":"to migrate an stopped VM instance the destination node selected"},{"line_number":25,"context_line":"by custom HA plugin."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"It is difficult to migrate a stopped VM instance to the new version"},{"line_number":28,"context_line":"compute node by aiming it when upgrading compute nodes."}],"source_content_type":"text/x-rst","patch_set":16,"id":"ba5da102_31c19be5","line":25,"range":{"start_line":22,"start_character":1,"end_line":25,"end_character":20},"updated":"2016-10-27 15:38:10.000000000","message":"You\u0027re confusing. Here, I guess you want to say that live-migrating supports providing a destination while cold-migrate is not.\n\nJust to make it clear, cold-migrate doesn\u0027t imply at all any VM state, because the instance can be live. It just means it will stop the VM, that\u0027s it.\nFWIW, that\u0027s even more confusing because evacuate supports providing a destination, while evacuate is actually designed to migrate dead instances (because the host is down).","commit_id":"9ec73f8faacd1fb70c75b94f84df379d943e2431"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"c6b1bae6a1749c66575662c079d762a34572eac7","unresolved":false,"context_lines":[{"line_number":19,"context_line":"Problem description"},{"line_number":20,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Currently it can be performed to migrate an active VM instance to the"},{"line_number":23,"context_line":"destination node selected by custom HA plugin, but it cannot be performed"},{"line_number":24,"context_line":"to migrate an stopped VM instance the destination node selected"},{"line_number":25,"context_line":"by custom HA plugin."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"It is difficult to migrate a stopped VM instance to the new version"},{"line_number":28,"context_line":"compute node by aiming it when upgrading compute nodes."}],"source_content_type":"text/x-rst","patch_set":16,"id":"ba5da102_f52544c2","line":25,"range":{"start_line":22,"start_character":1,"end_line":25,"end_character":20},"in_reply_to":"ba5da102_31c19be5","updated":"2016-10-28 06:50:29.000000000","message":"Done","commit_id":"9ec73f8faacd1fb70c75b94f84df379d943e2431"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"4be084c76cb62dbbd7aa244adcc8d2ab1851fbb9","unresolved":false,"context_lines":[{"line_number":27,"context_line":"It is difficult to migrate a stopped VM instance to the new version"},{"line_number":28,"context_line":"compute node by aiming it when upgrading compute nodes."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"When a target host is specified, if calling the destination"},{"line_number":31,"context_line":"Compute RPC API directly, it totally bypasses the scheduler."},{"line_number":32,"context_line":"Then it breaks the scheduler rules so it so it potentially breaks"},{"line_number":33,"context_line":"future boot requests due to some constraints not enforced"}],"source_content_type":"text/x-rst","patch_set":16,"id":"ba5da102_f4b6313c","line":30,"range":{"start_line":30,"start_character":0,"end_line":30,"end_character":32},"updated":"2016-10-27 15:38:10.000000000","message":"again, confusing. You\u0027re saying that cold-migrate doesn\u0027t support providing a destination, but here you mention a target host. Weird, no ?","commit_id":"9ec73f8faacd1fb70c75b94f84df379d943e2431"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"c6b1bae6a1749c66575662c079d762a34572eac7","unresolved":false,"context_lines":[{"line_number":27,"context_line":"It is difficult to migrate a stopped VM instance to the new version"},{"line_number":28,"context_line":"compute node by aiming it when upgrading compute nodes."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"When a target host is specified, if calling the destination"},{"line_number":31,"context_line":"Compute RPC API directly, it totally bypasses the scheduler."},{"line_number":32,"context_line":"Then it breaks the scheduler rules so it so it potentially breaks"},{"line_number":33,"context_line":"future boot requests due to some constraints not enforced"}],"source_content_type":"text/x-rst","patch_set":16,"id":"ba5da102_d5404059","line":30,"range":{"start_line":30,"start_character":0,"end_line":30,"end_character":32},"in_reply_to":"ba5da102_f4b6313c","updated":"2016-10-28 06:50:29.000000000","message":"Done","commit_id":"9ec73f8faacd1fb70c75b94f84df379d943e2431"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"4be084c76cb62dbbd7aa244adcc8d2ab1851fbb9","unresolved":false,"context_lines":[{"line_number":66,"context_line":"I\u0027m providing when cold migrating a specific instance would be correct"},{"line_number":67,"context_line":"and wouldn\u0027t break my internal cloud because of a discrepancy between"},{"line_number":68,"context_line":"how I calculate the destination host capacity and"},{"line_number":69,"context_line":"how the scheduler is taking in account resource allocation ratio."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"On the other hand, operators should be allowed to bypass the scheduler"},{"line_number":72,"context_line":"rule check when specifying a target host in order to ensure"}],"source_content_type":"text/x-rst","patch_set":16,"id":"ba5da102_74f861e6","line":69,"updated":"2016-10-27 15:38:10.000000000","message":"I guess you pasted my original usecase, but you need to modify it. Something like :\n\n - as an operator, I\u0027d like to propose a target as a possible destination but sometimes I\u0027d also like to force it.","commit_id":"9ec73f8faacd1fb70c75b94f84df379d943e2431"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"c6b1bae6a1749c66575662c079d762a34572eac7","unresolved":false,"context_lines":[{"line_number":66,"context_line":"I\u0027m providing when cold migrating a specific instance would be correct"},{"line_number":67,"context_line":"and wouldn\u0027t break my internal cloud because of a discrepancy between"},{"line_number":68,"context_line":"how I calculate the destination host capacity and"},{"line_number":69,"context_line":"how the scheduler is taking in account resource allocation ratio."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"On the other hand, operators should be allowed to bypass the scheduler"},{"line_number":72,"context_line":"rule check when specifying a target host in order to ensure"}],"source_content_type":"text/x-rst","patch_set":16,"id":"ba5da102_55043016","line":69,"in_reply_to":"ba5da102_74f861e6","updated":"2016-10-28 06:50:29.000000000","message":"Done","commit_id":"9ec73f8faacd1fb70c75b94f84df379d943e2431"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"4be084c76cb62dbbd7aa244adcc8d2ab1851fbb9","unresolved":false,"context_lines":[{"line_number":79,"context_line":"the target host for cold migration."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"In addition, add the function to check whether a destination host is"},{"line_number":82,"context_line":"in accordance with scheduler rules or not in cold migration."},{"line_number":83,"context_line":"Specifically to say, add setting \u0027requested_destination\u0027 of the RequestSpec"},{"line_number":84,"context_line":"object in nova/compute/api.py."},{"line_number":85,"context_line":""}],"source_content_type":"text/x-rst","patch_set":16,"id":"ba5da102_b4c11983","line":82,"updated":"2016-10-27 15:38:10.000000000","message":"Well, that\u0027s not in addition, that should be the default behaviour, to be clear :-)","commit_id":"9ec73f8faacd1fb70c75b94f84df379d943e2431"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"c6b1bae6a1749c66575662c079d762a34572eac7","unresolved":false,"context_lines":[{"line_number":79,"context_line":"the target host for cold migration."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"In addition, add the function to check whether a destination host is"},{"line_number":82,"context_line":"in accordance with scheduler rules or not in cold migration."},{"line_number":83,"context_line":"Specifically to say, add setting \u0027requested_destination\u0027 of the RequestSpec"},{"line_number":84,"context_line":"object in nova/compute/api.py."},{"line_number":85,"context_line":""}],"source_content_type":"text/x-rst","patch_set":16,"id":"ba5da102_b53bccea","line":82,"in_reply_to":"ba5da102_b4c11983","updated":"2016-10-28 06:50:29.000000000","message":"Done","commit_id":"9ec73f8faacd1fb70c75b94f84df379d943e2431"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"4be084c76cb62dbbd7aa244adcc8d2ab1851fbb9","unresolved":false,"context_lines":[{"line_number":81,"context_line":"In addition, add the function to check whether a destination host is"},{"line_number":82,"context_line":"in accordance with scheduler rules or not in cold migration."},{"line_number":83,"context_line":"Specifically to say, add setting \u0027requested_destination\u0027 of the RequestSpec"},{"line_number":84,"context_line":"object in nova/compute/api.py."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"This blueprint also provides a way for operators to bypass the scheduler,"},{"line_number":87,"context_line":"we will make the API for cold migration including a destination host"}],"source_content_type":"text/x-rst","patch_set":16,"id":"ba5da102_f452b1dc","line":84,"updated":"2016-10-27 15:38:10.000000000","message":"you should explain that we already support that field in the scheduler so you just need to fill it in.","commit_id":"9ec73f8faacd1fb70c75b94f84df379d943e2431"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"c6b1bae6a1749c66575662c079d762a34572eac7","unresolved":false,"context_lines":[{"line_number":81,"context_line":"In addition, add the function to check whether a destination host is"},{"line_number":82,"context_line":"in accordance with scheduler rules or not in cold migration."},{"line_number":83,"context_line":"Specifically to say, add setting \u0027requested_destination\u0027 of the RequestSpec"},{"line_number":84,"context_line":"object in nova/compute/api.py."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"This blueprint also provides a way for operators to bypass the scheduler,"},{"line_number":87,"context_line":"we will make the API for cold migration including a destination host"}],"source_content_type":"text/x-rst","patch_set":16,"id":"ba5da102_7531340b","line":84,"in_reply_to":"ba5da102_f452b1dc","updated":"2016-10-28 06:50:29.000000000","message":"Done","commit_id":"9ec73f8faacd1fb70c75b94f84df379d943e2431"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"4be084c76cb62dbbd7aa244adcc8d2ab1851fbb9","unresolved":false,"context_lines":[{"line_number":143,"context_line":"If \u0027force\u0027 is supplied in the request body and its value is true"},{"line_number":144,"context_line":"but the \u0027host\u0027 parameter is either null or not provided,"},{"line_number":145,"context_line":"then an HTTP 400 Bad Request will be served to the user."},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"Security impact"},{"line_number":148,"context_line":"---------------"},{"line_number":149,"context_line":""}],"source_content_type":"text/x-rst","patch_set":16,"id":"ba5da102_d46ccd9e","line":146,"updated":"2016-10-27 15:38:10.000000000","message":"you should mention that a new microversion is needed.","commit_id":"9ec73f8faacd1fb70c75b94f84df379d943e2431"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"c6b1bae6a1749c66575662c079d762a34572eac7","unresolved":false,"context_lines":[{"line_number":143,"context_line":"If \u0027force\u0027 is supplied in the request body and its value is true"},{"line_number":144,"context_line":"but the \u0027host\u0027 parameter is either null or not provided,"},{"line_number":145,"context_line":"then an HTTP 400 Bad Request will be served to the user."},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"Security impact"},{"line_number":148,"context_line":"---------------"},{"line_number":149,"context_line":""}],"source_content_type":"text/x-rst","patch_set":16,"id":"ba5da102_f55e2444","line":146,"in_reply_to":"ba5da102_d46ccd9e","updated":"2016-10-28 06:50:29.000000000","message":"Done","commit_id":"9ec73f8faacd1fb70c75b94f84df379d943e2431"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"cfb6377b6198eaa836b160e5e714db236895ca33","unresolved":false,"context_lines":[{"line_number":41,"context_line":"  There is a customized HA plugin which automatically performs migrations"},{"line_number":42,"context_line":"  under certain conditions, and the HA plugin is able to intelligently"},{"line_number":43,"context_line":"  pick up destinations, but only live migrations support specifying"},{"line_number":44,"context_line":"  destinations."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"  At the moment cold migration do not support migrate a VM instance with target"},{"line_number":47,"context_line":"  host, this blueprint adds this feature to nova so that above scenario"}],"source_content_type":"text/x-rst","patch_set":18,"id":"ba5da102_8663fdb0","line":44,"updated":"2016-10-28 10:19:15.000000000","message":"I think you should be more generic in the spec saying that sometimes some foo that can be either an operator or a script decides which host is the best suited to accept a migration and then wants to perform it.","commit_id":"5cd1d865c26481debdc702e300971126e98b7102"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"db6abc8048f7e5a545d00606e24ba655d6eb5eb7","unresolved":false,"context_lines":[{"line_number":41,"context_line":"  There is a customized HA plugin which automatically performs migrations"},{"line_number":42,"context_line":"  under certain conditions, and the HA plugin is able to intelligently"},{"line_number":43,"context_line":"  pick up destinations, but only live migrations support specifying"},{"line_number":44,"context_line":"  destinations."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"  At the moment cold migration do not support migrate a VM instance with target"},{"line_number":47,"context_line":"  host, this blueprint adds this feature to nova so that above scenario"}],"source_content_type":"text/x-rst","patch_set":18,"id":"ba5da102_b2b57b32","line":44,"in_reply_to":"ba5da102_8663fdb0","updated":"2016-10-31 08:57:49.000000000","message":"Done","commit_id":"5cd1d865c26481debdc702e300971126e98b7102"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"cfb6377b6198eaa836b160e5e714db236895ca33","unresolved":false,"context_lines":[{"line_number":47,"context_line":"  host, this blueprint adds this feature to nova so that above scenario"},{"line_number":48,"context_line":"  can be satisified."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"  It also makes cold migration consistent with live-migrate operations as live"},{"line_number":51,"context_line":"  migration support migration with and without target host."},{"line_number":52,"context_line":"  (This use case is transcribed from the blueprint [1] spec.)"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"* Upgrading compute nodes"},{"line_number":55,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"ba5da102_860a1dd1","line":52,"range":{"start_line":50,"start_character":0,"end_line":52,"end_character":61},"updated":"2016-10-28 10:19:15.000000000","message":"that looks honestly to me the best rationale for that blueprint. I\u0027d ideally love to have all our move operations being consistent.","commit_id":"5cd1d865c26481debdc702e300971126e98b7102"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"db6abc8048f7e5a545d00606e24ba655d6eb5eb7","unresolved":false,"context_lines":[{"line_number":47,"context_line":"  host, this blueprint adds this feature to nova so that above scenario"},{"line_number":48,"context_line":"  can be satisified."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"  It also makes cold migration consistent with live-migrate operations as live"},{"line_number":51,"context_line":"  migration support migration with and without target host."},{"line_number":52,"context_line":"  (This use case is transcribed from the blueprint [1] spec.)"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"* Upgrading compute nodes"},{"line_number":55,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"ba5da102_9256b7d0","line":52,"range":{"start_line":50,"start_character":0,"end_line":52,"end_character":61},"in_reply_to":"ba5da102_860a1dd1","updated":"2016-10-31 08:57:49.000000000","message":"Done","commit_id":"5cd1d865c26481debdc702e300971126e98b7102"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"cfb6377b6198eaa836b160e5e714db236895ca33","unresolved":false,"context_lines":[{"line_number":51,"context_line":"  migration support migration with and without target host."},{"line_number":52,"context_line":"  (This use case is transcribed from the blueprint [1] spec.)"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"* Upgrading compute nodes"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"  When upgrading compute nodes (replacing old hardware to new one or"},{"line_number":57,"context_line":"  OS major version up), running and stopped VM instances have to be migrated to"},{"line_number":58,"context_line":"  another compute node."},{"line_number":59,"context_line":"  And in case of rolling upgrade, old and new version compute nodes coexists."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"  After upgrading one compute node, we migrate the existing running/stopped VMs"},{"line_number":62,"context_line":"  from an old compute node to the new compute node with specifying"}],"source_content_type":"text/x-rst","patch_set":18,"id":"ba5da102_615ed3ea","line":59,"range":{"start_line":54,"start_character":0,"end_line":59,"end_character":77},"updated":"2016-10-28 10:19:15.000000000","message":"I don\u0027t think it\u0027s really necessary to explain that, you can safely cut that.","commit_id":"5cd1d865c26481debdc702e300971126e98b7102"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"db6abc8048f7e5a545d00606e24ba655d6eb5eb7","unresolved":false,"context_lines":[{"line_number":51,"context_line":"  migration support migration with and without target host."},{"line_number":52,"context_line":"  (This use case is transcribed from the blueprint [1] spec.)"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"* Upgrading compute nodes"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"  When upgrading compute nodes (replacing old hardware to new one or"},{"line_number":57,"context_line":"  OS major version up), running and stopped VM instances have to be migrated to"},{"line_number":58,"context_line":"  another compute node."},{"line_number":59,"context_line":"  And in case of rolling upgrade, old and new version compute nodes coexists."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"  After upgrading one compute node, we migrate the existing running/stopped VMs"},{"line_number":62,"context_line":"  from an old compute node to the new compute node with specifying"}],"source_content_type":"text/x-rst","patch_set":18,"id":"ba5da102_efd63026","line":59,"range":{"start_line":54,"start_character":0,"end_line":59,"end_character":77},"in_reply_to":"ba5da102_615ed3ea","updated":"2016-10-31 08:57:49.000000000","message":"Done","commit_id":"5cd1d865c26481debdc702e300971126e98b7102"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"cfb6377b6198eaa836b160e5e714db236895ca33","unresolved":false,"context_lines":[{"line_number":96,"context_line":""},{"line_number":97,"context_line":"None"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"* Upgrading compute nodes"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"If changing settings related with scheduler (filters, image properties,"},{"line_number":102,"context_line":"flavor extra specs, aggregate metadata) temporarily, it might be able to"}],"source_content_type":"text/x-rst","patch_set":18,"id":"ba5da102_216dbb98","line":99,"updated":"2016-10-28 10:19:15.000000000","message":"I don\u0027t think you need those 2 bullet points.","commit_id":"5cd1d865c26481debdc702e300971126e98b7102"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"db6abc8048f7e5a545d00606e24ba655d6eb5eb7","unresolved":false,"context_lines":[{"line_number":96,"context_line":""},{"line_number":97,"context_line":"None"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"* Upgrading compute nodes"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"If changing settings related with scheduler (filters, image properties,"},{"line_number":102,"context_line":"flavor extra specs, aggregate metadata) temporarily, it might be able to"}],"source_content_type":"text/x-rst","patch_set":18,"id":"ba5da102_f261b3a9","line":99,"in_reply_to":"ba5da102_216dbb98","updated":"2016-10-31 08:57:49.000000000","message":"Done.\nAll description in this section is removed.","commit_id":"5cd1d865c26481debdc702e300971126e98b7102"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"983a7c3d9dfcbfa5c35881cb646d857bb280a642","unresolved":false,"context_lines":[{"line_number":77,"context_line":"    {"},{"line_number":78,"context_line":"        \"migrate\": {"},{"line_number":79,"context_line":"            \"host\": \"target-host\","},{"line_number":80,"context_line":"            \"force\": True"},{"line_number":81,"context_line":"        }"},{"line_number":82,"context_line":"    }"},{"line_number":83,"context_line":""}],"source_content_type":"text/x-rst","patch_set":19,"id":"ba5da102_eae5f7a3","line":80,"updated":"2016-11-02 08:34:18.000000000","message":"What will be the default value for \"force\" ?","commit_id":"fabbda3e6831999faec6baa3c4ff5192db08d5ea"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"983a7c3d9dfcbfa5c35881cb646d857bb280a642","unresolved":false,"context_lines":[{"line_number":82,"context_line":"    }"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"If \u0027force\u0027 is True, do not check the destination."},{"line_number":85,"context_line":"If \u0027force\u0027 is False or null or not provided,"},{"line_number":86,"context_line":"do check the destination."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"If \u0027force\u0027 is supplied in the request body and its value is true"},{"line_number":89,"context_line":"but the \u0027host\u0027 parameter is either null or not provided,"}],"source_content_type":"text/x-rst","patch_set":19,"id":"ba5da102_0aa22b4b","line":86,"range":{"start_line":85,"start_character":28,"end_line":86,"end_character":25},"updated":"2016-11-02 08:34:18.000000000","message":"nevermind, got my answer.","commit_id":"fabbda3e6831999faec6baa3c4ff5192db08d5ea"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"983a7c3d9dfcbfa5c35881cb646d857bb280a642","unresolved":false,"context_lines":[{"line_number":86,"context_line":"do check the destination."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"If \u0027force\u0027 is supplied in the request body and its value is true"},{"line_number":89,"context_line":"but the \u0027host\u0027 parameter is either null or not provided,"},{"line_number":90,"context_line":"then an HTTP 400 Bad Request will be served to the user."},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"Microversion is bumped up."}],"source_content_type":"text/x-rst","patch_set":19,"id":"ba5da102_aabdbf69","line":89,"range":{"start_line":89,"start_character":25,"end_line":89,"end_character":56},"updated":"2016-11-02 08:34:18.000000000","message":"just make sure in your implementation that the host field can be optional then.","commit_id":"fabbda3e6831999faec6baa3c4ff5192db08d5ea"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"e57eeadb5ae28013e32a60db67c382c9f1bd2274","unresolved":false,"context_lines":[{"line_number":86,"context_line":"do check the destination."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"If \u0027force\u0027 is supplied in the request body and its value is true"},{"line_number":89,"context_line":"but the \u0027host\u0027 parameter is either null or not provided,"},{"line_number":90,"context_line":"then an HTTP 400 Bad Request will be served to the user."},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"Microversion is bumped up."}],"source_content_type":"text/x-rst","patch_set":19,"id":"ba5da102_01e1052d","line":89,"range":{"start_line":89,"start_character":25,"end_line":89,"end_character":56},"in_reply_to":"ba5da102_aabdbf69","updated":"2016-11-03 04:17:32.000000000","message":"Sorry. The \u0027host\u0027 parameter is required because of consistency with a live migration API. So the description is modified.","commit_id":"fabbda3e6831999faec6baa3c4ff5192db08d5ea"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"326d9e5c352e6e92199ef526c706d3ceb08258c0","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"The aim of this feature is to let operators cold migrate instances with"},{"line_number":14,"context_line":"target host manually."},{"line_number":15,"context_line":"In addition, provide a way to make sure that resource allocation is"},{"line_number":16,"context_line":"consistent for the cold migration operation when a destination host"},{"line_number":17,"context_line":"is specified."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Problem description"},{"line_number":20,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":22,"id":"9a629dbe_c0a1ebf9","line":17,"range":{"start_line":15,"start_character":0,"end_line":17,"end_character":13},"updated":"2016-11-10 12:25:37.000000000","message":"Nit: I am not sure we need this extra bit here.","commit_id":"552efae39f9e461d61f5e85d1e9479447caba433"},{"author":{"_account_id":6804,"name":"bruce-benjamin","email":"bruce.benjamin@jhuapl.edu","username":"bruce-benjamin"},"change_message_id":"fde12d4aa79bd6e3d6d167740c54bd73b625c5cf","unresolved":false,"context_lines":[{"line_number":24,"context_line":"when a target host is specified on the live migration operation."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"But a target host cannot be specified on the cold migration operation."},{"line_number":27,"context_line":"It is inconsistent with them."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Use Cases"},{"line_number":30,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":22,"id":"9a629dbe_43004566","line":27,"range":{"start_line":27,"start_character":0,"end_line":27,"end_character":28},"updated":"2016-11-11 19:32:47.000000000","message":"suggestion for clarity...\n\ns/inconsistent with them/inconsistent with the live migration operation, and both of these operations have similar circumstances when the host needs to be specified./","commit_id":"552efae39f9e461d61f5e85d1e9479447caba433"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"326d9e5c352e6e92199ef526c706d3ceb08258c0","unresolved":false,"context_lines":[{"line_number":32,"context_line":"It is same as the live migration use case."},{"line_number":33,"context_line":"Sometimes an operator or a script decides which host is the best"},{"line_number":34,"context_line":"suited to accept a cold migration and then wants to perform it."},{"line_number":35,"context_line":"A consistency with a live migration case should be ensured."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"Proposed change"},{"line_number":38,"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":22,"id":"9a629dbe_6049ff5f","line":35,"range":{"start_line":35,"start_character":0,"end_line":35,"end_character":3},"updated":"2016-11-10 12:25:37.000000000","message":"Nit: Maybe dropping the \"A\" would make this sentence read better.","commit_id":"552efae39f9e461d61f5e85d1e9479447caba433"},{"author":{"_account_id":6804,"name":"bruce-benjamin","email":"bruce.benjamin@jhuapl.edu","username":"bruce-benjamin"},"change_message_id":"fde12d4aa79bd6e3d6d167740c54bd73b625c5cf","unresolved":false,"context_lines":[{"line_number":45,"context_line":"as a default behaviour."},{"line_number":46,"context_line":"Specifically to say, add setting \u0027requested_destination\u0027 of the RequestSpec"},{"line_number":47,"context_line":"object in nova/compute/api.py. The field has already been supported"},{"line_number":48,"context_line":"in the scheduler, so it just need to be filled in."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"This blueprint also provides a way for operators to bypass the scheduler,"},{"line_number":51,"context_line":"we will make the API for cold migration including a destination host"}],"source_content_type":"text/x-rst","patch_set":22,"id":"9a629dbe_237b517c","line":48,"range":{"start_line":48,"start_character":29,"end_line":48,"end_character":33},"updated":"2016-11-11 19:32:47.000000000","message":"s/need/needs/","commit_id":"552efae39f9e461d61f5e85d1e9479447caba433"},{"author":{"_account_id":6804,"name":"bruce-benjamin","email":"bruce.benjamin@jhuapl.edu","username":"bruce-benjamin"},"change_message_id":"fde12d4aa79bd6e3d6d167740c54bd73b625c5cf","unresolved":false,"context_lines":[{"line_number":48,"context_line":"in the scheduler, so it just need to be filled in."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"This blueprint also provides a way for operators to bypass the scheduler,"},{"line_number":51,"context_line":"we will make the API for cold migration including a destination host"},{"line_number":52,"context_line":"by adding an request body argument called \u0027force\u0027"},{"line_number":53,"context_line":"(accepting True or False, defaulted to False) and"},{"line_number":54,"context_line":"the corresponding CLI methods will expose that force option."},{"line_number":55,"context_line":"If the microversion asked by the client is older than the version"}],"source_content_type":"text/x-rst","patch_set":22,"id":"9a629dbe_a38f6173","line":52,"range":{"start_line":51,"start_character":30,"end_line":52,"end_character":2},"updated":"2016-11-11 19:32:47.000000000","message":"s/migration including a destination host by/migration, including a destination host, by/","commit_id":"552efae39f9e461d61f5e85d1e9479447caba433"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"326d9e5c352e6e92199ef526c706d3ceb08258c0","unresolved":false,"context_lines":[{"line_number":108,"context_line":"---------------------"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"python-novaclient will be modified to have a target host argument as"},{"line_number":111,"context_line":"optional. And add the \u0027force\u0027 argument as optional."},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"nova migrate [--force True] \u003cserver\u003e [\u003chost\u003e]"},{"line_number":114,"context_line":""}],"source_content_type":"text/x-rst","patch_set":22,"id":"9a629dbe_40dcfb72","line":111,"updated":"2016-11-10 12:25:37.000000000","message":"Nit: I think we should also update OSC, but lets leave that debate for later.","commit_id":"552efae39f9e461d61f5e85d1e9479447caba433"}]}
