)]}'
{"specs/mitaka/approved/host-maintenance-mode.rst":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"4edf23c50e495795b8a2cafb4a9da7766ead26fa","unresolved":false,"context_lines":[{"line_number":7,"context_line":""},{"line_number":8,"context_line":"Provide a default host maintenance mode handling to enable compute node"},{"line_number":9,"context_line":"machines to upgrade OS or hardware without pausing running instances in"},{"line_number":10,"context_line":"Nova compute, independant to drivers."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Problem description"},{"line_number":13,"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":"5a2ca52d_5edaa079","line":10,"updated":"2015-10-15 09:31:49.000000000","message":"So this is what I see disable host being used for, to some extent.","commit_id":"42766bae8ad8044aa20728682ad97bd2c097986d"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"cacd57c0b69058397e60ee23826d3147c4680128","unresolved":false,"context_lines":[{"line_number":12,"context_line":"Problem description"},{"line_number":13,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"When executing the following command on a KVM box:"},{"line_number":16,"context_line":"    nova host-update XXX --maintenance enable"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"it returns the following error:"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a2fa921_9ee64f15","line":15,"updated":"2015-10-12 13:55:46.000000000","message":"when you say \u0027KVM box\u0027, it\u0027s a host like x86 or power machine, right?","commit_id":"42766bae8ad8044aa20728682ad97bd2c097986d"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"9395c081e5c3b6a5a9bb1326afa169808dca4b2c","unresolved":false,"context_lines":[{"line_number":12,"context_line":"Problem description"},{"line_number":13,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"When executing the following command on a KVM box:"},{"line_number":16,"context_line":"    nova host-update XXX --maintenance enable"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"it returns the following error:"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a2fa921_2b00ffa9","line":15,"in_reply_to":"7a2fa921_9ee64f15","updated":"2015-10-13 01:26:06.000000000","message":"Yes, it is a physical machine supporting KVM.","commit_id":"42766bae8ad8044aa20728682ad97bd2c097986d"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"cacd57c0b69058397e60ee23826d3147c4680128","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"In a workload cloud, nova compute nodes need to be maintained (such as system"},{"line_number":31,"context_line":"or hardware upgrade) from time to time. But the service or VMs running on the"},{"line_number":32,"context_line":"nodes cannot be paused to minimize the effect to users. So we need this"},{"line_number":33,"context_line":"functionality to put a compute node to maintenance mode so that no VM will be"},{"line_number":34,"context_line":"scheduled to run on this node and no new instance will be create on this node."},{"line_number":35,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a2fa921_dea92792","line":32,"updated":"2015-10-12 13:55:46.000000000","message":"will evacuate all instances on the host mark this nova-compute service disabled fulfill the request?","commit_id":"42766bae8ad8044aa20728682ad97bd2c097986d"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"9395c081e5c3b6a5a9bb1326afa169808dca4b2c","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"In a workload cloud, nova compute nodes need to be maintained (such as system"},{"line_number":31,"context_line":"or hardware upgrade) from time to time. But the service or VMs running on the"},{"line_number":32,"context_line":"nodes cannot be paused to minimize the effect to users. So we need this"},{"line_number":33,"context_line":"functionality to put a compute node to maintenance mode so that no VM will be"},{"line_number":34,"context_line":"scheduled to run on this node and no new instance will be create on this node."},{"line_number":35,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a2fa921_ebbe87d3","line":32,"in_reply_to":"7a2fa921_dea92792","updated":"2015-10-13 01:26:06.000000000","message":"Yes. It\u0027s more like this:\n1. Disable compute service\n2. Evacuate all instances\n3. If migration fails, reenable the service\n4. Set the host to maintenance mode","commit_id":"42766bae8ad8044aa20728682ad97bd2c097986d"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"cacd57c0b69058397e60ee23826d3147c4680128","unresolved":false,"context_lines":[{"line_number":36,"context_line":"Project Priority"},{"line_number":37,"context_line":"-----------------"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"None"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Proposed change"},{"line_number":42,"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":"7a2fa921_9e940f45","line":39,"updated":"2015-10-12 13:55:46.000000000","message":"this can be removed","commit_id":"42766bae8ad8044aa20728682ad97bd2c097986d"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"9395c081e5c3b6a5a9bb1326afa169808dca4b2c","unresolved":false,"context_lines":[{"line_number":36,"context_line":"Project Priority"},{"line_number":37,"context_line":"-----------------"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"None"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Proposed change"},{"line_number":42,"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":"7a2fa921_cba06ba8","line":39,"in_reply_to":"7a2fa921_9e940f45","updated":"2015-10-13 01:26:06.000000000","message":"OK, thanks.","commit_id":"42766bae8ad8044aa20728682ad97bd2c097986d"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"4edf23c50e495795b8a2cafb4a9da7766ead26fa","unresolved":false,"context_lines":[{"line_number":44,"context_line":"1. Implement a default host maintenance mode handling process in compute. When"},{"line_number":45,"context_line":"   executing \"nova host-update XXX --maintenance enable\" on a compute node, it"},{"line_number":46,"context_line":"   will first pass the request to driver. If the driver has not implemented the"},{"line_number":47,"context_line":"   host maintenance mode, it falls back to the default one."},{"line_number":48,"context_line":"2. Host maintenance mode handling will disable compute service on a compute"},{"line_number":49,"context_line":"   node, so it needs to know if the migrations have been done successfully."},{"line_number":50,"context_line":"   The current migration is an asynchronized process, which means when the"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a2ca52d_1e69888b","line":47,"updated":"2015-10-15 09:31:49.000000000","message":"to be clear, the current host maintenance mode does not empty the compute node of virtual machines.","commit_id":"42766bae8ad8044aa20728682ad97bd2c097986d"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"b4790b8f9e4f7ba748aa0e6a010fdfc842961633","unresolved":false,"context_lines":[{"line_number":12,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"When executing the following command on a KVM box:"},{"line_number":15,"context_line":"    nova host-update XXX --maintenance enable"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"it returns the following error:"},{"line_number":18,"context_line":"    ERROR (HTTPNotImplemented): Virt driver does not implement host"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5a2ca52d_63c30a58","line":15,"range":{"start_line":15,"start_character":9,"end_line":15,"end_character":20},"updated":"2015-10-16 09:20:22.000000000","message":"FWIW: This API design does not reflect a \"real\" action like \"boot\", \"shutdown\" or something like that. It could be replaced with \"do_something\" because all the magic and impact lives in the parameters (\"maintenance\" and \"status\").\n\nhttps://github.com/openstack/nova/blob/master/nova/api/openstack/compute/hosts.py#L99","commit_id":"f2a3ceaf10e6dc53a7fd4bc8d422726d0b18f8ef"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"b4790b8f9e4f7ba748aa0e6a010fdfc842961633","unresolved":false,"context_lines":[{"line_number":30,"context_line":"In a workload cloud, nova compute nodes need to be maintained (such as system"},{"line_number":31,"context_line":"or hardware upgrade) from time to time. But the service or VMs running on the"},{"line_number":32,"context_line":"nodes cannot be paused to minimize the effect to users. So we need this"},{"line_number":33,"context_line":"functionality to put a compute node to maintenance mode so that no VM will be"},{"line_number":34,"context_line":"scheduled to run on this node and no new instance will be create on this node."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Project Priority"},{"line_number":37,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5a2ca52d_d80e8d8b","line":34,"range":{"start_line":33,"start_character":64,"end_line":34,"end_character":77},"updated":"2015-10-16 09:20:22.000000000","message":"That\u0027s what the \"nova service-disable\" CLI command is for.","commit_id":"f2a3ceaf10e6dc53a7fd4bc8d422726d0b18f8ef"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"96cd3731459a7808a01478ae93864fba4132c091","unresolved":false,"context_lines":[{"line_number":30,"context_line":"In a workload cloud, nova compute nodes need to be maintained (such as system"},{"line_number":31,"context_line":"or hardware upgrade) from time to time. But the service or VMs running on the"},{"line_number":32,"context_line":"nodes cannot be paused to minimize the effect to users. So we need this"},{"line_number":33,"context_line":"functionality to put a compute node to maintenance mode so that no VM will be"},{"line_number":34,"context_line":"scheduled to run on this node and no new instance will be create on this node."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Project Priority"},{"line_number":37,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5a2ca52d_9279d184","line":34,"range":{"start_line":33,"start_character":64,"end_line":34,"end_character":77},"in_reply_to":"5a2ca52d_d80e8d8b","updated":"2015-10-16 10:00:52.000000000","message":"+1","commit_id":"f2a3ceaf10e6dc53a7fd4bc8d422726d0b18f8ef"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"236cb6093dc409f900516801290dc8a7c9fc08a9","unresolved":false,"context_lines":[{"line_number":46,"context_line":"1. Disable the compute service on the compute node."},{"line_number":47,"context_line":"2. Migrate all instances on the compute node."},{"line_number":48,"context_line":"It is more like two novaclient commands: \"nova service-disable\" and"},{"line_number":49,"context_line":"\"nova host-evacuate-live\"."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"So this functionality should be implement like this:"},{"line_number":52,"context_line":"1. On Nova side, host_maintenance_mode() API in Nova is not implemented. It"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5a2ca52d_b8795184","line":49,"updated":"2015-10-16 08:55:21.000000000","message":"Well, IMHO host-evacuate-live is an horrible hack for doing multiple live migrations.\n\nAre we really sure that we want to go into that direction by adding more intelligence in the novaclient for something that can be scripted out-of-tree ? \nI honestly think that any operator could just implement his own flavor of that maintenance command just by using the python bindings to novaclient, instead of having the Nova team supporting a contrib script that would be hard to maintain because of the many checks it could need.\n\nHere, we talk about orchestration, and I\u0027m honestly not sold on having the Nova CLI providing more than just API call wrappers.","commit_id":"f2a3ceaf10e6dc53a7fd4bc8d422726d0b18f8ef"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"b4790b8f9e4f7ba748aa0e6a010fdfc842961633","unresolved":false,"context_lines":[{"line_number":46,"context_line":"1. Disable the compute service on the compute node."},{"line_number":47,"context_line":"2. Migrate all instances on the compute node."},{"line_number":48,"context_line":"It is more like two novaclient commands: \"nova service-disable\" and"},{"line_number":49,"context_line":"\"nova host-evacuate-live\"."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"So this functionality should be implement like this:"},{"line_number":52,"context_line":"1. On Nova side, host_maintenance_mode() API in Nova is not implemented. It"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5a2ca52d_38046116","line":49,"in_reply_to":"5a2ca52d_b8795184","updated":"2015-10-16 09:20:22.000000000","message":"+1 The orchestration part can be done better by other REST API consumers outside of Nova.","commit_id":"f2a3ceaf10e6dc53a7fd4bc8d422726d0b18f8ef"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"b4790b8f9e4f7ba748aa0e6a010fdfc842961633","unresolved":false,"context_lines":[{"line_number":51,"context_line":"So this functionality should be implement like this:"},{"line_number":52,"context_line":"1. On Nova side, host_maintenance_mode() API in Nova is not implemented. It"},{"line_number":53,"context_line":"pass the request to driver directly. In order to keep Nova as a low level"},{"line_number":54,"context_line":"infrastructure API, implement a default host_maintenance_mode() API to simply"},{"line_number":55,"context_line":"enable/disable compute service, so that drivers who have not implemented one"},{"line_number":56,"context_line":"could fall back to it."},{"line_number":57,"context_line":"Refer to: http://docs.openstack.org/developer/nova/project_scope.html#no-more-orchestration"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5a2ca52d_f832690f","line":54,"range":{"start_line":54,"start_character":45,"end_line":54,"end_character":61},"updated":"2015-10-16 09:20:22.000000000","message":"What does \"maintenance mode\" even mean? That\u0027s the big issue I have with this API. That question was also a lot of fun when we discussed it in my local team. I\u0027m sure customers will have different opinions on what the impact should look like.","commit_id":"f2a3ceaf10e6dc53a7fd4bc8d422726d0b18f8ef"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"236cb6093dc409f900516801290dc8a7c9fc08a9","unresolved":false,"context_lines":[{"line_number":54,"context_line":"infrastructure API, implement a default host_maintenance_mode() API to simply"},{"line_number":55,"context_line":"enable/disable compute service, so that drivers who have not implemented one"},{"line_number":56,"context_line":"could fall back to it."},{"line_number":57,"context_line":"Refer to: http://docs.openstack.org/developer/nova/project_scope.html#no-more-orchestration"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"2. On Nova client side, improve \"host-update\" command as below:"},{"line_number":60,"context_line":"a) Disable compute service."}],"source_content_type":"text/x-rst","patch_set":4,"id":"5a2ca52d_d843ed11","line":57,"updated":"2015-10-16 08:55:21.000000000","message":"No. It would be horribly bad IMHO if disabling a service was hidden behind a non-verbose API call like host_maintenance.\n\nWe already have the API call for disabling a service, why should we need to have another way to do that?","commit_id":"f2a3ceaf10e6dc53a7fd4bc8d422726d0b18f8ef"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"b4790b8f9e4f7ba748aa0e6a010fdfc842961633","unresolved":false,"context_lines":[{"line_number":54,"context_line":"infrastructure API, implement a default host_maintenance_mode() API to simply"},{"line_number":55,"context_line":"enable/disable compute service, so that drivers who have not implemented one"},{"line_number":56,"context_line":"could fall back to it."},{"line_number":57,"context_line":"Refer to: http://docs.openstack.org/developer/nova/project_scope.html#no-more-orchestration"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"2. On Nova client side, improve \"host-update\" command as below:"},{"line_number":60,"context_line":"a) Disable compute service."}],"source_content_type":"text/x-rst","patch_set":4,"id":"5a2ca52d_a3128255","line":57,"in_reply_to":"5a2ca52d_d843ed11","updated":"2015-10-16 09:20:22.000000000","message":"+1","commit_id":"f2a3ceaf10e6dc53a7fd4bc8d422726d0b18f8ef"}]}
