)]}'
{"specs/mitaka/approved/making_live_migration_api_friendly.rst":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"6bd897acb40fb51e6f4221123392282f009210b6","unresolved":false,"context_lines":[{"line_number":49,"context_line":"the value is None, Nova will detect whether source/destination hosts on the"},{"line_number":50,"context_line":"shared storage. If they are on shared storage, the live-migration won\u0027t do"},{"line_number":51,"context_line":"block migration. If they aren\u0027t on shared storage, the block migration will be"},{"line_number":52,"context_line":"executed."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"Make the `host` flag optional, and the default value is None. The behaviour"},{"line_number":55,"context_line":"won\u0027t change."}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a8ffd7b_39800ff7","line":52,"updated":"2015-11-26 11:23:38.000000000","message":"If they are on shared storage, nova returns BadReqeust response?\n\nor operating non-block migration instead?\n\nauto-switch(non-block migration) seems difficult to understand the behavior from users because \"block_migration\" meaning are different on the situations.\n\nI feel it is easy to understand the situation if returning BadRequest to users. They can understand \"oops, I need to specify the other host or block_migration False\".\nSo they can make their decisions.","commit_id":"8769780da55b69edfd5ee19b64b0e78d9ce560b5"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"7869a67f3db0de7df2f74ce1820e184811d01d7e","unresolved":false,"context_lines":[{"line_number":49,"context_line":"the value is None, Nova will detect whether source/destination hosts on the"},{"line_number":50,"context_line":"shared storage. If they are on shared storage, the live-migration won\u0027t do"},{"line_number":51,"context_line":"block migration. If they aren\u0027t on shared storage, the block migration will be"},{"line_number":52,"context_line":"executed."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"Make the `host` flag optional, and the default value is None. The behaviour"},{"line_number":55,"context_line":"won\u0027t change."}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a8ffd7b_80a892dc","line":52,"in_reply_to":"9a8ffd7b_39800ff7","updated":"2015-11-26 15:03:07.000000000","message":"I\u0027m not sure I understand your question. The goal of auto-switch is that user needn\u0027t check the host whether on the shared storage or not. This resolve the problem which described at line 22. Return BadRequest is current API behaviour.","commit_id":"8769780da55b69edfd5ee19b64b0e78d9ce560b5"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"e76836e16ec82d5351a655a4d4a205f880cd1be4","unresolved":false,"context_lines":[{"line_number":49,"context_line":"the value is None, Nova will detect whether source/destination hosts on the"},{"line_number":50,"context_line":"shared storage. If they are on shared storage, the live-migration won\u0027t do"},{"line_number":51,"context_line":"block migration. If they aren\u0027t on shared storage, the block migration will be"},{"line_number":52,"context_line":"executed."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"Make the `host` flag optional, and the default value is None. The behaviour"},{"line_number":55,"context_line":"won\u0027t change."}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a8ffd7b_7cabb775","line":52,"in_reply_to":"9a8ffd7b_80a892dc","updated":"2015-11-27 10:35:14.000000000","message":"Well, I\u0027m pretty against finding a way to leak the infrastructure by getting some error, so I\u0027d rather prefer to do that automatically if the user doesn\u0027t specify it in the query.\n\nThat doesn\u0027t mean it can\u0027t be traced whether it was doing a block migration or not, we can still have logs (and potentially admin-only instance actions) for that.","commit_id":"8769780da55b69edfd5ee19b64b0e78d9ce560b5"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"e76836e16ec82d5351a655a4d4a205f880cd1be4","unresolved":false,"context_lines":[{"line_number":57,"context_line":"Making the `disk_over_commit` flag optional, and the default value is None."},{"line_number":58,"context_line":"When the value is None, the libvirt virt driver won\u0027t check any disk size"},{"line_number":59,"context_line":"usage. And the `disk_over_commit` will be removed in next release, due to"},{"line_number":60,"context_line":"the upgrade concern."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Alternatives"},{"line_number":63,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a8ffd7b_3cdf6f0e","line":60,"updated":"2015-11-27 10:35:14.000000000","message":"++","commit_id":"8769780da55b69edfd5ee19b64b0e78d9ce560b5"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"cdccee063d95048a28c911a034236259e4aff0ab","unresolved":false,"context_lines":[{"line_number":57,"context_line":"Making the `disk_over_commit` flag optional, and the default value is None."},{"line_number":58,"context_line":"When the value is None, the libvirt virt driver won\u0027t check any disk size"},{"line_number":59,"context_line":"usage. And the `disk_over_commit` will be removed in next release, due to"},{"line_number":60,"context_line":"the upgrade concern."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Alternatives"},{"line_number":63,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a8ffd7b_076b38f2","line":60,"in_reply_to":"9a8ffd7b_3cdf6f0e","updated":"2015-11-27 10:55:26.000000000","message":"sorry for this. I didn\u0027t remember why I didn\u0027t changed those words. This is really my middle version, but finally decision is remove it.","commit_id":"8769780da55b69edfd5ee19b64b0e78d9ce560b5"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"e76836e16ec82d5351a655a4d4a205f880cd1be4","unresolved":false,"context_lines":[{"line_number":90,"context_line":"REST API impact"},{"line_number":91,"context_line":"---------------"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"The block_migration and host flag will be optional, disk_over_commit flag will"},{"line_number":94,"context_line":"be removed, the json-schema as below::"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"  {"},{"line_number":97,"context_line":"    \u0027type\u0027: \u0027object\u0027,"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a8ffd7b_9c1bfbc9","line":94,"range":{"start_line":93,"start_character":52,"end_line":94,"end_character":10},"updated":"2015-11-27 10:35:14.000000000","message":"isn\u0027t that the contrary to L80 ?","commit_id":"8769780da55b69edfd5ee19b64b0e78d9ce560b5"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"e76836e16ec82d5351a655a4d4a205f880cd1be4","unresolved":false,"context_lines":[{"line_number":226,"context_line":"  driver."},{"line_number":227,"context_line":"* Implement skip the check of disk usage when the `disk_over_commit` value is"},{"line_number":228,"context_line":"  None"},{"line_number":229,"context_line":"* Make `block_migration`, `host` flags optional, and remove `disk_over_commit`"},{"line_number":230,"context_line":"  flag in the API."},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"Dependencies"},{"line_number":233,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a8ffd7b_fc09e784","line":230,"range":{"start_line":229,"start_character":53,"end_line":230,"end_character":17},"updated":"2015-11-27 10:35:14.000000000","message":"uh, I\u0027m a bit confused, that sounds the contrary to what you describe at L80, nope?","commit_id":"8769780da55b69edfd5ee19b64b0e78d9ce560b5"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"f3295cac8816b82e15110fd0301db456fdca1268","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Problem description"},{"line_number":17,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"There are two problems for `block_migration` flag in the current live-migration"},{"line_number":20,"context_line":"API."},{"line_number":21,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a8ffd7b_f2a7afa4","line":18,"updated":"2015-11-28 06:37:34.000000000","message":"I think you need to include a brief description of how the API currently works here to make the changes clearer. The audience for these specs isn\u0027t just developers, its deployers as well.","commit_id":"7c3856232b02715aef98e6ae55c721ecd6bfb42f"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"5b5af16a64b2128261f14692a39551cee79a1254","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Problem description"},{"line_number":17,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"There are two problems for `block_migration` flag in the current live-migration"},{"line_number":20,"context_line":"API."},{"line_number":21,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a8ffd7b_cb6bd683","line":18,"in_reply_to":"9a8ffd7b_f2a7afa4","updated":"2015-11-28 11:06:50.000000000","message":"got it, will update","commit_id":"7c3856232b02715aef98e6ae55c721ecd6bfb42f"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"f3295cac8816b82e15110fd0301db456fdca1268","unresolved":false,"context_lines":[{"line_number":25,"context_line":"  failed."},{"line_number":26,"context_line":"* When user passes `host` flag with None value, the scheduler will choose host"},{"line_number":27,"context_line":"  for user, but scheduler can\u0027t know the source/destination hosts are on the"},{"line_number":28,"context_line":"  shared storage. So there are many chances live-migration API failed."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"For `host` flag, the None value means let scheduler choose a host. For ease the"},{"line_number":31,"context_line":"usage, \u0027host\u0027 flag can be optional."}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a8ffd7b_b28e072c","line":28,"updated":"2015-11-28 06:37:34.000000000","message":"I\u0027m not sure I understand here.\n\nBlock migration doesn\u0027t require shared storage. So why does the scheduler need to know the topology of storage in the nova install?","commit_id":"7c3856232b02715aef98e6ae55c721ecd6bfb42f"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"5b5af16a64b2128261f14692a39551cee79a1254","unresolved":false,"context_lines":[{"line_number":25,"context_line":"  failed."},{"line_number":26,"context_line":"* When user passes `host` flag with None value, the scheduler will choose host"},{"line_number":27,"context_line":"  for user, but scheduler can\u0027t know the source/destination hosts are on the"},{"line_number":28,"context_line":"  shared storage. So there are many chances live-migration API failed."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"For `host` flag, the None value means let scheduler choose a host. For ease the"},{"line_number":31,"context_line":"usage, \u0027host\u0027 flag can be optional."}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a8ffd7b_8b086edb","line":28,"in_reply_to":"9a8ffd7b_b28e072c","updated":"2015-11-28 11:06:50.000000000","message":"yea, I didn\u0027t describe clear at here.\n\nActually I mean when user request block migration, but the host which scheduler selected may on the shared storage. The block migration can\u0027t execute on shared storage.","commit_id":"7c3856232b02715aef98e6ae55c721ecd6bfb42f"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"f3295cac8816b82e15110fd0301db456fdca1268","unresolved":false,"context_lines":[{"line_number":63,"context_line":"Ideally the Live-migration API will be improvement continuously. For the flag"},{"line_number":64,"context_line":"`block_migration`, there are two opinions on this:"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"* When `block_migration` flag is False, the scheduler will choice a host"},{"line_number":67,"context_line":"  which is on the shared storage with original host. When the value is True,"},{"line_number":68,"context_line":"  the scheduler will choice a host which isn\u0027t on the shared storage with"},{"line_number":69,"context_line":"  original host. This need some work for Nova to tracking the shared storage"}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a8ffd7b_327bf729","line":66,"updated":"2015-11-28 06:37:34.000000000","message":"s/choice/choose/","commit_id":"7c3856232b02715aef98e6ae55c721ecd6bfb42f"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"5b5af16a64b2128261f14692a39551cee79a1254","unresolved":false,"context_lines":[{"line_number":63,"context_line":"Ideally the Live-migration API will be improvement continuously. For the flag"},{"line_number":64,"context_line":"`block_migration`, there are two opinions on this:"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"* When `block_migration` flag is False, the scheduler will choice a host"},{"line_number":67,"context_line":"  which is on the shared storage with original host. When the value is True,"},{"line_number":68,"context_line":"  the scheduler will choice a host which isn\u0027t on the shared storage with"},{"line_number":69,"context_line":"  original host. This need some work for Nova to tracking the shared storage"}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a8ffd7b_ab0bf2d4","line":66,"in_reply_to":"9a8ffd7b_327bf729","updated":"2015-11-28 11:06:50.000000000","message":"Done","commit_id":"7c3856232b02715aef98e6ae55c721ecd6bfb42f"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"f3295cac8816b82e15110fd0301db456fdca1268","unresolved":false,"context_lines":[{"line_number":65,"context_line":""},{"line_number":66,"context_line":"* When `block_migration` flag is False, the scheduler will choice a host"},{"line_number":67,"context_line":"  which is on the shared storage with original host. When the value is True,"},{"line_number":68,"context_line":"  the scheduler will choice a host which isn\u0027t on the shared storage with"},{"line_number":69,"context_line":"  original host. This need some work for Nova to tracking the shared storage"},{"line_number":70,"context_line":"  to make scheduler choice right host."},{"line_number":71,"context_line":"* Remove `block_migration` flag totally, the API behaviour is always migrating"}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a8ffd7b_9292e34a","line":68,"updated":"2015-11-28 06:37:34.000000000","message":"s/choice/choose/","commit_id":"7c3856232b02715aef98e6ae55c721ecd6bfb42f"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"5b5af16a64b2128261f14692a39551cee79a1254","unresolved":false,"context_lines":[{"line_number":65,"context_line":""},{"line_number":66,"context_line":"* When `block_migration` flag is False, the scheduler will choice a host"},{"line_number":67,"context_line":"  which is on the shared storage with original host. When the value is True,"},{"line_number":68,"context_line":"  the scheduler will choice a host which isn\u0027t on the shared storage with"},{"line_number":69,"context_line":"  original host. This need some work for Nova to tracking the shared storage"},{"line_number":70,"context_line":"  to make scheduler choice right host."},{"line_number":71,"context_line":"* Remove `block_migration` flag totally, the API behaviour is always migrating"}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a8ffd7b_4b0e06e6","line":68,"in_reply_to":"9a8ffd7b_9292e34a","updated":"2015-11-28 11:06:50.000000000","message":"Done","commit_id":"7c3856232b02715aef98e6ae55c721ecd6bfb42f"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"f3295cac8816b82e15110fd0301db456fdca1268","unresolved":false,"context_lines":[{"line_number":69,"context_line":"  original host. This need some work for Nova to tracking the shared storage"},{"line_number":70,"context_line":"  to make scheduler choice right host."},{"line_number":71,"context_line":"* Remove `block_migration` flag totally, the API behaviour is always migrating"},{"line_number":72,"context_line":"  instance in one storage pool, this is the most of cases people choice."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"Anyway the shared storage can be tracked when this BP is implemented:"},{"line_number":75,"context_line":"https://blueprints.launchpad.net/nova/+spec/resource-providers"}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a8ffd7b_b295a733","line":72,"updated":"2015-11-28 06:37:34.000000000","message":"s/choice/choose/","commit_id":"7c3856232b02715aef98e6ae55c721ecd6bfb42f"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"e5678b5f0b157180c4b47ed6b7db8da9e5cd839d","unresolved":false,"context_lines":[{"line_number":69,"context_line":"  original host. This need some work for Nova to tracking the shared storage"},{"line_number":70,"context_line":"  to make scheduler choice right host."},{"line_number":71,"context_line":"* Remove `block_migration` flag totally, the API behaviour is always migrating"},{"line_number":72,"context_line":"  instance in one storage pool, this is the most of cases people choice."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"Anyway the shared storage can be tracked when this BP is implemented:"},{"line_number":75,"context_line":"https://blueprints.launchpad.net/nova/+spec/resource-providers"}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a8ffd7b_cb48b6ce","line":72,"in_reply_to":"9a8ffd7b_6b118a03","updated":"2015-11-28 11:50:35.000000000","message":"Emm... I should write \u0027people\u0027s choice\u0027. At here \u0027choice\u0027 is \"n.\"","commit_id":"7c3856232b02715aef98e6ae55c721ecd6bfb42f"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"5b5af16a64b2128261f14692a39551cee79a1254","unresolved":false,"context_lines":[{"line_number":69,"context_line":"  original host. This need some work for Nova to tracking the shared storage"},{"line_number":70,"context_line":"  to make scheduler choice right host."},{"line_number":71,"context_line":"* Remove `block_migration` flag totally, the API behaviour is always migrating"},{"line_number":72,"context_line":"  instance in one storage pool, this is the most of cases people choice."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"Anyway the shared storage can be tracked when this BP is implemented:"},{"line_number":75,"context_line":"https://blueprints.launchpad.net/nova/+spec/resource-providers"}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a8ffd7b_6b118a03","line":72,"in_reply_to":"9a8ffd7b_b295a733","updated":"2015-11-28 11:06:50.000000000","message":"Done","commit_id":"7c3856232b02715aef98e6ae55c721ecd6bfb42f"},{"author":{"_account_id":3189,"name":"Chet Burgess","email":"cfb@metacloud.com","username":"cfb-n"},"change_message_id":"52c2d3a2002196f60c83156f969fbff1b197c7fd","unresolved":false,"context_lines":[{"line_number":39,"context_line":"The `disk_over_commit` flag is libvirt driver specific. If the value is True,"},{"line_number":40,"context_line":"libvirt virt driver will check the image\u0027s virtual size with disk usable size."},{"line_number":41,"context_line":"If the value is False, libvirt virt driver will check the image\u0027s actual size"},{"line_number":42,"context_line":"with disk usable size. Nova API shouldn\u0027t expose any specific hypervisor"},{"line_number":43,"context_line":"detail. This flag confuses user also, in normally user only wants to use same"},{"line_number":44,"context_line":"policy of resource usage as scheduler doing."},{"line_number":45,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"9a8ffd7b_b9f8e8c5","line":42,"updated":"2015-11-30 21:50:48.000000000","message":"I would prefer that the behavior with/without the existing flag remains unchanged. There very well could be logic deployed at sites that depends on the API refusing to perform this operation under these circumstances.\n\nI recommend leaving the existing flag as is and add a new flag that causes the auto-magic behavior you described.","commit_id":"fa0e29a29620fc252d458344a8cdd910ff9f4a13"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"c47e19125dcaf276c27a4032e290710bd149fc9f","unresolved":false,"context_lines":[{"line_number":39,"context_line":"The `disk_over_commit` flag is libvirt driver specific. If the value is True,"},{"line_number":40,"context_line":"libvirt virt driver will check the image\u0027s virtual size with disk usable size."},{"line_number":41,"context_line":"If the value is False, libvirt virt driver will check the image\u0027s actual size"},{"line_number":42,"context_line":"with disk usable size. Nova API shouldn\u0027t expose any specific hypervisor"},{"line_number":43,"context_line":"detail. This flag confuses user also, in normally user only wants to use same"},{"line_number":44,"context_line":"policy of resource usage as scheduler doing."},{"line_number":45,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"9a8ffd7b_df2b4793","line":42,"in_reply_to":"9a8ffd7b_791fe0b7","updated":"2015-12-01 02:07:52.000000000","message":"Chet -- my reading of the spec is that if you don\u0027t want block migration, you can still set that value to False.","commit_id":"fa0e29a29620fc252d458344a8cdd910ff9f4a13"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"f0dafc73925bfd483dc60b5c8f8d0fd690faec79","unresolved":false,"context_lines":[{"line_number":39,"context_line":"The `disk_over_commit` flag is libvirt driver specific. If the value is True,"},{"line_number":40,"context_line":"libvirt virt driver will check the image\u0027s virtual size with disk usable size."},{"line_number":41,"context_line":"If the value is False, libvirt virt driver will check the image\u0027s actual size"},{"line_number":42,"context_line":"with disk usable size. Nova API shouldn\u0027t expose any specific hypervisor"},{"line_number":43,"context_line":"detail. This flag confuses user also, in normally user only wants to use same"},{"line_number":44,"context_line":"policy of resource usage as scheduler doing."},{"line_number":45,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"9a8ffd7b_19481487","line":42,"in_reply_to":"9a8ffd7b_791fe0b7","updated":"2015-11-30 22:03:50.000000000","message":"The alternative below talks about having block_migration with possible values of None, False, and True.  \"None\" (or not setting it) would result in automatic \"do the right thing\", while explicit \"False\" and \"True\" could be used to do the migration only if block migration is not needed (or needed).\n\nThe downside of this is that the default behaviour (where block_migration is not set) would change.  Some might object to that.","commit_id":"fa0e29a29620fc252d458344a8cdd910ff9f4a13"},{"author":{"_account_id":3189,"name":"Chet Burgess","email":"cfb@metacloud.com","username":"cfb-n"},"change_message_id":"c5142d7f7d3c76b234cf449523237e0870789358","unresolved":false,"context_lines":[{"line_number":39,"context_line":"The `disk_over_commit` flag is libvirt driver specific. If the value is True,"},{"line_number":40,"context_line":"libvirt virt driver will check the image\u0027s virtual size with disk usable size."},{"line_number":41,"context_line":"If the value is False, libvirt virt driver will check the image\u0027s actual size"},{"line_number":42,"context_line":"with disk usable size. Nova API shouldn\u0027t expose any specific hypervisor"},{"line_number":43,"context_line":"detail. This flag confuses user also, in normally user only wants to use same"},{"line_number":44,"context_line":"policy of resource usage as scheduler doing."},{"line_number":45,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"9a8ffd7b_791fe0b7","line":42,"in_reply_to":"9a8ffd7b_b9f8e8c5","updated":"2015-11-30 21:58:50.000000000","message":"Let me clarify a bit:\n\nI don\u0027t really care what happens to the existing flag as long as there is a micro version bump. What I care about is the ability to express things like \"Live Migrate this VM *only* if its *not* block\". The changes you propose make it difficult to do that. \n\nIn short I think the API needs to support the following use cases.\n\n1) Live Migrate only if block\n\n2) Live Migrate only if not block\n\n3) Auto-Magically Live Migrate the VM","commit_id":"fa0e29a29620fc252d458344a8cdd910ff9f4a13"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"73efae822d61878c3cf88546175cac3a7cae3837","unresolved":false,"context_lines":[{"line_number":39,"context_line":"The `disk_over_commit` flag is libvirt driver specific. If the value is True,"},{"line_number":40,"context_line":"libvirt virt driver will check the image\u0027s virtual size with disk usable size."},{"line_number":41,"context_line":"If the value is False, libvirt virt driver will check the image\u0027s actual size"},{"line_number":42,"context_line":"with disk usable size. Nova API shouldn\u0027t expose any specific hypervisor"},{"line_number":43,"context_line":"detail. This flag confuses user also, in normally user only wants to use same"},{"line_number":44,"context_line":"policy of resource usage as scheduler doing."},{"line_number":45,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"9a8ffd7b_9a162da6","line":42,"in_reply_to":"9a8ffd7b_df2b4793","updated":"2015-12-01 02:34:26.000000000","message":"@Chet, yea, actually the True/False values are still same meaning as before. You still can specify True/False to require block or non-block migration, if the nova can\u0027t do the required migration, the api will return fault.\n\nBut yea, the prefect thing as alternatives section described, it is due to depend on resource provider to track shared storage. At that time, we probably should think about use another parameter, \u0027block_migration\u0027 looks like confuse. But that is future work.","commit_id":"fa0e29a29620fc252d458344a8cdd910ff9f4a13"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"22b97b071f7b283ffd34944f82fe7177742f9bc7","unresolved":false,"context_lines":[{"line_number":239,"context_line":"This propose will add  new value of `None` for `block_migration` and"},{"line_number":240,"context_line":"`disk_over_commit`. When openstack cluster is in the progress of rolling"},{"line_number":241,"context_line":"upgrade, the old version compute nodes don\u0027t know this new value. So"},{"line_number":242,"context_line":"there is a check added in the Compute RPC API. If client can\u0027t send the new"},{"line_number":243,"context_line":"version Compute RPC API, a fault will be returned."},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"Assignee(s)"},{"line_number":246,"context_line":"-----------"}],"source_content_type":"text/x-rst","patch_set":17,"id":"9a8ffd7b_2bdf476a","line":243,"range":{"start_line":242,"start_character":46,"end_line":243,"end_character":50},"updated":"2015-12-02 16:41:33.000000000","message":"but that\u0027s asynchronous, right? I mean, do you want to call the Compute RPC API at the API call, or still from the conductor ? If the latter, how will you answer to the user that there was a problem ?","commit_id":"232e1648273b0a4a179df9f9ea35f7e84635e925"}],"specs/mitaka/approved/optional_block_migration_and_host_flags_in_live_migrate.rst":[{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"f8d7e8c7b75f77f434c1ab9d1e8558ef9cfbefea","unresolved":false,"context_lines":[{"line_number":61,"context_line":"which is on the shared storage with original host. When the value is False, the"},{"line_number":62,"context_line":"scheduler will chocie a host which isn\u0027t on the shared storage with original"},{"line_number":63,"context_line":"host. This need some work for Nova to tracking the shared storage to make"},{"line_number":64,"context_line":"scheduler choice right host."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"The shared storage can be tracked when this BP is implemented:"},{"line_number":67,"context_line":"https://blueprints.launchpad.net/nova/+spec/resource-providers"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba8a016a_2b659244","line":64,"updated":"2015-11-16 13:23:11.000000000","message":"ok, I think your bp depends on the bp below(resource-provider)? \n\nAnd, seems the logic is different to my thought\n\n:param block_migration: if true, prepare for block migration\nindicated that it\u0027s true, use block, so should a non-shared storage?","commit_id":"66f2063e2bcd93c1222311a5cb2ab216ab2e9c35"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"f89fa3e21b9c0b607c43e267b08835da71e7c176","unresolved":false,"context_lines":[{"line_number":61,"context_line":"which is on the shared storage with original host. When the value is False, the"},{"line_number":62,"context_line":"scheduler will chocie a host which isn\u0027t on the shared storage with original"},{"line_number":63,"context_line":"host. This need some work for Nova to tracking the shared storage to make"},{"line_number":64,"context_line":"scheduler choice right host."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"The shared storage can be tracked when this BP is implemented:"},{"line_number":67,"context_line":"https://blueprints.launchpad.net/nova/+spec/resource-providers"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba8a016a_62be5801","line":64,"in_reply_to":"ba8a016a_2b659244","updated":"2015-11-16 14:23:52.000000000","message":"This bp didn\u0027t depend on resource-provider. the thing I described here is something depend on that bp.\n\nAnd you are right....The words reverse...I will fix it. thanks","commit_id":"66f2063e2bcd93c1222311a5cb2ab216ab2e9c35"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"f8d7e8c7b75f77f434c1ab9d1e8558ef9cfbefea","unresolved":false,"context_lines":[{"line_number":165,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"Doc the API change in the API Reference:"},{"line_number":168,"context_line":"http://developer.openstack.org/api-ref-compute-v2.1.html"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"References"},{"line_number":171,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba8a016a_ab6502e2","line":168,"updated":"2015-11-16 13:23:11.000000000","message":"I plan to raise this in the API meeting\ndo we need to update doc if the microversion is not ready\nwhen we say v2.1 should it be v2.1 or v.latest? \n\ndo we need to update doc when the microversion doc is not ready yet?","commit_id":"66f2063e2bcd93c1222311a5cb2ab216ab2e9c35"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"f89fa3e21b9c0b607c43e267b08835da71e7c176","unresolved":false,"context_lines":[{"line_number":165,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"Doc the API change in the API Reference:"},{"line_number":168,"context_line":"http://developer.openstack.org/api-ref-compute-v2.1.html"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"References"},{"line_number":171,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba8a016a_a272007b","line":168,"in_reply_to":"ba8a016a_ab6502e2","updated":"2015-11-16 14:23:52.000000000","message":"yea...you are right, looks like we can\u0027t the api ref didn\u0027t support microverison.","commit_id":"66f2063e2bcd93c1222311a5cb2ab216ab2e9c35"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"557c56a09f72cc70609e2249f50e4e849ee086de","unresolved":false,"context_lines":[{"line_number":8,"context_line":"Optional block_migration and host flags in live-migration API"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Include the URL of your launchpad blueprint:"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"https://blueprints.launchpad.net/nova/+spec/optional-host-and-block-migration-flag-in-live-migrate-api"},{"line_number":14,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba8a016a_9678fe90","line":11,"updated":"2015-11-18 01:30:38.000000000","message":"this line can be removed.","commit_id":"5732a87acb9f8cfcaf9d4eb7f041ae6f6d057483"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"6b167d875d2ba364eb14804c4f8f5dc35f504ae6","unresolved":false,"context_lines":[{"line_number":8,"context_line":"Optional block_migration and host flags in live-migration API"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Include the URL of your launchpad blueprint:"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"https://blueprints.launchpad.net/nova/+spec/optional-host-and-block-migration-flag-in-live-migrate-api"},{"line_number":14,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba8a016a_131da365","line":11,"in_reply_to":"ba8a016a_9678fe90","updated":"2015-11-19 14:15:43.000000000","message":"Done","commit_id":"5732a87acb9f8cfcaf9d4eb7f041ae6f6d057483"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"557c56a09f72cc70609e2249f50e4e849ee086de","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"https://blueprints.launchpad.net/nova/+spec/optional-host-and-block-migration-flag-in-live-migrate-api"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Currently if have to specific block_migration flag when invoke live-migration"},{"line_number":16,"context_line":"API. This isn\u0027t convenient for external system to invoke it. For host flag,"},{"line_number":17,"context_line":"althrough it can be \u0027None\u0027 to let scheduler choicing host, so it isn\u0027t make"},{"line_number":18,"context_line":"it as required property in the API. To make them optional, the live-migration"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba8a016a_f6694abf","line":15,"updated":"2015-11-18 01:30:38.000000000","message":"s/if/we ? this is typo?","commit_id":"5732a87acb9f8cfcaf9d4eb7f041ae6f6d057483"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"6b167d875d2ba364eb14804c4f8f5dc35f504ae6","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"https://blueprints.launchpad.net/nova/+spec/optional-host-and-block-migration-flag-in-live-migrate-api"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Currently if have to specific block_migration flag when invoke live-migration"},{"line_number":16,"context_line":"API. This isn\u0027t convenient for external system to invoke it. For host flag,"},{"line_number":17,"context_line":"althrough it can be \u0027None\u0027 to let scheduler choicing host, so it isn\u0027t make"},{"line_number":18,"context_line":"it as required property in the API. To make them optional, the live-migration"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba8a016a_338b076a","line":15,"in_reply_to":"ba8a016a_f6694abf","updated":"2015-11-19 14:15:43.000000000","message":"Done","commit_id":"5732a87acb9f8cfcaf9d4eb7f041ae6f6d057483"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"557c56a09f72cc70609e2249f50e4e849ee086de","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Currently if have to specific block_migration flag when invoke live-migration"},{"line_number":16,"context_line":"API. This isn\u0027t convenient for external system to invoke it. For host flag,"},{"line_number":17,"context_line":"althrough it can be \u0027None\u0027 to let scheduler choicing host, so it isn\u0027t make"},{"line_number":18,"context_line":"it as required property in the API. To make them optional, the live-migration"},{"line_number":19,"context_line":"API will be more easy for user."},{"line_number":20,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba8a016a_1693aea4","line":17,"updated":"2015-11-18 01:30:38.000000000","message":"s/it isn\u0027t /doesn\u0027t","commit_id":"5732a87acb9f8cfcaf9d4eb7f041ae6f6d057483"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"6b167d875d2ba364eb14804c4f8f5dc35f504ae6","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Currently if have to specific block_migration flag when invoke live-migration"},{"line_number":16,"context_line":"API. This isn\u0027t convenient for external system to invoke it. For host flag,"},{"line_number":17,"context_line":"althrough it can be \u0027None\u0027 to let scheduler choicing host, so it isn\u0027t make"},{"line_number":18,"context_line":"it as required property in the API. To make them optional, the live-migration"},{"line_number":19,"context_line":"API will be more easy for user."},{"line_number":20,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba8a016a_73f8afc3","line":17,"in_reply_to":"ba8a016a_1693aea4","updated":"2015-11-19 14:15:43.000000000","message":"Done","commit_id":"5732a87acb9f8cfcaf9d4eb7f041ae6f6d057483"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"557c56a09f72cc70609e2249f50e4e849ee086de","unresolved":false,"context_lines":[{"line_number":16,"context_line":"API. This isn\u0027t convenient for external system to invoke it. For host flag,"},{"line_number":17,"context_line":"althrough it can be \u0027None\u0027 to let scheduler choicing host, so it isn\u0027t make"},{"line_number":18,"context_line":"it as required property in the API. To make them optional, the live-migration"},{"line_number":19,"context_line":"API will be more easy for user."},{"line_number":20,"context_line":""},{"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"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba8a016a_16dace78","line":19,"updated":"2015-11-18 01:30:38.000000000","message":"s/To make them optional, the live-migration API will be more easy for user./ live-migration API will be more simple for user if we make them optional./","commit_id":"5732a87acb9f8cfcaf9d4eb7f041ae6f6d057483"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"6b167d875d2ba364eb14804c4f8f5dc35f504ae6","unresolved":false,"context_lines":[{"line_number":16,"context_line":"API. This isn\u0027t convenient for external system to invoke it. For host flag,"},{"line_number":17,"context_line":"althrough it can be \u0027None\u0027 to let scheduler choicing host, so it isn\u0027t make"},{"line_number":18,"context_line":"it as required property in the API. To make them optional, the live-migration"},{"line_number":19,"context_line":"API will be more easy for user."},{"line_number":20,"context_line":""},{"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"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba8a016a_93dc3347","line":19,"in_reply_to":"ba8a016a_16dace78","updated":"2015-11-19 14:15:43.000000000","message":"Done","commit_id":"5732a87acb9f8cfcaf9d4eb7f041ae6f6d057483"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"557c56a09f72cc70609e2249f50e4e849ee086de","unresolved":false,"context_lines":[{"line_number":28,"context_line":"  for target host. If choice `block_migration` as True, but the orignal and"},{"line_number":29,"context_line":"  target host is on shared storage system, then the API will be failed."},{"line_number":30,"context_line":"* When user passes `host` flag with None value, the scheduler will choice host"},{"line_number":31,"context_line":"  for user, but scheduler didn\u0027t have knowledge about shared storage. So there"},{"line_number":32,"context_line":"  are many chance live-migration API failed."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"For `host` flag, the None value means let scheduler choice a host. This can be"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba8a016a_f6c5ca8d","line":31,"updated":"2015-11-18 01:30:38.000000000","message":"s/didn\u0027t/doesn\u0027t/\ns/shared storage/the shared storage/","commit_id":"5732a87acb9f8cfcaf9d4eb7f041ae6f6d057483"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"6b167d875d2ba364eb14804c4f8f5dc35f504ae6","unresolved":false,"context_lines":[{"line_number":28,"context_line":"  for target host. If choice `block_migration` as True, but the orignal and"},{"line_number":29,"context_line":"  target host is on shared storage system, then the API will be failed."},{"line_number":30,"context_line":"* When user passes `host` flag with None value, the scheduler will choice host"},{"line_number":31,"context_line":"  for user, but scheduler didn\u0027t have knowledge about shared storage. So there"},{"line_number":32,"context_line":"  are many chance live-migration API failed."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"For `host` flag, the None value means let scheduler choice a host. This can be"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba8a016a_d38b9b1d","line":31,"in_reply_to":"ba8a016a_f6c5ca8d","updated":"2015-11-19 14:15:43.000000000","message":"Done","commit_id":"5732a87acb9f8cfcaf9d4eb7f041ae6f6d057483"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"557c56a09f72cc70609e2249f50e4e849ee086de","unresolved":false,"context_lines":[{"line_number":29,"context_line":"  target host is on shared storage system, then the API will be failed."},{"line_number":30,"context_line":"* When user passes `host` flag with None value, the scheduler will choice host"},{"line_number":31,"context_line":"  for user, but scheduler didn\u0027t have knowledge about shared storage. So there"},{"line_number":32,"context_line":"  are many chance live-migration API failed."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"For `host` flag, the None value means let scheduler choice a host. This can be"},{"line_number":35,"context_line":"default value. For ease the usage, \u0027host\u0027 flag can be optional."}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba8a016a_d651a6d9","line":32,"updated":"2015-11-18 01:30:38.000000000","message":"s/chance/possibilities/","commit_id":"5732a87acb9f8cfcaf9d4eb7f041ae6f6d057483"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"557c56a09f72cc70609e2249f50e4e849ee086de","unresolved":false,"context_lines":[{"line_number":32,"context_line":"  are many chance live-migration API failed."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"For `host` flag, the None value means let scheduler choice a host. This can be"},{"line_number":35,"context_line":"default value. For ease the usage, \u0027host\u0027 flag can be optional."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"Use Cases"},{"line_number":38,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba8a016a_365912ff","line":35,"updated":"2015-11-18 01:30:38.000000000","message":"+1.","commit_id":"5732a87acb9f8cfcaf9d4eb7f041ae6f6d057483"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"557c56a09f72cc70609e2249f50e4e849ee086de","unresolved":false,"context_lines":[{"line_number":40,"context_line":"* User and user\u0027s external system can use live-migration API without figure out"},{"line_number":41,"context_line":"  what storage the host running on manually."},{"line_number":42,"context_line":"* Nova scheduler can choice host for user, user didn\u0027t want to specify `host`"},{"line_number":43,"context_line":"  flag each time."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Proposed change"},{"line_number":46,"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":3,"id":"ba8a016a_36def23f","line":43,"updated":"2015-11-18 01:30:38.000000000","message":"I don\u0027t think this is the user case.\n\nhow about:\n\nAlice wants to do a live migration on an instance but she doesn\u0027t want to specify a \u0027host\u0027.(or she forgets it), she expects nova to chose a suitable host for her automatically.","commit_id":"5732a87acb9f8cfcaf9d4eb7f041ae6f6d057483"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"6b167d875d2ba364eb14804c4f8f5dc35f504ae6","unresolved":false,"context_lines":[{"line_number":40,"context_line":"* User and user\u0027s external system can use live-migration API without figure out"},{"line_number":41,"context_line":"  what storage the host running on manually."},{"line_number":42,"context_line":"* Nova scheduler can choice host for user, user didn\u0027t want to specify `host`"},{"line_number":43,"context_line":"  flag each time."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Proposed change"},{"line_number":46,"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":3,"id":"ba8a016a_33e0e795","line":43,"in_reply_to":"ba8a016a_36def23f","updated":"2015-11-19 14:15:43.000000000","message":"how about this \"User didn\u0027t specify host flag when he didn\u0027t want to choice host by himself.\"","commit_id":"5732a87acb9f8cfcaf9d4eb7f041ae6f6d057483"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"1c4f460905a912a217930e06f9f47cef6babda53","unresolved":false,"context_lines":[{"line_number":49,"context_line":"the value is None, Nova will detect whether orignal and target host on the"},{"line_number":50,"context_line":"shared storage. If they are on shared storage, the live-migration won\u0027t do"},{"line_number":51,"context_line":"block migration. If they aren\u0027t on shared storage, the block migration will be"},{"line_number":52,"context_line":"executed."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"Make the `host` flag optional, and the default value is None. The behavior"},{"line_number":55,"context_line":"won\u0027t change."}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba8a016a_58534a6b","line":52,"updated":"2015-11-19 14:00:04.000000000","message":"So essentially we\u0027re turning \u0027block_migration\u0027 into a tri-state parameter\n\n - block_migration \u003d no -\u003e never do block migration\n - block_migration \u003d yes -\u003e force block migration\n - block_migration not provided -\u003e \"do the right thing\" with block migration\n\nThis seems like a fairly sensible idea to me, as a user shouldn\u0027t really need to care about the specifics of the nova storage backends \u0026 whether they are shared storage or not. THey expect migration to just \"do the right thing\".","commit_id":"5732a87acb9f8cfcaf9d4eb7f041ae6f6d057483"},{"author":{"_account_id":14131,"name":"shaohef","email":"shaohe.feng@intel.com","username":"shaohefeng"},"change_message_id":"e07e1620dd10857d36344b09b979c70de5422473","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Currently we have to specific block_migration flag when invoke live-migration"},{"line_number":14,"context_line":"API. This isn\u0027t convenient for external system to invoke it. For host flag,"},{"line_number":15,"context_line":"althrough it can be \u0027None\u0027 to let scheduler choicing host, so it doesn\u0027t make"},{"line_number":16,"context_line":"it as required property in the API. live-migration API will be more simple for"},{"line_number":17,"context_line":"user if we make them optional."},{"line_number":18,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba8a016a_151ec06f","line":15,"updated":"2015-11-20 09:04:05.000000000","message":"althrough  ?\n s/choicing/choice a?","commit_id":"825dfdcb339120fe2ce1d649ded031cb9b89f473"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"528ae68dbf48461a5680e6e5f6bf2ba164743ee5","unresolved":false,"context_lines":[{"line_number":42,"context_line":"Proposed change"},{"line_number":43,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Make the `block_migration` flag optional, and the default value is None. When"},{"line_number":46,"context_line":"the value is None, Nova will detect whether orignal and target host on the"},{"line_number":47,"context_line":"shared storage. If they are on shared storage, the live-migration won\u0027t do"},{"line_number":48,"context_line":"block migration. If they aren\u0027t on shared storage, the block migration will be"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba8a016a_36e763ad","line":45,"updated":"2015-11-19 19:18:00.000000000","message":"I think it\u0027d be better to just remove the \u0027block_migration\u0027 flag entirely.  The selection of shared vs block storage can be handled by host aggregates if necessary.  (How often would we want to start off on a shared-storage pool and then explicitly migrate to a host outside the pool, or vice versa?  I would expect this to be rare, and could be managed by specifying the destination host explicitly.)","commit_id":"825dfdcb339120fe2ce1d649ded031cb9b89f473"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"d2d01b321d2e7fe2150fcb4cfd93a4809d871a9b","unresolved":false,"context_lines":[{"line_number":42,"context_line":"Proposed change"},{"line_number":43,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Make the `block_migration` flag optional, and the default value is None. When"},{"line_number":46,"context_line":"the value is None, Nova will detect whether orignal and target host on the"},{"line_number":47,"context_line":"shared storage. If they are on shared storage, the live-migration won\u0027t do"},{"line_number":48,"context_line":"block migration. If they aren\u0027t on shared storage, the block migration will be"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba8a016a_808cb0da","line":45,"in_reply_to":"ba8a016a_36e763ad","updated":"2015-11-20 06:28:39.000000000","message":"Yes, also think shared storage can be handled by host aggregates, but that should be done after https://blueprints.launchpad.net/nova/+spec/resource-providers\n\nFor totally get rid of block_migration, John and Pual also talk about that. But consider the there may have multiple storage pool, so we need flag to control it. If you said in most of case, people won\u0027t move instance to another pool, but I think that can be default value, we still need provide flag for those few case, in case people need it.\n\nBut anyway, get rid of block_migration is something we want to talk about in  the next step, I prefer move that discussion in the future after we can track the shared storage.","commit_id":"825dfdcb339120fe2ce1d649ded031cb9b89f473"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"528ae68dbf48461a5680e6e5f6bf2ba164743ee5","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Make the `block_migration` flag optional, and the default value is None. When"},{"line_number":46,"context_line":"the value is None, Nova will detect whether orignal and target host on the"},{"line_number":47,"context_line":"shared storage. If they are on shared storage, the live-migration won\u0027t do"},{"line_number":48,"context_line":"block migration. If they aren\u0027t on shared storage, the block migration will be"},{"line_number":49,"context_line":"executed."},{"line_number":50,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba8a016a_749e4464","line":47,"updated":"2015-11-19 19:18:00.000000000","message":"Do we want some clarification on how nova will do this?  My proposal:\n\nAs part of check_can_live_migrate_source() we could create a new test\nfile using uuid to guarantee uniquness.  The filename would be included in the\nmigrate_data returned by check_can_live_migrate_source().  After returning,\nto check_can_live_migrate_destination() we could test whether or not the new\nfile is visible and set the block_migration flag accordingly as well as\nreturning it in migrate_data for use by the rest of the migration code path.\n\nIf it turns out that the block_migration flag is needed by one of the drivers\nin self.driver.check_can_live_migrate_destination() (which is called before check_can_live_migrate_source()), then we might have to\nintroduce a new RPC call specifically for determining whether storage is shared.","commit_id":"825dfdcb339120fe2ce1d649ded031cb9b89f473"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"d2d01b321d2e7fe2150fcb4cfd93a4809d871a9b","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Make the `block_migration` flag optional, and the default value is None. When"},{"line_number":46,"context_line":"the value is None, Nova will detect whether orignal and target host on the"},{"line_number":47,"context_line":"shared storage. If they are on shared storage, the live-migration won\u0027t do"},{"line_number":48,"context_line":"block migration. If they aren\u0027t on shared storage, the block migration will be"},{"line_number":49,"context_line":"executed."},{"line_number":50,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba8a016a_e0b7bc82","line":47,"in_reply_to":"ba8a016a_6369a8f8","updated":"2015-11-20 06:28:39.000000000","message":"As for now,we already can test whether allow block migration in the code, so I think there will be simple. Just use same test result to do decision for user.","commit_id":"825dfdcb339120fe2ce1d649ded031cb9b89f473"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"d01d4a9a456fc3620e2917a6aeff9d3a61c7bb1e","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Make the `block_migration` flag optional, and the default value is None. When"},{"line_number":46,"context_line":"the value is None, Nova will detect whether orignal and target host on the"},{"line_number":47,"context_line":"shared storage. If they are on shared storage, the live-migration won\u0027t do"},{"line_number":48,"context_line":"block migration. If they aren\u0027t on shared storage, the block migration will be"},{"line_number":49,"context_line":"executed."},{"line_number":50,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba8a016a_6369a8f8","line":47,"in_reply_to":"ba8a016a_749e4464","updated":"2015-11-19 21:11:24.000000000","message":"I think the rbd image backend is going to need to be special-cased.","commit_id":"825dfdcb339120fe2ce1d649ded031cb9b89f473"},{"author":{"_account_id":14131,"name":"shaohef","email":"shaohe.feng@intel.com","username":"shaohefeng"},"change_message_id":"e07e1620dd10857d36344b09b979c70de5422473","unresolved":false,"context_lines":[{"line_number":54,"context_line":"Alternatives"},{"line_number":55,"context_line":"------------"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"Ideally when `block_migration` flag is False, the scheduler will chocie a host"},{"line_number":58,"context_line":"which is on the shared storage with original host. When the value is True, the"},{"line_number":59,"context_line":"scheduler will chocie a host which isn\u0027t on the shared storage with original"},{"line_number":60,"context_line":"host. This need some work for Nova to tracking the shared storage to make"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba8a016a_60142ce8","line":57,"updated":"2015-11-20 09:04:05.000000000","message":"s/chocie/choice","commit_id":"825dfdcb339120fe2ce1d649ded031cb9b89f473"},{"author":{"_account_id":14131,"name":"shaohef","email":"shaohe.feng@intel.com","username":"shaohefeng"},"change_message_id":"e07e1620dd10857d36344b09b979c70de5422473","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"Ideally when `block_migration` flag is False, the scheduler will chocie a host"},{"line_number":58,"context_line":"which is on the shared storage with original host. When the value is True, the"},{"line_number":59,"context_line":"scheduler will chocie a host which isn\u0027t on the shared storage with original"},{"line_number":60,"context_line":"host. This need some work for Nova to tracking the shared storage to make"},{"line_number":61,"context_line":"scheduler choice right host."},{"line_number":62,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba8a016a_c0db984d","line":59,"updated":"2015-11-20 09:04:05.000000000","message":"ditto\n s/chocie/choice","commit_id":"825dfdcb339120fe2ce1d649ded031cb9b89f473"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"528ae68dbf48461a5680e6e5f6bf2ba164743ee5","unresolved":false,"context_lines":[{"line_number":58,"context_line":"which is on the shared storage with original host. When the value is True, the"},{"line_number":59,"context_line":"scheduler will chocie a host which isn\u0027t on the shared storage with original"},{"line_number":60,"context_line":"host. This need some work for Nova to tracking the shared storage to make"},{"line_number":61,"context_line":"scheduler choice right host."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"The shared storage can be tracked when this BP is implemented:"},{"line_number":64,"context_line":"https://blueprints.launchpad.net/nova/+spec/resource-providers"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba8a016a_96508f33","line":61,"updated":"2015-11-19 19:18:00.000000000","message":"I\u0027d rather see \u0027block_migration\u0027 removed entirely from the live migration API, and let the scheduler choose a destination based on existing scheduler filters.  If we need to migrate outside the existing storage pool we can specify the destination host explicitly.","commit_id":"825dfdcb339120fe2ce1d649ded031cb9b89f473"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"d2d01b321d2e7fe2150fcb4cfd93a4809d871a9b","unresolved":false,"context_lines":[{"line_number":58,"context_line":"which is on the shared storage with original host. When the value is True, the"},{"line_number":59,"context_line":"scheduler will chocie a host which isn\u0027t on the shared storage with original"},{"line_number":60,"context_line":"host. This need some work for Nova to tracking the shared storage to make"},{"line_number":61,"context_line":"scheduler choice right host."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"The shared storage can be tracked when this BP is implemented:"},{"line_number":64,"context_line":"https://blueprints.launchpad.net/nova/+spec/resource-providers"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba8a016a_a0ae942b","line":61,"in_reply_to":"ba8a016a_96508f33","updated":"2015-11-20 06:28:39.000000000","message":"yes, as I said as above. let continue improve that in next step.","commit_id":"825dfdcb339120fe2ce1d649ded031cb9b89f473"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"16ae2f8e53f835ac5f4e48d04f63494080636b85","unresolved":false,"context_lines":[{"line_number":85,"context_line":"                \u0027disk_over_commit\u0027: parameter_types.boolean,"},{"line_number":86,"context_line":"                \u0027host\u0027: host"},{"line_number":87,"context_line":"            },"},{"line_number":88,"context_line":"            \u0027required\u0027: [\u0027disk_over_commit\u0027],"},{"line_number":89,"context_line":"            \u0027additionalProperties\u0027: False,"},{"line_number":90,"context_line":"        },"},{"line_number":91,"context_line":"    },"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba8a016a_45aa7386","line":88,"updated":"2015-11-19 17:55:26.000000000","message":"I do wonder if we should also make disk_over_commit optional, it seems like you should just honour the regular settings on the compute node you are going to?","commit_id":"825dfdcb339120fe2ce1d649ded031cb9b89f473"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"528ae68dbf48461a5680e6e5f6bf2ba164743ee5","unresolved":false,"context_lines":[{"line_number":85,"context_line":"                \u0027disk_over_commit\u0027: parameter_types.boolean,"},{"line_number":86,"context_line":"                \u0027host\u0027: host"},{"line_number":87,"context_line":"            },"},{"line_number":88,"context_line":"            \u0027required\u0027: [\u0027disk_over_commit\u0027],"},{"line_number":89,"context_line":"            \u0027additionalProperties\u0027: False,"},{"line_number":90,"context_line":"        },"},{"line_number":91,"context_line":"    },"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba8a016a_34851c59","line":88,"in_reply_to":"ba8a016a_1667bfe9","updated":"2015-11-19 19:18:00.000000000","message":"Technically the \"host\" field is tangential to the \"block_migration\" flag and they\u0027re being grouped together.\n\nI wouldn\u0027t really have a problem with lumping them all in one spec and make them all optional.  (I\u0027d actually like to see \"block_migration\" removed entirely.)  That way we can use one microversion to rationalize the live migration API generally.","commit_id":"825dfdcb339120fe2ce1d649ded031cb9b89f473"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"a4f7172431606abeaf908907dbc01ddd43cedae1","unresolved":false,"context_lines":[{"line_number":85,"context_line":"                \u0027disk_over_commit\u0027: parameter_types.boolean,"},{"line_number":86,"context_line":"                \u0027host\u0027: host"},{"line_number":87,"context_line":"            },"},{"line_number":88,"context_line":"            \u0027required\u0027: [\u0027disk_over_commit\u0027],"},{"line_number":89,"context_line":"            \u0027additionalProperties\u0027: False,"},{"line_number":90,"context_line":"        },"},{"line_number":91,"context_line":"    },"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba8a016a_3c172846","line":88,"in_reply_to":"ba8a016a_1b9b5119","updated":"2015-11-20 09:05:05.000000000","message":"oops, correct last words\" Microversion is a way we can continue improve our API without making API prefect in one shot I think.\"","commit_id":"825dfdcb339120fe2ce1d649ded031cb9b89f473"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"d2d01b321d2e7fe2150fcb4cfd93a4809d871a9b","unresolved":false,"context_lines":[{"line_number":85,"context_line":"                \u0027disk_over_commit\u0027: parameter_types.boolean,"},{"line_number":86,"context_line":"                \u0027host\u0027: host"},{"line_number":87,"context_line":"            },"},{"line_number":88,"context_line":"            \u0027required\u0027: [\u0027disk_over_commit\u0027],"},{"line_number":89,"context_line":"            \u0027additionalProperties\u0027: False,"},{"line_number":90,"context_line":"        },"},{"line_number":91,"context_line":"    },"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba8a016a_1b9b5119","line":88,"in_reply_to":"ba8a016a_34851c59","updated":"2015-11-20 06:28:39.000000000","message":"Actually I prefer to get rid of \u0027disk_over_commit\u0027, unless there are some usecase for disk_over_commit which I didn\u0027t know. The disk resource usage should be checked by scheduler, with consistent scheduling policy enforcement. So I think \u0027disk_over_commit\u0027 can be removed after http://specs.openstack.org/openstack/nova-specs/specs/mitaka/approved/check-destination-on-migrations.html\n\nSo I prefer to get rid of disk_over_commit and continue improve of block_migration in next step, after we can track shared storage and check destination with scheduler.\n\nMicroversion is a way we can continue improve our API with making API prefect in one shot I think.","commit_id":"825dfdcb339120fe2ce1d649ded031cb9b89f473"},{"author":{"_account_id":7461,"name":"Paul Murray","email":"pmurray@hpe.com","username":"ptm"},"change_message_id":"6aac3bc7b7a5e98abba67df8cb9d52eb868142e6","unresolved":false,"context_lines":[{"line_number":85,"context_line":"                \u0027disk_over_commit\u0027: parameter_types.boolean,"},{"line_number":86,"context_line":"                \u0027host\u0027: host"},{"line_number":87,"context_line":"            },"},{"line_number":88,"context_line":"            \u0027required\u0027: [\u0027disk_over_commit\u0027],"},{"line_number":89,"context_line":"            \u0027additionalProperties\u0027: False,"},{"line_number":90,"context_line":"        },"},{"line_number":91,"context_line":"    },"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba8a016a_b0248d60","line":88,"in_reply_to":"ba8a016a_3c172846","updated":"2015-11-20 13:50:39.000000000","message":"It seems that only the libvirt driver uses the disk_over_commit option. hyper-v and xen certainly ignore it. I think this is related to the way the libvirt driver handles disk images (particularly qcow2) by creating a file that is the max size of the image, not just the actual size. If it doesn\u0027t have space for the max size it will not be able to copy the image.\n\nThis check in libvirt seems to make disk size a special case - even if over commit is allowed in the resource tracker, it may be prevented here. So the disk_over_commit controls this check seperately to the disk over commit controls in the resource tracker. So yes, its a special case - and its not always used.\n\nIt would be good if this was not necessary to have this flag. Perhaps the libvirt drive could be changed to do without it?","commit_id":"825dfdcb339120fe2ce1d649ded031cb9b89f473"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"a785c98a2310eea65762dc389d14794a4264c3a5","unresolved":false,"context_lines":[{"line_number":85,"context_line":"                \u0027disk_over_commit\u0027: parameter_types.boolean,"},{"line_number":86,"context_line":"                \u0027host\u0027: host"},{"line_number":87,"context_line":"            },"},{"line_number":88,"context_line":"            \u0027required\u0027: [\u0027disk_over_commit\u0027],"},{"line_number":89,"context_line":"            \u0027additionalProperties\u0027: False,"},{"line_number":90,"context_line":"        },"},{"line_number":91,"context_line":"    },"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba8a016a_85f13b6d","line":88,"in_reply_to":"ba8a016a_45aa7386","updated":"2015-11-19 18:03:36.000000000","message":"Actually seems we have RAM and CPU allocation_ratios but not disk. It seems odd to only handle this thing in live-migrate.\n\nWe should at least default to False like we do for block_migration I feel?","commit_id":"825dfdcb339120fe2ce1d649ded031cb9b89f473"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"bc1a74d3f0a5b3ea5062d8c74f67a8a677a52193","unresolved":false,"context_lines":[{"line_number":85,"context_line":"                \u0027disk_over_commit\u0027: parameter_types.boolean,"},{"line_number":86,"context_line":"                \u0027host\u0027: host"},{"line_number":87,"context_line":"            },"},{"line_number":88,"context_line":"            \u0027required\u0027: [\u0027disk_over_commit\u0027],"},{"line_number":89,"context_line":"            \u0027additionalProperties\u0027: False,"},{"line_number":90,"context_line":"        },"},{"line_number":91,"context_line":"    },"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba8a016a_1667bfe9","line":88,"in_reply_to":"ba8a016a_85f13b6d","updated":"2015-11-19 18:48:15.000000000","message":"Possibly, but i feel cleaning this up is tangential to the the use case of this blueprint - they just happen to touch the same area.","commit_id":"825dfdcb339120fe2ce1d649ded031cb9b89f473"},{"author":{"_account_id":14131,"name":"shaohef","email":"shaohe.feng@intel.com","username":"shaohefeng"},"change_message_id":"e07e1620dd10857d36344b09b979c70de5422473","unresolved":false,"context_lines":[{"line_number":93,"context_line":"    \u0027additionalProperties\u0027: False,"},{"line_number":94,"context_line":"  }"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"This change need new microverion."},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"Security impact"},{"line_number":99,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba8a016a_35574427","line":96,"updated":"2015-11-20 09:04:05.000000000","message":"s/microversion/microversion","commit_id":"825dfdcb339120fe2ce1d649ded031cb9b89f473"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"528ae68dbf48461a5680e6e5f6bf2ba164743ee5","unresolved":false,"context_lines":[{"line_number":112,"context_line":"anymore before invoke the live-migration API. But this may make a block"},{"line_number":113,"context_line":"migration which leads more loads on the live-migration network, if that isn\u0027t"},{"line_number":114,"context_line":"the user expected. If user clearly didn\u0027t want to block-migration, user need"},{"line_number":115,"context_line":"specify block_migration to True explictly. This will be improved in the future."},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"Performance Impact"},{"line_number":118,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba8a016a_94eba8db","line":115,"updated":"2015-11-19 19:18:00.000000000","message":"The above doesn\u0027t make sense.  I think it should be \"If the user doesn\u0027t want block-migration, then the user needs to specify block_migration to False explictly.\".\n\nThat said, if we remove the \"block_migration\" flag entirely we could rely on existing mechanisms to determine a suitable host.","commit_id":"825dfdcb339120fe2ce1d649ded031cb9b89f473"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"d2d01b321d2e7fe2150fcb4cfd93a4809d871a9b","unresolved":false,"context_lines":[{"line_number":112,"context_line":"anymore before invoke the live-migration API. But this may make a block"},{"line_number":113,"context_line":"migration which leads more loads on the live-migration network, if that isn\u0027t"},{"line_number":114,"context_line":"the user expected. If user clearly didn\u0027t want to block-migration, user need"},{"line_number":115,"context_line":"specify block_migration to True explictly. This will be improved in the future."},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"Performance Impact"},{"line_number":118,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba8a016a_7b293de5","line":115,"in_reply_to":"ba8a016a_94eba8db","updated":"2015-11-20 06:28:39.000000000","message":"oops, I want to say \u0027False\u0027, but I type a \u0027True\u0027 ....","commit_id":"825dfdcb339120fe2ce1d649ded031cb9b89f473"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"f724d8abdf0072fef8a330b7ff3192d24ee50c75","unresolved":false,"context_lines":[{"line_number":60,"context_line":"Make the `disk_over_commit` flag optional, and the default value is Ture. This"},{"line_number":61,"context_line":"is apply the behavior of scheduler doing. The scheduler consume the flavor"},{"line_number":62,"context_line":"specified disk size, so that size isn\u0027t the acutally size of disk image in"},{"line_number":63,"context_line":"the local disk."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"Alternatives"},{"line_number":66,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba8a016a_b92323a7","line":63,"updated":"2015-11-20 11:09:41.000000000","message":"just want to note, the disk_over_commit isn\u0027t related to disk overcommit ratio. It\u0027s just about whether check the disk image actual size or virtual size https://github.com/openstack/nova/blob/3e0bbc332726a5df3031628b71ef3517b5209fb6/nova/virt/libvirt/driver.py#L5325","commit_id":"b736a5b59e34d7077007e1b0070eda4b11be1658"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"ee660e31417648dbbe6d019b650747775adc71c8","unresolved":false,"context_lines":[{"line_number":57,"context_line":"Make the `host` flag optional, and the default value is None. The behavior"},{"line_number":58,"context_line":"won\u0027t change."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"Make the `disk_over_commit` flag optional, and the default value is True. This"},{"line_number":61,"context_line":"is apply the behavior of scheduler doing. The scheduler consume the flavor"},{"line_number":62,"context_line":"specified disk size, so that size isn\u0027t the acutally size of disk image in"},{"line_number":63,"context_line":"the local disk."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"Alternatives"},{"line_number":66,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ba8a016a_da85b207","line":63,"range":{"start_line":60,"start_character":0,"end_line":63,"end_character":15},"updated":"2015-11-20 13:18:48.000000000","message":"So, I\u0027m very not happy with that but let me explain...\n\nThe disk_over_commit flag is very badly named IMHO because it has nothing to do with allocation ratios. AFAIU, it\u0027s a virt-specific information whether we should consider the total disk allocated size for each instance or rather the actual taken size on the physical host (because in the libvirt case, if the image is QCOW2, then it can be compressed). All of that just seems to be very related to counting resource usage for each hypervisor, and I would prefer an approach where the virt driver would provide to the ResourceTracker a disk size depending on a CONF opt.\n\nThe main problem here is that we do some checks within the virt driver (here https://github.com/openstack/nova/blob/3e0bbc332726a5df3031628b71ef3517b5209fb6/nova/virt/libvirt/driver.py#L5325) where it should be rather done at the scheduler and instance claiming.\n\nTo be clear, wrt that spec, I\u0027d rather deprecate that option , default it to False and mark it optional, with a big fat message for operators saying why this API flag is very errorprone and leave them provide a BP for checking the disk_over_commit information by another way than an API request body arg.","commit_id":"88dab1c10e867bfc1afd22ae5c35b4d65f69dc9f"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"ee660e31417648dbbe6d019b650747775adc71c8","unresolved":false,"context_lines":[{"line_number":82,"context_line":"For `disk_over_commit`, currently whatever the value is True or False, it is"},{"line_number":83,"context_line":"buggy resource usage counting. It does different count than nova scheduler."},{"line_number":84,"context_line":"Ideally we just use nova-scheduler to check that. So this can be done:"},{"line_number":85,"context_line":"http://specs.openstack.org/openstack/nova-specs/specs/mitaka/approved/check-destination-on-migrations.html"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"All of those depend on other works, so those will be next step to continue"},{"line_number":88,"context_line":"improve the live-migration API."}],"source_content_type":"text/x-rst","patch_set":6,"id":"ba8a016a_9af40a88","line":85,"updated":"2015-11-20 13:18:48.000000000","message":"No, that spec can\u0027t help with disk_over_commit because the RT doesn\u0027t track that specific information. I\u0027d rather prefer to not provide that explicit information to the RT and the RT, and rather just give different metric based on whether this flag is enabled or not for each compute node.","commit_id":"88dab1c10e867bfc1afd22ae5c35b4d65f69dc9f"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"287f12859e9f2fc5c3c0a29fe82859f6925adbbd","unresolved":false,"context_lines":[{"line_number":57,"context_line":"Make the `host` flag optional, and the default value is None. The behavior"},{"line_number":58,"context_line":"won\u0027t change."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"Remove the `disk_over_commit` flag optional, and the default behaviour is"},{"line_number":61,"context_line":"check virtual disk size, that is what nova scheduler is doing."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":7,"id":"ba8a016a_7a53666d","line":60,"range":{"start_line":60,"start_character":0,"end_line":60,"end_character":43},"updated":"2015-11-20 13:22:35.000000000","message":"I would mark it deprecated, optional and defaulted to False to be precise.\n\nI would also put a big fat message in the deprecation message saying to operators anytime a user uses that option that someone has to step up and find another way to provide correlated metrics to the RT.","commit_id":"9f9acdc09bec5886d0748fa253c373ce393a3b60"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"53d55f90023b6f2679832a738c6f30e4bcd2c8c5","unresolved":false,"context_lines":[{"line_number":57,"context_line":"Make the `host` flag optional, and the default value is None. The behavior"},{"line_number":58,"context_line":"won\u0027t change."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"Remove the `disk_over_commit` flag optional, and the default behaviour is"},{"line_number":61,"context_line":"check virtual disk size, that is what nova scheduler is doing."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":7,"id":"ba8a016a_94bc64bc","line":60,"in_reply_to":"ba8a016a_267f9218","updated":"2015-11-24 09:22:33.000000000","message":"So, after thinking about that again, since the user can provide a version in the client, he can cap it until needed.\n\nThat\u0027s fair enough to accept that IMHO given that we\u0027ll also have a strong relnote for that.","commit_id":"9f9acdc09bec5886d0748fa253c373ce393a3b60"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"ee9527e790bcc7f096125326fa98f310e1a36cfd","unresolved":false,"context_lines":[{"line_number":57,"context_line":"Make the `host` flag optional, and the default value is None. The behavior"},{"line_number":58,"context_line":"won\u0027t change."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"Remove the `disk_over_commit` flag optional, and the default behaviour is"},{"line_number":61,"context_line":"check virtual disk size, that is what nova scheduler is doing."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":7,"id":"ba8a016a_267f9218","line":60,"in_reply_to":"ba8a016a_76d6af28","updated":"2015-11-24 08:44:13.000000000","message":"yea, talk with Sylvain on irc, most of discussion about whether microversion is enough to remove a feature.\n\nIf the user didn\u0027t ready to give up this feature, the old api version still work for disk_over_commit flag.\n\nI will bring this up in the live-migration meeting.","commit_id":"9f9acdc09bec5886d0748fa253c373ce393a3b60"},{"author":{"_account_id":7461,"name":"Paul Murray","email":"pmurray@hpe.com","username":"ptm"},"change_message_id":"612101bf37fe8e06e1550ef2c8ed36764dfe227e","unresolved":false,"context_lines":[{"line_number":57,"context_line":"Make the `host` flag optional, and the default value is None. The behavior"},{"line_number":58,"context_line":"won\u0027t change."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"Remove the `disk_over_commit` flag optional, and the default behaviour is"},{"line_number":61,"context_line":"check virtual disk size, that is what nova scheduler is doing."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":7,"id":"ba8a016a_be3adecb","line":60,"in_reply_to":"ba8a016a_7a53666d","updated":"2015-11-23 11:46:06.000000000","message":"Agreed, we can\u0027t just remove it because anyone using it will get an error. We need to go through the usual deprecation period. But otherwise agree it would be good to remove it eventually.\n\n(this is just a procedural detail)","commit_id":"9f9acdc09bec5886d0748fa253c373ce393a3b60"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"7dcc577d142ed6897b9ff15d3f9309d7f9883e10","unresolved":false,"context_lines":[{"line_number":57,"context_line":"Make the `host` flag optional, and the default value is None. The behavior"},{"line_number":58,"context_line":"won\u0027t change."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"Remove the `disk_over_commit` flag optional, and the default behaviour is"},{"line_number":61,"context_line":"check virtual disk size, that is what nova scheduler is doing."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":7,"id":"ba8a016a_76d6af28","line":60,"in_reply_to":"ba8a016a_be3adecb","updated":"2015-11-24 05:07:29.000000000","message":"If we bump the microversion, why can\u0027t we remove it immediately with the new microversion?  Anyone that wants the old behaviour can still get it by specifying the old microversion.","commit_id":"9f9acdc09bec5886d0748fa253c373ce393a3b60"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"287f12859e9f2fc5c3c0a29fe82859f6925adbbd","unresolved":false,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":"For `disk_over_commit`, currently whatever the value is True or False, it is"},{"line_number":82,"context_line":"buggy resource usage counting. It does different count than resource tracker."},{"line_number":83,"context_line":"Ideally we have resource tracker to consume disk usage, that will be done by"},{"line_number":84,"context_line":"other bug fix or propose."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":7,"id":"ba8a016a_1acb3a20","line":83,"range":{"start_line":83,"start_character":10,"end_line":83,"end_character":15},"updated":"2015-11-20 13:22:35.000000000","message":"nit: /should/ have","commit_id":"9f9acdc09bec5886d0748fa253c373ce393a3b60"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"287f12859e9f2fc5c3c0a29fe82859f6925adbbd","unresolved":false,"context_lines":[{"line_number":81,"context_line":"For `disk_over_commit`, currently whatever the value is True or False, it is"},{"line_number":82,"context_line":"buggy resource usage counting. It does different count than resource tracker."},{"line_number":83,"context_line":"Ideally we have resource tracker to consume disk usage, that will be done by"},{"line_number":84,"context_line":"other bug fix or propose."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"Data model impact"},{"line_number":87,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"ba8a016a_faec3694","line":84,"range":{"start_line":84,"start_character":5,"end_line":84,"end_character":25},"updated":"2015-11-20 13:22:35.000000000","message":"I\u0027d rather see a specless BP but I\u0027m maybe overthinking","commit_id":"9f9acdc09bec5886d0748fa253c373ce393a3b60"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"105878114493fe57b28ac554c0918aaf83b342c7","unresolved":false,"context_lines":[{"line_number":100,"context_line":"            \u0027type\u0027: \u0027object\u0027,"},{"line_number":101,"context_line":"            \u0027properties\u0027: {"},{"line_number":102,"context_line":"                \u0027block_migration\u0027: parameter_types.boolean,"},{"line_number":103,"context_line":"                \u0027disk_over_commit\u0027: parameter_types.boolean,"},{"line_number":104,"context_line":"                \u0027host\u0027: host"},{"line_number":105,"context_line":"            },"},{"line_number":106,"context_line":"            \u0027additionalProperties\u0027: False,"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a8ffd7b_9234fa4a","line":103,"updated":"2015-11-24 11:22:35.000000000","message":"oops, I should remove this.","commit_id":"9f9acdc09bec5886d0748fa253c373ce393a3b60"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"9573264eceb0405498b8d14f7ed886de03ccd662","unresolved":false,"context_lines":[{"line_number":100,"context_line":"            \u0027type\u0027: \u0027object\u0027,"},{"line_number":101,"context_line":"            \u0027properties\u0027: {"},{"line_number":102,"context_line":"                \u0027block_migration\u0027: parameter_types.boolean,"},{"line_number":103,"context_line":"                \u0027disk_over_commit\u0027: parameter_types.boolean,"},{"line_number":104,"context_line":"                \u0027host\u0027: host"},{"line_number":105,"context_line":"            },"},{"line_number":106,"context_line":"            \u0027additionalProperties\u0027: False,"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a8ffd7b_71770bd5","line":103,"in_reply_to":"9a8ffd7b_9234fa4a","updated":"2015-11-24 14:07:52.000000000","message":"*snap*","commit_id":"9f9acdc09bec5886d0748fa253c373ce393a3b60"},{"author":{"_account_id":14131,"name":"shaohef","email":"shaohe.feng@intel.com","username":"shaohefeng"},"change_message_id":"235491edc634544378b0a16874467a23e0e1a16e","unresolved":false,"context_lines":[{"line_number":157,"context_line":"  Alex Xu \u003chejie.xu@intel.com\u003e"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"Other contributors:"},{"line_number":160,"context_line":"  \u003claunchpad-id or None\u003e"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"Work Items"},{"line_number":163,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"ba8a016a_a7751533","line":160,"updated":"2015-11-21 09:30:08.000000000","message":"?","commit_id":"9f9acdc09bec5886d0748fa253c373ce393a3b60"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"9f531ecf80769f23669caaca10db47234cfe14d4","unresolved":false,"context_lines":[{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/optional-host-and-block-migration-flag-in-live-migrate-api"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Currently we have to specific block_migration flag when invoke live-migration"},{"line_number":14,"context_line":"API. This isn\u0027t convenient for external system to invoke it. For host flag,"},{"line_number":15,"context_line":"although it can be \u0027None\u0027 to let scheduler choice a host, so it doesn\u0027t make"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_f814d744","line":12,"updated":"2015-11-26 02:51:31.000000000","message":"How about adding\n\n Current live-migration API is difficult to use, so we need to make the API more user-friendly.\n\nOr something as the first paragraph?\nWhen I saw this outline, it was a little difficult to understand the main purpose.","commit_id":"0070c427b7f718cfddb49122c4ede89645feb1a2"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"b246036e8c18820237fcf083f29246003130e79b","unresolved":false,"context_lines":[{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/optional-host-and-block-migration-flag-in-live-migrate-api"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Currently we have to specific block_migration flag when invoke live-migration"},{"line_number":14,"context_line":"API. This isn\u0027t convenient for external system to invoke it. For host flag,"},{"line_number":15,"context_line":"although it can be \u0027None\u0027 to let scheduler choice a host, so it doesn\u0027t make"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_1b6f5593","line":12,"in_reply_to":"9a8ffd7b_f814d744","updated":"2015-11-26 03:54:56.000000000","message":"yea, I say too much about the problem. Let me remove the whole paragraph. Use the words you suggestion to instead.","commit_id":"0070c427b7f718cfddb49122c4ede89645feb1a2"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"9f531ecf80769f23669caaca10db47234cfe14d4","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/optional-host-and-block-migration-flag-in-live-migrate-api"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Currently we have to specific block_migration flag when invoke live-migration"},{"line_number":14,"context_line":"API. This isn\u0027t convenient for external system to invoke it. For host flag,"},{"line_number":15,"context_line":"although it can be \u0027None\u0027 to let scheduler choice a host, so it doesn\u0027t make"},{"line_number":16,"context_line":"it as required property in the API. The last flag disk_over_commit is also"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_151de60e","line":13,"updated":"2015-11-26 02:51:31.000000000","message":"s/specific/specify/\n\ns/invoke/invoking/","commit_id":"0070c427b7f718cfddb49122c4ede89645feb1a2"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"9f531ecf80769f23669caaca10db47234cfe14d4","unresolved":false,"context_lines":[{"line_number":13,"context_line":"Currently we have to specific block_migration flag when invoke live-migration"},{"line_number":14,"context_line":"API. This isn\u0027t convenient for external system to invoke it. For host flag,"},{"line_number":15,"context_line":"although it can be \u0027None\u0027 to let scheduler choice a host, so it doesn\u0027t make"},{"line_number":16,"context_line":"it as required property in the API. The last flag disk_over_commit is also"},{"line_number":17,"context_line":"confuse user, it does some libvirt driver specific checks. The live-migration"},{"line_number":18,"context_line":"API should be changed for more easy to use."},{"line_number":19,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_95647649","line":16,"updated":"2015-11-26 02:51:31.000000000","message":"\"is\" is not necessary.","commit_id":"0070c427b7f718cfddb49122c4ede89645feb1a2"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"9f531ecf80769f23669caaca10db47234cfe14d4","unresolved":false,"context_lines":[{"line_number":14,"context_line":"API. This isn\u0027t convenient for external system to invoke it. For host flag,"},{"line_number":15,"context_line":"although it can be \u0027None\u0027 to let scheduler choice a host, so it doesn\u0027t make"},{"line_number":16,"context_line":"it as required property in the API. The last flag disk_over_commit is also"},{"line_number":17,"context_line":"confuse user, it does some libvirt driver specific checks. The live-migration"},{"line_number":18,"context_line":"API should be changed for more easy to use."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_f555c24f","line":17,"updated":"2015-11-26 02:51:31.000000000","message":"s/confuse/confuses/","commit_id":"0070c427b7f718cfddb49122c4ede89645feb1a2"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"9f531ecf80769f23669caaca10db47234cfe14d4","unresolved":false,"context_lines":[{"line_number":24,"context_line":"API."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"* For external system and admin, it is hard to know what value should be used"},{"line_number":27,"context_line":"  for target host. If choice `block_migration` as True, but the orignal and"},{"line_number":28,"context_line":"  target host is on shared storage system, then the API will be failed."},{"line_number":29,"context_line":"* When user passes `host` flag with None value, the scheduler will choice host"},{"line_number":30,"context_line":"  for user, but scheduler doesn\u0027t have knowledge about the shared storage. So"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_78754796","line":27,"updated":"2015-11-26 02:51:31.000000000","message":"s/choice/setting/","commit_id":"0070c427b7f718cfddb49122c4ede89645feb1a2"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"b246036e8c18820237fcf083f29246003130e79b","unresolved":false,"context_lines":[{"line_number":24,"context_line":"API."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"* For external system and admin, it is hard to know what value should be used"},{"line_number":27,"context_line":"  for target host. If choice `block_migration` as True, but the orignal and"},{"line_number":28,"context_line":"  target host is on shared storage system, then the API will be failed."},{"line_number":29,"context_line":"* When user passes `host` flag with None value, the scheduler will choice host"},{"line_number":30,"context_line":"  for user, but scheduler doesn\u0027t have knowledge about the shared storage. So"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_5b2abd2d","line":27,"in_reply_to":"9a8ffd7b_78754796","updated":"2015-11-26 03:54:56.000000000","message":"Emm... let me simple it, just say \u0027If `block_migration` is True\u0027","commit_id":"0070c427b7f718cfddb49122c4ede89645feb1a2"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"9f531ecf80769f23669caaca10db47234cfe14d4","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"* For external system and admin, it is hard to know what value should be used"},{"line_number":27,"context_line":"  for target host. If choice `block_migration` as True, but the orignal and"},{"line_number":28,"context_line":"  target host is on shared storage system, then the API will be failed."},{"line_number":29,"context_line":"* When user passes `host` flag with None value, the scheduler will choice host"},{"line_number":30,"context_line":"  for user, but scheduler doesn\u0027t have knowledge about the shared storage. So"},{"line_number":31,"context_line":"  there are many chances live-migration API failed."}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_7806a7cf","line":28,"updated":"2015-11-26 02:51:31.000000000","message":"s/host is/hosts are/","commit_id":"0070c427b7f718cfddb49122c4ede89645feb1a2"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"b246036e8c18820237fcf083f29246003130e79b","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"* For external system and admin, it is hard to know what value should be used"},{"line_number":27,"context_line":"  for target host. If choice `block_migration` as True, but the orignal and"},{"line_number":28,"context_line":"  target host is on shared storage system, then the API will be failed."},{"line_number":29,"context_line":"* When user passes `host` flag with None value, the scheduler will choice host"},{"line_number":30,"context_line":"  for user, but scheduler doesn\u0027t have knowledge about the shared storage. So"},{"line_number":31,"context_line":"  there are many chances live-migration API failed."}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_fbe851e4","line":28,"in_reply_to":"9a8ffd7b_7806a7cf","updated":"2015-11-26 03:54:56.000000000","message":"Done","commit_id":"0070c427b7f718cfddb49122c4ede89645feb1a2"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"9f531ecf80769f23669caaca10db47234cfe14d4","unresolved":false,"context_lines":[{"line_number":26,"context_line":"* For external system and admin, it is hard to know what value should be used"},{"line_number":27,"context_line":"  for target host. If choice `block_migration` as True, but the orignal and"},{"line_number":28,"context_line":"  target host is on shared storage system, then the API will be failed."},{"line_number":29,"context_line":"* When user passes `host` flag with None value, the scheduler will choice host"},{"line_number":30,"context_line":"  for user, but scheduler doesn\u0027t have knowledge about the shared storage. So"},{"line_number":31,"context_line":"  there are many chances live-migration API failed."},{"line_number":32,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_d8b55331","line":29,"updated":"2015-11-26 02:51:31.000000000","message":"s/choice/choose/","commit_id":"0070c427b7f718cfddb49122c4ede89645feb1a2"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"b246036e8c18820237fcf083f29246003130e79b","unresolved":false,"context_lines":[{"line_number":26,"context_line":"* For external system and admin, it is hard to know what value should be used"},{"line_number":27,"context_line":"  for target host. If choice `block_migration` as True, but the orignal and"},{"line_number":28,"context_line":"  target host is on shared storage system, then the API will be failed."},{"line_number":29,"context_line":"* When user passes `host` flag with None value, the scheduler will choice host"},{"line_number":30,"context_line":"  for user, but scheduler doesn\u0027t have knowledge about the shared storage. So"},{"line_number":31,"context_line":"  there are many chances live-migration API failed."},{"line_number":32,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_bbf2c9d0","line":29,"in_reply_to":"9a8ffd7b_d8b55331","updated":"2015-11-26 03:54:56.000000000","message":"Done","commit_id":"0070c427b7f718cfddb49122c4ede89645feb1a2"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"9f531ecf80769f23669caaca10db47234cfe14d4","unresolved":false,"context_lines":[{"line_number":27,"context_line":"  for target host. If choice `block_migration` as True, but the orignal and"},{"line_number":28,"context_line":"  target host is on shared storage system, then the API will be failed."},{"line_number":29,"context_line":"* When user passes `host` flag with None value, the scheduler will choice host"},{"line_number":30,"context_line":"  for user, but scheduler doesn\u0027t have knowledge about the shared storage. So"},{"line_number":31,"context_line":"  there are many chances live-migration API failed."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"For `host` flag, the None value means let scheduler choice a host. This can be"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_7838e7a0","line":30,"updated":"2015-11-26 02:51:31.000000000","message":"How about adding \"automatically\" after \"for user\"?\n\nHow about\n\n \"but the scheduler cannot know the original/target hosts are on shared storage system. So\"\n\n?","commit_id":"0070c427b7f718cfddb49122c4ede89645feb1a2"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"9f531ecf80769f23669caaca10db47234cfe14d4","unresolved":false,"context_lines":[{"line_number":30,"context_line":"  for user, but scheduler doesn\u0027t have knowledge about the shared storage. So"},{"line_number":31,"context_line":"  there are many chances live-migration API failed."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"For `host` flag, the None value means let scheduler choice a host. This can be"},{"line_number":34,"context_line":"default value. For ease the usage, \u0027host\u0027 flag can be optional."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"For `disk_over_commit` flag, it is really confuse for user making choice. And"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_b8040fc0","line":33,"updated":"2015-11-26 02:51:31.000000000","message":"s/choice/choose/","commit_id":"0070c427b7f718cfddb49122c4ede89645feb1a2"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"b246036e8c18820237fcf083f29246003130e79b","unresolved":false,"context_lines":[{"line_number":30,"context_line":"  for user, but scheduler doesn\u0027t have knowledge about the shared storage. So"},{"line_number":31,"context_line":"  there are many chances live-migration API failed."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"For `host` flag, the None value means let scheduler choice a host. This can be"},{"line_number":34,"context_line":"default value. For ease the usage, \u0027host\u0027 flag can be optional."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"For `disk_over_commit` flag, it is really confuse for user making choice. And"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_9b8ca536","line":33,"in_reply_to":"9a8ffd7b_b8040fc0","updated":"2015-11-26 03:54:56.000000000","message":"Done","commit_id":"0070c427b7f718cfddb49122c4ede89645feb1a2"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"9f531ecf80769f23669caaca10db47234cfe14d4","unresolved":false,"context_lines":[{"line_number":31,"context_line":"  there are many chances live-migration API failed."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"For `host` flag, the None value means let scheduler choice a host. This can be"},{"line_number":34,"context_line":"default value. For ease the usage, \u0027host\u0027 flag can be optional."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"For `disk_over_commit` flag, it is really confuse for user making choice. And"},{"line_number":37,"context_line":"user don\u0027t know which value is normal choice. Actually `disk_over_commit` is"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_d8ff93a8","line":34,"updated":"2015-11-26 02:51:31.000000000","message":"the is not necessary","commit_id":"0070c427b7f718cfddb49122c4ede89645feb1a2"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"b246036e8c18820237fcf083f29246003130e79b","unresolved":false,"context_lines":[{"line_number":31,"context_line":"  there are many chances live-migration API failed."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"For `host` flag, the None value means let scheduler choice a host. This can be"},{"line_number":34,"context_line":"default value. For ease the usage, \u0027host\u0027 flag can be optional."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"For `disk_over_commit` flag, it is really confuse for user making choice. And"},{"line_number":37,"context_line":"user don\u0027t know which value is normal choice. Actually `disk_over_commit` is"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_3b833906","line":34,"in_reply_to":"9a8ffd7b_d8ff93a8","updated":"2015-11-26 03:54:56.000000000","message":"Done","commit_id":"0070c427b7f718cfddb49122c4ede89645feb1a2"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"9f531ecf80769f23669caaca10db47234cfe14d4","unresolved":false,"context_lines":[{"line_number":33,"context_line":"For `host` flag, the None value means let scheduler choice a host. This can be"},{"line_number":34,"context_line":"default value. For ease the usage, \u0027host\u0027 flag can be optional."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"For `disk_over_commit` flag, it is really confuse for user making choice. And"},{"line_number":37,"context_line":"user don\u0027t know which value is normal choice. Actually `disk_over_commit` is"},{"line_number":38,"context_line":"only used by libvirt virt driver, there isn\u0027t other virt driver implement it."},{"line_number":39,"context_line":"The disk size check which was done by libvirt virt driver also count the disk"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_b8c96f7a","line":36,"updated":"2015-11-26 02:51:31.000000000","message":"confuse is V, so how about\n\n ..., it confuses user when making choice. And","commit_id":"0070c427b7f718cfddb49122c4ede89645feb1a2"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"b246036e8c18820237fcf083f29246003130e79b","unresolved":false,"context_lines":[{"line_number":33,"context_line":"For `host` flag, the None value means let scheduler choice a host. This can be"},{"line_number":34,"context_line":"default value. For ease the usage, \u0027host\u0027 flag can be optional."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"For `disk_over_commit` flag, it is really confuse for user making choice. And"},{"line_number":37,"context_line":"user don\u0027t know which value is normal choice. Actually `disk_over_commit` is"},{"line_number":38,"context_line":"only used by libvirt virt driver, there isn\u0027t other virt driver implement it."},{"line_number":39,"context_line":"The disk size check which was done by libvirt virt driver also count the disk"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_bb772939","line":36,"in_reply_to":"9a8ffd7b_b8c96f7a","updated":"2015-11-26 03:54:56.000000000","message":"Done","commit_id":"0070c427b7f718cfddb49122c4ede89645feb1a2"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"9f531ecf80769f23669caaca10db47234cfe14d4","unresolved":false,"context_lines":[{"line_number":34,"context_line":"default value. For ease the usage, \u0027host\u0027 flag can be optional."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"For `disk_over_commit` flag, it is really confuse for user making choice. And"},{"line_number":37,"context_line":"user don\u0027t know which value is normal choice. Actually `disk_over_commit` is"},{"line_number":38,"context_line":"only used by libvirt virt driver, there isn\u0027t other virt driver implement it."},{"line_number":39,"context_line":"The disk size check which was done by libvirt virt driver also count the disk"},{"line_number":40,"context_line":"usage different with ResourceTracker."}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_7890e743","line":37,"updated":"2015-11-26 02:51:31.000000000","message":"s/don\u0027t/doesn\u0027t/","commit_id":"0070c427b7f718cfddb49122c4ede89645feb1a2"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"b246036e8c18820237fcf083f29246003130e79b","unresolved":false,"context_lines":[{"line_number":34,"context_line":"default value. For ease the usage, \u0027host\u0027 flag can be optional."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"For `disk_over_commit` flag, it is really confuse for user making choice. And"},{"line_number":37,"context_line":"user don\u0027t know which value is normal choice. Actually `disk_over_commit` is"},{"line_number":38,"context_line":"only used by libvirt virt driver, there isn\u0027t other virt driver implement it."},{"line_number":39,"context_line":"The disk size check which was done by libvirt virt driver also count the disk"},{"line_number":40,"context_line":"usage different with ResourceTracker."}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_bbae4983","line":37,"in_reply_to":"9a8ffd7b_7890e743","updated":"2015-11-26 03:54:56.000000000","message":"Done","commit_id":"0070c427b7f718cfddb49122c4ede89645feb1a2"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"9f531ecf80769f23669caaca10db47234cfe14d4","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"For `disk_over_commit` flag, it is really confuse for user making choice. And"},{"line_number":37,"context_line":"user don\u0027t know which value is normal choice. Actually `disk_over_commit` is"},{"line_number":38,"context_line":"only used by libvirt virt driver, there isn\u0027t other virt driver implement it."},{"line_number":39,"context_line":"The disk size check which was done by libvirt virt driver also count the disk"},{"line_number":40,"context_line":"usage different with ResourceTracker."},{"line_number":41,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_389a5f64","line":38,"updated":"2015-11-26 02:51:31.000000000","message":"s/implement it/implementation/","commit_id":"0070c427b7f718cfddb49122c4ede89645feb1a2"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"b246036e8c18820237fcf083f29246003130e79b","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"For `disk_over_commit` flag, it is really confuse for user making choice. And"},{"line_number":37,"context_line":"user don\u0027t know which value is normal choice. Actually `disk_over_commit` is"},{"line_number":38,"context_line":"only used by libvirt virt driver, there isn\u0027t other virt driver implement it."},{"line_number":39,"context_line":"The disk size check which was done by libvirt virt driver also count the disk"},{"line_number":40,"context_line":"usage different with ResourceTracker."},{"line_number":41,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_dba9cd7c","line":38,"in_reply_to":"9a8ffd7b_389a5f64","updated":"2015-11-26 03:54:56.000000000","message":"Done","commit_id":"0070c427b7f718cfddb49122c4ede89645feb1a2"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"9f531ecf80769f23669caaca10db47234cfe14d4","unresolved":false,"context_lines":[{"line_number":36,"context_line":"For `disk_over_commit` flag, it is really confuse for user making choice. And"},{"line_number":37,"context_line":"user don\u0027t know which value is normal choice. Actually `disk_over_commit` is"},{"line_number":38,"context_line":"only used by libvirt virt driver, there isn\u0027t other virt driver implement it."},{"line_number":39,"context_line":"The disk size check which was done by libvirt virt driver also count the disk"},{"line_number":40,"context_line":"usage different with ResourceTracker."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_18a0bb8f","line":39,"updated":"2015-11-26 02:51:31.000000000","message":"s/count/for counting/","commit_id":"0070c427b7f718cfddb49122c4ede89645feb1a2"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"b246036e8c18820237fcf083f29246003130e79b","unresolved":false,"context_lines":[{"line_number":36,"context_line":"For `disk_over_commit` flag, it is really confuse for user making choice. And"},{"line_number":37,"context_line":"user don\u0027t know which value is normal choice. Actually `disk_over_commit` is"},{"line_number":38,"context_line":"only used by libvirt virt driver, there isn\u0027t other virt driver implement it."},{"line_number":39,"context_line":"The disk size check which was done by libvirt virt driver also count the disk"},{"line_number":40,"context_line":"usage different with ResourceTracker."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_1bc75546","line":39,"in_reply_to":"9a8ffd7b_18a0bb8f","updated":"2015-11-26 03:54:56.000000000","message":"Done","commit_id":"0070c427b7f718cfddb49122c4ede89645feb1a2"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"9f531ecf80769f23669caaca10db47234cfe14d4","unresolved":false,"context_lines":[{"line_number":42,"context_line":"Use Cases"},{"line_number":43,"context_line":"---------"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"* User and user\u0027s external system can use live-migration API without figure out"},{"line_number":46,"context_line":"  what storage the host running on manually."},{"line_number":47,"context_line":"* User didn\u0027t specify host flag when he didn\u0027t want to choice host by himself."},{"line_number":48,"context_line":"* User didn\u0027t want to know whether need disk overcommit, just hope nova can"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_18c75b46","line":45,"updated":"2015-11-26 02:51:31.000000000","message":"s/figure/fuguring/","commit_id":"0070c427b7f718cfddb49122c4ede89645feb1a2"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"b246036e8c18820237fcf083f29246003130e79b","unresolved":false,"context_lines":[{"line_number":42,"context_line":"Use Cases"},{"line_number":43,"context_line":"---------"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"* User and user\u0027s external system can use live-migration API without figure out"},{"line_number":46,"context_line":"  what storage the host running on manually."},{"line_number":47,"context_line":"* User didn\u0027t specify host flag when he didn\u0027t want to choice host by himself."},{"line_number":48,"context_line":"* User didn\u0027t want to know whether need disk overcommit, just hope nova can"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_fbd291ff","line":45,"in_reply_to":"9a8ffd7b_18c75b46","updated":"2015-11-26 03:54:56.000000000","message":"done, figuring","commit_id":"0070c427b7f718cfddb49122c4ede89645feb1a2"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"9f531ecf80769f23669caaca10db47234cfe14d4","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"* User and user\u0027s external system can use live-migration API without figure out"},{"line_number":46,"context_line":"  what storage the host running on manually."},{"line_number":47,"context_line":"* User didn\u0027t specify host flag when he didn\u0027t want to choice host by himself."},{"line_number":48,"context_line":"* User didn\u0027t want to know whether need disk overcommit, just hope nova can"},{"line_number":49,"context_line":"  do the right thing."},{"line_number":50,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_78dea712","line":47,"updated":"2015-11-26 02:51:31.000000000","message":"s/choice/choose/","commit_id":"0070c427b7f718cfddb49122c4ede89645feb1a2"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"b246036e8c18820237fcf083f29246003130e79b","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"* User and user\u0027s external system can use live-migration API without figure out"},{"line_number":46,"context_line":"  what storage the host running on manually."},{"line_number":47,"context_line":"* User didn\u0027t specify host flag when he didn\u0027t want to choice host by himself."},{"line_number":48,"context_line":"* User didn\u0027t want to know whether need disk overcommit, just hope nova can"},{"line_number":49,"context_line":"  do the right thing."},{"line_number":50,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_7b2c6102","line":47,"in_reply_to":"9a8ffd7b_78dea712","updated":"2015-11-26 03:54:56.000000000","message":"Done","commit_id":"0070c427b7f718cfddb49122c4ede89645feb1a2"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"d5162f3bcdd38aae8c0f011ff007d04531a7ed19","unresolved":false,"context_lines":[{"line_number":164,"context_line":"----------"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"* Detect the block migration whether or not,  when `block_migration` value is"},{"line_number":167,"context_line":"  None"},{"line_number":168,"context_line":"* Make `block_migration`, `host` flags optional, and remove `disk_over_commit`"},{"line_number":169,"context_line":"  flag in the API."},{"line_number":170,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_89d7a8ec","line":167,"updated":"2015-11-25 13:42:07.000000000","message":"How ? You haven\u0027t explained that. Does it need to depend on another spec?","commit_id":"0070c427b7f718cfddb49122c4ede89645feb1a2"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"b5a5c11dbb07b69d409bb811426294f9a5a13d1b","unresolved":false,"context_lines":[{"line_number":164,"context_line":"----------"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"* Detect the block migration whether or not,  when `block_migration` value is"},{"line_number":167,"context_line":"  None"},{"line_number":168,"context_line":"* Make `block_migration`, `host` flags optional, and remove `disk_over_commit`"},{"line_number":169,"context_line":"  flag in the API."},{"line_number":170,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_844f8fbc","line":167,"in_reply_to":"9a8ffd7b_89d7a8ec","updated":"2015-11-25 13:55:20.000000000","message":"Actually we already have shared storage check in the current code, I want to use that check result to make decision directly https://github.com/openstack/nova/blob/master/nova/virt/libvirt/driver.py#L5238","commit_id":"0070c427b7f718cfddb49122c4ede89645feb1a2"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"d5162f3bcdd38aae8c0f011ff007d04531a7ed19","unresolved":false,"context_lines":[{"line_number":166,"context_line":"* Detect the block migration whether or not,  when `block_migration` value is"},{"line_number":167,"context_line":"  None"},{"line_number":168,"context_line":"* Make `block_migration`, `host` flags optional, and remove `disk_over_commit`"},{"line_number":169,"context_line":"  flag in the API."},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"Dependencies"},{"line_number":172,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_49e1c0cf","line":169,"updated":"2015-11-25 13:42:07.000000000","message":"you said you\u0027ll remove the conditional in the virt driver too, right? that\u0027s missing","commit_id":"0070c427b7f718cfddb49122c4ede89645feb1a2"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"b5a5c11dbb07b69d409bb811426294f9a5a13d1b","unresolved":false,"context_lines":[{"line_number":166,"context_line":"* Detect the block migration whether or not,  when `block_migration` value is"},{"line_number":167,"context_line":"  None"},{"line_number":168,"context_line":"* Make `block_migration`, `host` flags optional, and remove `disk_over_commit`"},{"line_number":169,"context_line":"  flag in the API."},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"Dependencies"},{"line_number":172,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_64cb8b1f","line":169,"in_reply_to":"9a8ffd7b_49e1c0cf","updated":"2015-11-25 13:55:20.000000000","message":"yea, I will added.","commit_id":"0070c427b7f718cfddb49122c4ede89645feb1a2"}]}
