)]}'
{".gitreview":[{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"ae652d8a6f3b2a5554978589d2007fc0fef2819a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[gerrit]"},{"line_number":2,"context_line":"host\u003dreview.openstack.org"},{"line_number":3,"context_line":"port\u003d29418"},{"line_number":4,"context_line":"project\u003dopenstack/nova-specs.git"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"fa32b979_0a0e113b","side":"PARENT","line":2,"updated":"2015-06-16 16:02:58.000000000","message":"wrong action?","commit_id":"ba11ff242b5dd7b1d18b6cc29f13568388ca2a5d"}],"specs/liberty/approved/get-valid-server-state.rst":[{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"ae652d8a6f3b2a5554978589d2007fc0fef2819a","unresolved":false,"context_lines":[{"line_number":81,"context_line":""},{"line_number":82,"context_line":"GET /v2.1/servers/os-extended-status/{server_id} and"},{"line_number":83,"context_line":"GET /v2.1/servers/os-extended-status/detail"},{"line_number":84,"context_line":"should show also host_status up or host_status down in response:"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"request::"},{"line_number":87,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa32b979_4a3c19e2","line":84,"updated":"2015-06-16 16:02:58.000000000","message":"Microversion should be mentioned?","commit_id":"65f29e67bae71b9be3b9393780b4e473be657d4b"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"ae652d8a6f3b2a5554978589d2007fc0fef2819a","unresolved":false,"context_lines":[{"line_number":141,"context_line":"      \"OS-EXT-STS:power_state\": 1,"},{"line_number":142,"context_line":"      \"OS-EXT-STS:task_state\": null,"},{"line_number":143,"context_line":"      \"OS-EXT-STS:vm_state\": \"active\","},{"line_number":144,"context_line":"      \"host_status\": up,"},{"line_number":145,"context_line":"      \"progress\": 0,"},{"line_number":146,"context_line":"      \"status\": \"ACTIVE\","},{"line_number":147,"context_line":"      \"tenant_id\": \"openstack\","}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa32b979_2a8675b9","line":144,"updated":"2015-06-16 16:02:58.000000000","message":"this is the only change of whole spec, right? \n\nwe do have the host status report API \n\nwhy should we combine those 2 API? maybe it\u0027s API user\u0027s task to get host status and check the instance status?","commit_id":"65f29e67bae71b9be3b9393780b4e473be657d4b"},{"author":{"_account_id":15834,"name":"Tomi Juvonen","email":"tomi.juvonen@nokia.com","username":"tojuvone"},"change_message_id":"09d29b806316c942cb697b137473e4e2ac4f71c3","unresolved":false,"context_lines":[{"line_number":141,"context_line":"      \"OS-EXT-STS:power_state\": 1,"},{"line_number":142,"context_line":"      \"OS-EXT-STS:task_state\": null,"},{"line_number":143,"context_line":"      \"OS-EXT-STS:vm_state\": \"active\","},{"line_number":144,"context_line":"      \"host_status\": up,"},{"line_number":145,"context_line":"      \"progress\": 0,"},{"line_number":146,"context_line":"      \"status\": \"ACTIVE\","},{"line_number":147,"context_line":"      \"tenant_id\": \"openstack\","}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa32b979_cd6da399","line":144,"in_reply_to":"fa32b979_2a8675b9","updated":"2015-06-16 16:16:23.000000000","message":"User queries the VMs, not something like nova-compute. Now in this server side nothing happens to VM states if host has errors, so you do not get any indication. Either you add some field to tell that or you add ability to effect those states by API.","commit_id":"65f29e67bae71b9be3b9393780b4e473be657d4b"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"5a409b1e1ad5d51bcc9aac7b1c74f0bf0c229b04","unresolved":false,"context_lines":[{"line_number":17,"context_line":"Problem description"},{"line_number":18,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"VM states do not change for failed or unreachable host. User polling the state"},{"line_number":21,"context_line":"of his VMs do not therefore get the right information about the state of his"},{"line_number":22,"context_line":"VMs. Now in liberty there is spec accepted to have external monitoring"},{"line_number":23,"context_line":"tool to call API to mark compute node down if it has failed. As external"},{"line_number":24,"context_line":"system is also responsible for fencing (powering down) the host user should be"},{"line_number":25,"context_line":"able to trust his VMs are also down. Only thing missing is now to get this"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba3cc151_a6e4e7e0","line":22,"range":{"start_line":20,"start_character":0,"end_line":22,"end_character":4},"updated":"2015-07-01 14:57:32.000000000","message":"Just to be clear, if the host is unreachable from the control plane, we can make no assertions about the state of the vm. It is my opinion that we shouldn\u0027t in that case.","commit_id":"dd1148b51d9ae4e0573b776a1152724ec07a809f"},{"author":{"_account_id":15834,"name":"Tomi Juvonen","email":"tomi.juvonen@nokia.com","username":"tojuvone"},"change_message_id":"71117d69ea1d63a71e50f68488fa7d674bb54b2b","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"VM states do not change for failed or unreachable host. User polling the state"},{"line_number":21,"context_line":"of his VMs do not therefore get the right information about the state of his"},{"line_number":22,"context_line":"VMs. Now in liberty there is spec accepted to have external monitoring"},{"line_number":23,"context_line":"tool to call API to mark compute node down if it has failed. As external"},{"line_number":24,"context_line":"system is also responsible for fencing (powering down) the host user should be"},{"line_number":25,"context_line":"able to trust his VMs are also down. Only thing missing is now to get this"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba3cc151_f82caa9a","line":22,"in_reply_to":"ba3cc151_a6e4e7e0","updated":"2015-07-02 06:04:17.000000000","message":"Good point. Did not think this good enough what the fencing might actually be. Problem anyhow remains that user is looking his server state and doesn\u0027t see anything wrong.","commit_id":"dd1148b51d9ae4e0573b776a1152724ec07a809f"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"5a409b1e1ad5d51bcc9aac7b1c74f0bf0c229b04","unresolved":false,"context_lines":[{"line_number":23,"context_line":"tool to call API to mark compute node down if it has failed. As external"},{"line_number":24,"context_line":"system is also responsible for fencing (powering down) the host user should be"},{"line_number":25,"context_line":"able to trust his VMs are also down. Only thing missing is now to get this"},{"line_number":26,"context_line":"information from API used to query the VMs."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Use Cases"},{"line_number":29,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba3cc151_265e9744","line":26,"updated":"2015-07-01 14:57:32.000000000","message":"Although you and I have discussed it in the past, I hadn\u0027t previously made the connection that you make between force-down and being able to assert that the instance is running. In the case that your fencing agent forces the power on the host box off, then changing the instance state to SHUTOFF would make sense. However, I expect some fencing agents will *just* fence the node at the network level and  therefore not actually affect the state of the instances running on it. If you are not planning to use force-down to schedule evacuations, but just prevent new instances from being scheduled to the host, then you might employ this sort of network-only fencing (or maybe none at all) and still use the mark-host-down feature.\n\nAdditionally, when we un-force the host down, we can\u0027t make assertions of the instance states and require those to be naturally updated.\n\nFor the reasons above, I think we probably should not touch the instance states as a matter of policy as part of a force-down call, but I think it would be interesting to hear what other people think about this.","commit_id":"dd1148b51d9ae4e0573b776a1152724ec07a809f"},{"author":{"_account_id":15834,"name":"Tomi Juvonen","email":"tomi.juvonen@nokia.com","username":"tojuvone"},"change_message_id":"71117d69ea1d63a71e50f68488fa7d674bb54b2b","unresolved":false,"context_lines":[{"line_number":23,"context_line":"tool to call API to mark compute node down if it has failed. As external"},{"line_number":24,"context_line":"system is also responsible for fencing (powering down) the host user should be"},{"line_number":25,"context_line":"able to trust his VMs are also down. Only thing missing is now to get this"},{"line_number":26,"context_line":"information from API used to query the VMs."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Use Cases"},{"line_number":29,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba3cc151_78e65a16","line":26,"in_reply_to":"ba3cc151_265e9744","updated":"2015-07-02 06:04:17.000000000","message":"Thanks for making this more clear to me also as I have not been thinking how the fencing is actually done in different scenarios. So one could not couple marking host down straight to have VM instances a state effect. Anyhow in case VMs are not evacuated, but user would expect reboot or the own action to schedule new instance, then one should have clear indication in VM instance data query that there is a problem. Later on maybe coming some notifications that could be caught to know state of system, but those are not there yet and neither is capability of having notification to user with polling it from ceilometer. Although there are specs that would have that possible at some point of time:\nhttps://blueprints.launchpad.net/nova/+spec/service-status-notification\nhttps://blueprints.launchpad.net/ceilometer/+spec/event-alarm-evaluator\nRegardless of this notification stuff, the state information needs to be correct anyhow.","commit_id":"dd1148b51d9ae4e0573b776a1152724ec07a809f"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"c8ee0d56e552484baf34dcf6c25455d469845b9f","unresolved":false,"context_lines":[{"line_number":23,"context_line":"tool to call API to mark compute node down if it has failed. As external"},{"line_number":24,"context_line":"system is also responsible for fencing (powering down) the host user should be"},{"line_number":25,"context_line":"able to trust his VMs are also down. Only thing missing is now to get this"},{"line_number":26,"context_line":"information from API used to query the VMs."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Use Cases"},{"line_number":29,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba3cc151_b417e643","line":26,"in_reply_to":"ba3cc151_78e65a16","updated":"2015-07-02 18:55:18.000000000","message":"I have quite a few bits of information being added to the evacuation process to help with this:\n\nhttps://review.openstack.org/#/q/status:open+project:openstack/nova+branch:master+topic:bp/robustify-evacuate,n,z","commit_id":"dd1148b51d9ae4e0573b776a1152724ec07a809f"},{"author":{"_account_id":15834,"name":"Tomi Juvonen","email":"tomi.juvonen@nokia.com","username":"tojuvone"},"change_message_id":"afe8afe5bda2049a8013022c696958f4d2b607a6","unresolved":false,"context_lines":[{"line_number":23,"context_line":"tool to call API to mark compute node down if it has failed. As external"},{"line_number":24,"context_line":"system is also responsible for fencing (powering down) the host user should be"},{"line_number":25,"context_line":"able to trust his VMs are also down. Only thing missing is now to get this"},{"line_number":26,"context_line":"information from API used to query the VMs."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Use Cases"},{"line_number":29,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba3cc151_f83f9584","line":26,"in_reply_to":"ba3cc151_b417e643","updated":"2015-07-03 03:42:42.000000000","message":"Now thats cool!","commit_id":"dd1148b51d9ae4e0573b776a1152724ec07a809f"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"5a409b1e1ad5d51bcc9aac7b1c74f0bf0c229b04","unresolved":false,"context_lines":[{"line_number":61,"context_line":"Alternatives"},{"line_number":62,"context_line":"------------"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Reset server state could be enhanced to be able to reset power_state of VM."},{"line_number":65,"context_line":"In this case one would have to call reset server state for every VM in the"},{"line_number":66,"context_line":"host separately and also this is double work to write information to every VM"},{"line_number":67,"context_line":"instance as the host being down is already visible in corresponding"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba3cc151_e1fe59ad","line":64,"range":{"start_line":64,"start_character":0,"end_line":64,"end_character":36},"updated":"2015-07-01 14:57:32.000000000","message":"I\u0027m not sure what you\u0027re referring to here. I assume you mean mark-host-down?","commit_id":"dd1148b51d9ae4e0573b776a1152724ec07a809f"},{"author":{"_account_id":15834,"name":"Tomi Juvonen","email":"tomi.juvonen@nokia.com","username":"tojuvone"},"change_message_id":"71117d69ea1d63a71e50f68488fa7d674bb54b2b","unresolved":false,"context_lines":[{"line_number":61,"context_line":"Alternatives"},{"line_number":62,"context_line":"------------"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Reset server state could be enhanced to be able to reset power_state of VM."},{"line_number":65,"context_line":"In this case one would have to call reset server state for every VM in the"},{"line_number":66,"context_line":"host separately and also this is double work to write information to every VM"},{"line_number":67,"context_line":"instance as the host being down is already visible in corresponding"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba3cc151_f8a7caba","line":64,"in_reply_to":"ba3cc151_e1fe59ad","updated":"2015-07-02 06:04:17.000000000","message":"So there is API: /v2.1/servers/​{server_id}​/action to reset server state. Meaning if not coupling marking host down API to inject server states, this API could be enhanced to do something else than just putting VMs in error state. Anyhow this might not be so convenient and then might the call of the API be then more like host specific action and not for each VM.","commit_id":"dd1148b51d9ae4e0573b776a1152724ec07a809f"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"5a409b1e1ad5d51bcc9aac7b1c74f0bf0c229b04","unresolved":false,"context_lines":[{"line_number":208,"context_line":"        \"OS-EXT-STS:power_state\": 1,"},{"line_number":209,"context_line":"        \"OS-EXT-STS:task_state\": null,"},{"line_number":210,"context_line":"        \"OS-EXT-STS:vm_state\": \"active\","},{"line_number":211,"context_line":"        \"host_status\": up,"},{"line_number":212,"context_line":"        \"progress\": 0,"},{"line_number":213,"context_line":"        \"status\": \"ACTIVE\","},{"line_number":214,"context_line":"        \"tenant_id\": \"openstack\","}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba3cc151_e14419b8","line":211,"range":{"start_line":211,"start_character":23,"end_line":211,"end_character":26},"updated":"2015-07-01 14:57:32.000000000","message":"Did you mean for this to be down? as an example?\n\nI think we probably need up, down, and unknown. We know if the host is up, and if mark-host-down is called, then it\u0027s down. If we don\u0027t have mark-host-down, then I think state is unknown, right?","commit_id":"dd1148b51d9ae4e0573b776a1152724ec07a809f"},{"author":{"_account_id":15834,"name":"Tomi Juvonen","email":"tomi.juvonen@nokia.com","username":"tojuvone"},"change_message_id":"71117d69ea1d63a71e50f68488fa7d674bb54b2b","unresolved":false,"context_lines":[{"line_number":208,"context_line":"        \"OS-EXT-STS:power_state\": 1,"},{"line_number":209,"context_line":"        \"OS-EXT-STS:task_state\": null,"},{"line_number":210,"context_line":"        \"OS-EXT-STS:vm_state\": \"active\","},{"line_number":211,"context_line":"        \"host_status\": up,"},{"line_number":212,"context_line":"        \"progress\": 0,"},{"line_number":213,"context_line":"        \"status\": \"ACTIVE\","},{"line_number":214,"context_line":"        \"tenant_id\": \"openstack\","}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba3cc151_58ccb669","line":211,"in_reply_to":"ba3cc151_e14419b8","updated":"2015-07-02 06:04:17.000000000","message":"I put here example of using:\n/v2.1/servers/os-extended-status/{server_id}\nor\n/v2.1/servers/os-extended-status/detail\nand as huge amount of data here, did not put example of \"down\" (should have perhaps show somehow only the changing part) Anyhow yes, if implemented like this, then like you propose having also the unknown would be good in case mark-host-down is not used. Then one do not need to calculate that by oneself as currently from \"updated\" field.","commit_id":"dd1148b51d9ae4e0573b776a1152724ec07a809f"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"5a409b1e1ad5d51bcc9aac7b1c74f0bf0c229b04","unresolved":false,"context_lines":[{"line_number":268,"context_line":"Dependencies"},{"line_number":269,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":270,"context_line":""},{"line_number":271,"context_line":"Indirect dependency to: https://blueprints.launchpad.net/nova/+spec/mark-host-down"},{"line_number":272,"context_line":"having externally possibility of marking host down and updating the mentioned"},{"line_number":273,"context_line":"``forced_down`` flag to service DB."},{"line_number":274,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba3cc151_418145c2","line":271,"updated":"2015-07-01 14:57:32.000000000","message":"I think my comment above makes it a hard dependency.","commit_id":"dd1148b51d9ae4e0573b776a1152724ec07a809f"},{"author":{"_account_id":15834,"name":"Tomi Juvonen","email":"tomi.juvonen@nokia.com","username":"tojuvone"},"change_message_id":"71117d69ea1d63a71e50f68488fa7d674bb54b2b","unresolved":false,"context_lines":[{"line_number":268,"context_line":"Dependencies"},{"line_number":269,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":270,"context_line":""},{"line_number":271,"context_line":"Indirect dependency to: https://blueprints.launchpad.net/nova/+spec/mark-host-down"},{"line_number":272,"context_line":"having externally possibility of marking host down and updating the mentioned"},{"line_number":273,"context_line":"``forced_down`` flag to service DB."},{"line_number":274,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba3cc151_b8e942b9","line":271,"in_reply_to":"ba3cc151_418145c2","updated":"2015-07-02 06:04:17.000000000","message":"Indeed.","commit_id":"dd1148b51d9ae4e0573b776a1152724ec07a809f"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"6a1c6244905666ee7952d73fdb9429a4c94f7557","unresolved":false,"context_lines":[{"line_number":43,"context_line":"Project Priority"},{"line_number":44,"context_line":"-----------------"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"In liberty spec exception list"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Proposed change"},{"line_number":49,"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":5,"id":"ba3cc151_ee2e9aa4","line":46,"updated":"2015-07-06 19:02:35.000000000","message":"It would be better to just say it\u0027s not a priority.  The exception list isn\u0027t really related to priorities.","commit_id":"89684316f9862ee1b837c82e6bf46e32ac431eed"},{"author":{"_account_id":15834,"name":"Tomi Juvonen","email":"tomi.juvonen@nokia.com","username":"tojuvone"},"change_message_id":"f69e9d03bdcc00df1405e43440a83b24dc68db42","unresolved":false,"context_lines":[{"line_number":43,"context_line":"Project Priority"},{"line_number":44,"context_line":"-----------------"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"In liberty spec exception list"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Proposed change"},{"line_number":49,"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":5,"id":"ba3cc151_49a1aea8","line":46,"in_reply_to":"ba3cc151_ee2e9aa4","updated":"2015-07-07 06:31:29.000000000","message":"Will fix this","commit_id":"89684316f9862ee1b837c82e6bf46e32ac431eed"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"6a1c6244905666ee7952d73fdb9429a4c94f7557","unresolved":false,"context_lines":[{"line_number":74,"context_line":"state would come into question if for single VM instance one would need to"},{"line_number":75,"context_line":"fix state and not like only in the case where whole host has a problem. Also"},{"line_number":76,"context_line":"if touching the existing states in VM it might not be always right thing to do"},{"line_number":77,"context_line":"in case the host is only fenced in network and the VMs are still alive."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"Data model impact"},{"line_number":80,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba3cc151_0948985a","line":77,"updated":"2015-07-06 19:02:35.000000000","message":"A slightly different alternative would be to have the power_state in the API take into account the status of the underlying host.  So query is_up in the service group driver and if it\u0027s not up then show the power_state as down no matter what it\u0027s set to in the db.\n\nI think the question of how this is exposed should be brought to the operators.  I know that some deployers are very protective of host information and may not want it exposed in the way proposed here.  Relying on power_state and possibly vm_state may be a more acceptable solution.","commit_id":"89684316f9862ee1b837c82e6bf46e32ac431eed"},{"author":{"_account_id":15834,"name":"Tomi Juvonen","email":"tomi.juvonen@nokia.com","username":"tojuvone"},"change_message_id":"f69e9d03bdcc00df1405e43440a83b24dc68db42","unresolved":false,"context_lines":[{"line_number":74,"context_line":"state would come into question if for single VM instance one would need to"},{"line_number":75,"context_line":"fix state and not like only in the case where whole host has a problem. Also"},{"line_number":76,"context_line":"if touching the existing states in VM it might not be always right thing to do"},{"line_number":77,"context_line":"in case the host is only fenced in network and the VMs are still alive."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"Data model impact"},{"line_number":80,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba3cc151_c413635b","line":77,"in_reply_to":"ba3cc151_0948985a","updated":"2015-07-07 06:31:29.000000000","message":"This is a very good point to differentiate with user and admin that user should not see anything about the host state. I think that if is_up is reporting down, one cannot mangle that straight to power_state as it might be only management network down to hots. Then it is different if forced_down flag is there, so one can trust host is fenced and power_state could be the thing to change. Surely also there it is question of how it was fenced. In case only network fenced, server instances still up. All and all I would think this aproach to change power_state would be better now to not to show really anything about the host, but to have power_state changed in case forced_down true.","commit_id":"89684316f9862ee1b837c82e6bf46e32ac431eed"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"dea622baf55dd4edf20a958e8d5d399c4afcb248","unresolved":false,"context_lines":[{"line_number":94,"context_line":""},{"line_number":95,"context_line":"  request::"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    GET /v2.1/servers/os-extended-status/{server_id}"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"  response::"},{"line_number":100,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba3cc151_f1047915","line":97,"updated":"2015-07-06 10:49:41.000000000","message":"I don\u0027t think os-extended-status should be in there.","commit_id":"89684316f9862ee1b837c82e6bf46e32ac431eed"},{"author":{"_account_id":15834,"name":"Tomi Juvonen","email":"tomi.juvonen@nokia.com","username":"tojuvone"},"change_message_id":"f69e9d03bdcc00df1405e43440a83b24dc68db42","unresolved":false,"context_lines":[{"line_number":94,"context_line":""},{"line_number":95,"context_line":"  request::"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    GET /v2.1/servers/os-extended-status/{server_id}"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"  response::"},{"line_number":100,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba3cc151_a42f3f87","line":97,"in_reply_to":"ba3cc151_f1047915","updated":"2015-07-07 06:31:29.000000000","message":"Yes, I guess this for now: /v2/{tenant_id}/servers/{server_id}","commit_id":"89684316f9862ee1b837c82e6bf46e32ac431eed"}],"specs/mitaka/approved/get-valid-server-state.rst":[{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"705729ebc5ef466e62ceeb0bf689069658eb752c","unresolved":false,"context_lines":[{"line_number":54,"context_line":"in case host is forced down. As user should not see the host, this"},{"line_number":55,"context_line":"information should be visible in VM power_state. When host is forced down,"},{"line_number":56,"context_line":"meaning nova-compute service has in service DB ``forced_down`` flag true, this"},{"line_number":57,"context_line":"should be seen in APIs to query VM states as power_state SHUTOFF. By easiest"},{"line_number":58,"context_line":"power_state value would not need to be updated in DB, but just show it as"},{"line_number":59,"context_line":"SHUTOFF in APIs in case nova-compute service has in service DB ``forced_down``"},{"line_number":60,"context_line":"flag as true. There is still the problem here that how one has fenced host"}],"source_content_type":"text/x-rst","patch_set":7,"id":"da20952f_bef10a97","line":57,"updated":"2015-08-31 21:03:49.000000000","message":"Arguably it is not the host that is forced down, but rather the nova-compute service.  Since the host could be a separate machine that could still be running (think vmware where a single nova-compute service sits in front of a cluster of hosts), it might make more sense for the instance state to be shown as \"UNKNOWN\".  This would more accurately represent the fact that we simply don\u0027t know the state of the instance at this time.","commit_id":"ad2f0be766f7e29d8fad3f83311ccea8358b868a"},{"author":{"_account_id":15834,"name":"Tomi Juvonen","email":"tomi.juvonen@nokia.com","username":"tojuvone"},"change_message_id":"75923843b5d7fe5931e1f3c8d99f724955dca8bf","unresolved":false,"context_lines":[{"line_number":54,"context_line":"in case host is forced down. As user should not see the host, this"},{"line_number":55,"context_line":"information should be visible in VM power_state. When host is forced down,"},{"line_number":56,"context_line":"meaning nova-compute service has in service DB ``forced_down`` flag true, this"},{"line_number":57,"context_line":"should be seen in APIs to query VM states as power_state SHUTOFF. By easiest"},{"line_number":58,"context_line":"power_state value would not need to be updated in DB, but just show it as"},{"line_number":59,"context_line":"SHUTOFF in APIs in case nova-compute service has in service DB ``forced_down``"},{"line_number":60,"context_line":"flag as true. There is still the problem here that how one has fenced host"}],"source_content_type":"text/x-rst","patch_set":7,"id":"da20952f_fe7bebf2","line":57,"in_reply_to":"da20952f_bef10a97","updated":"2015-09-01 09:13:55.000000000","message":"Thanks for comment, I describe nova-compute relation generally better and not link just to host. If we have the \"UNKNOWN\", would it still be for power_state. VM owner would see in states that he had VM running, but now power_state is UNKNOWN and he knows to do some action. This would be new state and could only be seen if mark-host-down used as reflect the nova-compute forced_down true. Value would not be written to DB, but returned to user as power_state value UNKNOWN when VM queried trough API.","commit_id":"ad2f0be766f7e29d8fad3f83311ccea8358b868a"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"7d80c07007a3ab92e0a1812d1e9bb6d6fb11c88f","unresolved":false,"context_lines":[{"line_number":31,"context_line":"As a user I want to have correct state information about my VMs also in host"},{"line_number":32,"context_line":"failure case."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"As a user I want to make fast correlating action when VM host has failed."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"As a user I might not always evacuate VMs from failed host, but just need to"},{"line_number":37,"context_line":"have indication in VM query that VM host is forced down."}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba15a1d1_de534e6b","line":34,"range":{"start_line":34,"start_character":20,"end_line":34,"end_character":48},"updated":"2015-09-21 13:59:29.000000000","message":"think you mean \"be able to react quickly\"","commit_id":"6feb498945dbb454328c4cd5bd6b0fb50ba9eb0e"},{"author":{"_account_id":15834,"name":"Tomi Juvonen","email":"tomi.juvonen@nokia.com","username":"tojuvone"},"change_message_id":"d4b0bb7e444d507c6c5b9cb9e7dfe0f12af70d96","unresolved":false,"context_lines":[{"line_number":31,"context_line":"As a user I want to have correct state information about my VMs also in host"},{"line_number":32,"context_line":"failure case."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"As a user I want to make fast correlating action when VM host has failed."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"As a user I might not always evacuate VMs from failed host, but just need to"},{"line_number":37,"context_line":"have indication in VM query that VM host is forced down."}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba15a1d1_3714924b","line":34,"in_reply_to":"ba15a1d1_de534e6b","updated":"2015-09-23 07:22:43.000000000","message":"yes, could reprhrase this.","commit_id":"6feb498945dbb454328c4cd5bd6b0fb50ba9eb0e"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"7d80c07007a3ab92e0a1812d1e9bb6d6fb11c88f","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"As a deployer I want to deploy external fault monitoring system that can"},{"line_number":40,"context_line":"detect different problems that can be translated as host fault to be informed"},{"line_number":41,"context_line":"to OpenStack and make sure that host is fenced (powered down). Monitoring"},{"line_number":42,"context_line":"system could monitor interfaces, links, services, memory, CPU, HW, hypervisor,"},{"line_number":43,"context_line":"OpenStack services,... and make actions accordingly."},{"line_number":44,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba15a1d1_74734cb5","line":41,"range":{"start_line":41,"start_character":40,"end_line":41,"end_character":61},"updated":"2015-09-21 13:59:29.000000000","message":"What\u0027s wrong with \"off\"? Talking about fencing brings in a lot of thought about isolation that doesn\u0027t seem relevant.","commit_id":"6feb498945dbb454328c4cd5bd6b0fb50ba9eb0e"},{"author":{"_account_id":15834,"name":"Tomi Juvonen","email":"tomi.juvonen@nokia.com","username":"tojuvone"},"change_message_id":"d4b0bb7e444d507c6c5b9cb9e7dfe0f12af70d96","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"As a deployer I want to deploy external fault monitoring system that can"},{"line_number":40,"context_line":"detect different problems that can be translated as host fault to be informed"},{"line_number":41,"context_line":"to OpenStack and make sure that host is fenced (powered down). Monitoring"},{"line_number":42,"context_line":"system could monitor interfaces, links, services, memory, CPU, HW, hypervisor,"},{"line_number":43,"context_line":"OpenStack services,... and make actions accordingly."},{"line_number":44,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba15a1d1_82ef5e1d","line":41,"in_reply_to":"ba15a1d1_74734cb5","updated":"2015-09-23 07:22:43.000000000","message":"Yes it is not relevant here, could reprhrase this as relevant anyhow that user has this external fault monitoring system.","commit_id":"6feb498945dbb454328c4cd5bd6b0fb50ba9eb0e"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"fed87f344c1792a94d21575d6c6d819b61bd0b85","unresolved":false,"context_lines":[{"line_number":53,"context_line":"When querying VMs user should get also correct state information about the VMs"},{"line_number":54,"context_line":"in case of nova-compute is forced down. As nova-compute service can represent"},{"line_number":55,"context_line":"a host or a cluster and that should not be shown to user, this  information"},{"line_number":56,"context_line":"could be visible in VM power_state. When nova-compute service is forced down,"},{"line_number":57,"context_line":"meaning nova-compute service has in service DB ``forced_down`` flag true, this"},{"line_number":58,"context_line":"could be seen in APIs to query VM states as power_state UNKNOWN. By easiest"},{"line_number":59,"context_line":"power_state value would not need to be updated in DB, but just show it as"}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba15a1d1_daa73abb","line":56,"updated":"2015-09-17 15:40:58.000000000","message":"I believe an instance can still be running even if the nova-compute service is down. So showing the instance is down when nova-compute is, is equally misleading. Please can you discuss this for me?","commit_id":"6feb498945dbb454328c4cd5bd6b0fb50ba9eb0e"},{"author":{"_account_id":15834,"name":"Tomi Juvonen","email":"tomi.juvonen@nokia.com","username":"tojuvone"},"change_message_id":"fb8b2f5675e71d77f296e94fd097fcb683c08723","unresolved":false,"context_lines":[{"line_number":53,"context_line":"When querying VMs user should get also correct state information about the VMs"},{"line_number":54,"context_line":"in case of nova-compute is forced down. As nova-compute service can represent"},{"line_number":55,"context_line":"a host or a cluster and that should not be shown to user, this  information"},{"line_number":56,"context_line":"could be visible in VM power_state. When nova-compute service is forced down,"},{"line_number":57,"context_line":"meaning nova-compute service has in service DB ``forced_down`` flag true, this"},{"line_number":58,"context_line":"could be seen in APIs to query VM states as power_state UNKNOWN. By easiest"},{"line_number":59,"context_line":"power_state value would not need to be updated in DB, but just show it as"}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba15a1d1_0f59dd34","line":56,"in_reply_to":"ba15a1d1_daa73abb","updated":"2015-09-18 05:34:42.000000000","message":"When calling mark-host-down it is considered that caller has made sure node is powered down or fenced. If network fenced it would mean instance cannot function and write to storage over network. To know to make HA action user currently polls his VMs and that is where he gets state information and should rely on that. Now the thing would be to show this state information somehow. I really would like to find here how and what is currently proposed here is just one way. Maybe the UNKNOWN state in some parameter anyhow as do cannot know if fenced or powered down. If mark-host-down done fencing is canceled it must be made sure instances on node will not come alive in network if they are moved or deleted. I try to be in IRC with sign tojuvone.","commit_id":"6feb498945dbb454328c4cd5bd6b0fb50ba9eb0e"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"7d80c07007a3ab92e0a1812d1e9bb6d6fb11c88f","unresolved":false,"context_lines":[{"line_number":64,"context_line":"to other host that these still alive VMs will not come to network again. In"},{"line_number":65,"context_line":"case fenced host is however rebooted, it should reliably notice wither VMs"},{"line_number":66,"context_line":"should  be launched there or not as of enhancement:"},{"line_number":67,"context_line":"https://blueprints.launchpad.net/nova/+spec/robustify-evacuate"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"Alternatives"},{"line_number":70,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba15a1d1_9bf088cb","line":67,"updated":"2015-09-21 13:59:29.000000000","message":"I think I get you now but this spec was hard to understand. Please describe the problem in the \"problem description\" section and only describe your proposed change in this section. Save discussion of alternatives until that section. Form each separate thought as a paragraph. If you do this I can help with the less structural changes to make the English better.","commit_id":"6feb498945dbb454328c4cd5bd6b0fb50ba9eb0e"},{"author":{"_account_id":15834,"name":"Tomi Juvonen","email":"tomi.juvonen@nokia.com","username":"tojuvone"},"change_message_id":"d4b0bb7e444d507c6c5b9cb9e7dfe0f12af70d96","unresolved":false,"context_lines":[{"line_number":64,"context_line":"to other host that these still alive VMs will not come to network again. In"},{"line_number":65,"context_line":"case fenced host is however rebooted, it should reliably notice wither VMs"},{"line_number":66,"context_line":"should  be launched there or not as of enhancement:"},{"line_number":67,"context_line":"https://blueprints.launchpad.net/nova/+spec/robustify-evacuate"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"Alternatives"},{"line_number":70,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba15a1d1_c21476ea","line":67,"in_reply_to":"ba15a1d1_9bf088cb","updated":"2015-09-23 07:22:43.000000000","message":"Thanks, I\u0027ll do that.","commit_id":"6feb498945dbb454328c4cd5bd6b0fb50ba9eb0e"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"7d80c07007a3ab92e0a1812d1e9bb6d6fb11c88f","unresolved":false,"context_lines":[{"line_number":116,"context_line":"      \"server\": {"},{"line_number":117,"context_line":"        (irrelevant lines removed from example)"},{"line_number":118,"context_line":"        \"name\": \"new-server-test\","},{"line_number":119,"context_line":"        \"OS-EXT-STS:power_state\": 1,"},{"line_number":120,"context_line":"        \"OS-EXT-STS:task_state\": null,"},{"line_number":121,"context_line":"        \"OS-EXT-STS:vm_state\": \"active\","},{"line_number":122,"context_line":"        \"progress\": 0,"},{"line_number":123,"context_line":"        \"status\": \"ACTIVE\","}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba15a1d1_d1e6df15","line":120,"range":{"start_line":119,"start_character":0,"end_line":120,"end_character":0},"updated":"2015-09-21 13:59:29.000000000","message":"Please say what power states 1 + 8 correspond to","commit_id":"6feb498945dbb454328c4cd5bd6b0fb50ba9eb0e"},{"author":{"_account_id":15834,"name":"Tomi Juvonen","email":"tomi.juvonen@nokia.com","username":"tojuvone"},"change_message_id":"d4b0bb7e444d507c6c5b9cb9e7dfe0f12af70d96","unresolved":false,"context_lines":[{"line_number":117,"context_line":"        (irrelevant lines removed from example)"},{"line_number":118,"context_line":"        \"name\": \"new-server-test\","},{"line_number":119,"context_line":"        \"OS-EXT-STS:power_state\": 1,"},{"line_number":120,"context_line":"        \"OS-EXT-STS:task_state\": null,"},{"line_number":121,"context_line":"        \"OS-EXT-STS:vm_state\": \"active\","},{"line_number":122,"context_line":"        \"progress\": 0,"},{"line_number":123,"context_line":"        \"status\": \"ACTIVE\","}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba15a1d1_e2c5fa8d","line":120,"in_reply_to":"ba15a1d1_d1e6df15","updated":"2015-09-23 07:22:43.000000000","message":"Yes the 1 is now not explained, will make this more clear.","commit_id":"6feb498945dbb454328c4cd5bd6b0fb50ba9eb0e"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"7d80c07007a3ab92e0a1812d1e9bb6d6fb11c88f","unresolved":false,"context_lines":[{"line_number":117,"context_line":"        (irrelevant lines removed from example)"},{"line_number":118,"context_line":"        \"name\": \"new-server-test\","},{"line_number":119,"context_line":"        \"OS-EXT-STS:power_state\": 1,"},{"line_number":120,"context_line":"        \"OS-EXT-STS:task_state\": null,"},{"line_number":121,"context_line":"        \"OS-EXT-STS:vm_state\": \"active\","},{"line_number":122,"context_line":"        \"progress\": 0,"},{"line_number":123,"context_line":"        \"status\": \"ACTIVE\","},{"line_number":124,"context_line":"        \"tenant_id\": \"openstack\","},{"line_number":125,"context_line":"        \"updated\": \"2015-07-03T03:07:07Z\","},{"line_number":126,"context_line":"        \"user_id\": \"fake\""},{"line_number":127,"context_line":"      }"},{"line_number":128,"context_line":"    }"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"Reporting ``OS-EXT-STS:power_state`` 8 (UNKNOWN) when ``forced_down`` true:"}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba15a1d1_91194725","line":127,"range":{"start_line":120,"start_character":0,"end_line":127,"end_character":0},"updated":"2015-09-21 13:59:29.000000000","message":"none of these lines seem to change between your examples?","commit_id":"6feb498945dbb454328c4cd5bd6b0fb50ba9eb0e"},{"author":{"_account_id":15834,"name":"Tomi Juvonen","email":"tomi.juvonen@nokia.com","username":"tojuvone"},"change_message_id":"d4b0bb7e444d507c6c5b9cb9e7dfe0f12af70d96","unresolved":false,"context_lines":[{"line_number":124,"context_line":"        \"tenant_id\": \"openstack\","},{"line_number":125,"context_line":"        \"updated\": \"2015-07-03T03:07:07Z\","},{"line_number":126,"context_line":"        \"user_id\": \"fake\""},{"line_number":127,"context_line":"      }"},{"line_number":128,"context_line":"    }"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"Reporting ``OS-EXT-STS:power_state`` 8 (UNKNOWN) when ``forced_down`` true:"}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba15a1d1_2223f259","line":127,"in_reply_to":"ba15a1d1_91194725","updated":"2015-09-23 07:22:43.000000000","message":"Yes, could remove even more, but originally wanted to keep at least all state attributes and the timestamp so one would see what changes or as host goes suddenly down nothing changes as unable to report the states. I will work to have only relevant attributes here or explain more if keep something. thanks for the comment.","commit_id":"6feb498945dbb454328c4cd5bd6b0fb50ba9eb0e"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"96ca3ef48a9254f1ed4f1db38bd6b2c370604690","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"VM states do not change for failed or unreachable host. User polling the state"},{"line_number":21,"context_line":"of his VMs do not therefore get the right information about the state of his"},{"line_number":22,"context_line":"VMs. In Liberty there is new API to have external system an ability to force"},{"line_number":23,"context_line":"compute node down if it has failed. Nothing happens there to VM states, but"},{"line_number":24,"context_line":"user should quickly know they are actually down when polling them. Also user"},{"line_number":25,"context_line":"querying his VMs should not be allowed to see host related data, so while"}],"source_content_type":"text/x-rst","patch_set":10,"id":"ba15a1d1_04534218","line":22,"range":{"start_line":22,"start_character":36,"end_line":22,"end_character":40},"updated":"2015-09-24 14:44:59.000000000","message":"s/have/give/","commit_id":"7d33fbcd9f60679c11eac38447b8286b11af6053"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"96ca3ef48a9254f1ed4f1db38bd6b2c370604690","unresolved":false,"context_lines":[{"line_number":33,"context_line":"to network again after force down is cleared. In case host is however"},{"line_number":34,"context_line":"rebooted, it should now be automatically noticed wither VMs should be launched"},{"line_number":35,"context_line":"there or not as of enhancement:"},{"line_number":36,"context_line":"https://blueprints.launchpad.net/nova/+spec/robustify-evacuate"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Use Cases"},{"line_number":39,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a1a9d01_5ab0d18b","line":36,"updated":"2015-09-24 14:44:59.000000000","message":"Can this para be deleted? It doesn\u0027t seem to add anything.","commit_id":"7d33fbcd9f60679c11eac38447b8286b11af6053"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"96ca3ef48a9254f1ed4f1db38bd6b2c370604690","unresolved":false,"context_lines":[{"line_number":50,"context_line":"detect different problems that can be translated as host fault to be informed"},{"line_number":51,"context_line":"to OpenStack and make sure that host is down. Monitoring"},{"line_number":52,"context_line":"system could monitor interfaces, links, services, memory, CPU, HW, hypervisor,"},{"line_number":53,"context_line":"OpenStack services,... and make actions accordingly."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"Project Priority"},{"line_number":56,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a1a9d01_5a7771d4","line":53,"updated":"2015-09-24 14:44:59.000000000","message":"This para also seems redundant?","commit_id":"7d33fbcd9f60679c11eac38447b8286b11af6053"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"96ca3ef48a9254f1ed4f1db38bd6b2c370604690","unresolved":false,"context_lines":[{"line_number":83,"context_line":"state for every VM in the host separately. Surely reset state could be also"},{"line_number":84,"context_line":"done as host specific action to have all VMs in correct state in one API call."},{"line_number":85,"context_line":"This approach would have need to call two APIs when force down host, but would"},{"line_number":86,"context_line":"have a choice to not to effect to VM states."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"/v2.1/{tenant_id}/os-services/force-down could be enhanced to also mark all"},{"line_number":89,"context_line":"corresponding VM power_state as UNKNOWN in compute_nodes DB. At least this"}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a1a9d01_fda51fb5","line":86,"updated":"2015-09-24 14:44:59.000000000","message":"This is so bad I wouldn\u0027t even include it.","commit_id":"7d33fbcd9f60679c11eac38447b8286b11af6053"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"96ca3ef48a9254f1ed4f1db38bd6b2c370604690","unresolved":false,"context_lines":[{"line_number":215,"context_line":""},{"line_number":216,"context_line":"https://blueprints.launchpad.net/nova/+spec/mark-host-down"},{"line_number":217,"context_line":"Having externally possibility of force host down by updating the mentioned"},{"line_number":218,"context_line":"``forced_down`` flag to service DB for nova-compute service."},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"Testing"},{"line_number":221,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a1a9d01_e0625816","line":218,"updated":"2015-09-24 14:44:59.000000000","message":"This change doesn\u0027t actually depend on this one, they\u0027re just related","commit_id":"7d33fbcd9f60679c11eac38447b8286b11af6053"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"1585302a0bbf07c6b483dcbb86ae37cb1f38f299","unresolved":false,"context_lines":[{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/get-valid-server-state"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"When a compute service fails, the states of the hosted VMs are not updated."},{"line_number":14,"context_line":"This means Nova returns incorrect information. Compounding this, normal users"},{"line_number":15,"context_line":"don\u0027t have access to the service list or even know which host their VM is on,"},{"line_number":16,"context_line":"so they have no way to know that Nova is giving them outdated information."},{"line_number":17,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a1a9d01_19d57e42","line":14,"range":{"start_line":14,"start_character":0,"end_line":14,"end_character":45},"updated":"2015-09-24 17:03:46.000000000","message":"Actually it\u0027s not incorrect. Just because the compute service is not reporting does not mean anything about whether the instance is up. If I were to stop nova-compute on the compute node, I could still get to the instance itself, I just can\u0027t take action on it.\n\nI would recommend removing or changing this sentence.","commit_id":"dcf71a52f506057ea3817f69c236d9922f8e5f23"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"d80826b16563fc2bccbc122ca02456da8a943e67","unresolved":false,"context_lines":[{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/get-valid-server-state"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"When a compute service fails, the states of the hosted VMs are not updated."},{"line_number":14,"context_line":"This means Nova returns incorrect information. Compounding this, normal users"},{"line_number":15,"context_line":"don\u0027t have access to the service list or even know which host their VM is on,"},{"line_number":16,"context_line":"so they have no way to know that Nova is giving them outdated information."},{"line_number":17,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a1a9d01_2f17d4a4","line":14,"in_reply_to":"9a1a9d01_19d57e42","updated":"2015-09-24 18:10:00.000000000","message":"maybe change to \"returns stale information\", or \"potentially returns incorrect information\".","commit_id":"dcf71a52f506057ea3817f69c236d9922f8e5f23"},{"author":{"_account_id":1894,"name":"Ryota MIBU","email":"r-mibu@cq.jp.nec.com","username":"r-mibu"},"change_message_id":"175ec7a998464adbd4073577327fc7702ad74967","unresolved":false,"context_lines":[{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/get-valid-server-state"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"When a compute service fails, the states of the hosted VMs are not updated."},{"line_number":14,"context_line":"This means Nova returns incorrect information. Compounding this, normal users"},{"line_number":15,"context_line":"don\u0027t have access to the service list or even know which host their VM is on,"},{"line_number":16,"context_line":"so they have no way to know that Nova is giving them outdated information."},{"line_number":17,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a1a9d01_957b0f8c","line":14,"in_reply_to":"9a1a9d01_2f17d4a4","updated":"2015-09-29 09:06:13.000000000","message":"maybe, we should add a condition that the host and the hosted VM\u0027s are down and fenced by external tool(s) (explicitly force_down\u003dTrue), in order to avoid confusion by leaving space to consider the case which nova-compute paused but not the situation to be forced down.","commit_id":"dcf71a52f506057ea3817f69c236d9922f8e5f23"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"1585302a0bbf07c6b483dcbb86ae37cb1f38f299","unresolved":false,"context_lines":[{"line_number":19,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"VM states do not change when a host loses power or becomes unreachable. This"},{"line_number":22,"context_line":"causes outdated information to be returned to user queries. If precision is"},{"line_number":23,"context_line":"impossible due to a compute service being down or unreachable, Nova should at"},{"line_number":24,"context_line":"least return ``UNKNOWN`` rather than false data. This must be achieved without"},{"line_number":25,"context_line":"allowing normal users to learn about specific hosts, to maintain the cloud"}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a1a9d01_39be4200","line":22,"range":{"start_line":22,"start_character":0,"end_line":22,"end_character":6},"updated":"2015-09-24 17:03:46.000000000","message":"\"may cause\"","commit_id":"dcf71a52f506057ea3817f69c236d9922f8e5f23"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"a25014822ff7770e4923da2bbb224e45c1c7336d","unresolved":false,"context_lines":[{"line_number":19,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"VM states do not change when a host loses power or becomes unreachable. This"},{"line_number":22,"context_line":"causes outdated information to be returned to user queries. If precision is"},{"line_number":23,"context_line":"impossible due to a compute service being down or unreachable, Nova should at"},{"line_number":24,"context_line":"least return ``UNKNOWN`` rather than false data. This must be achieved without"},{"line_number":25,"context_line":"allowing normal users to learn about specific hosts, to maintain the cloud"}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a1a9d01_0504317c","line":22,"in_reply_to":"9a1a9d01_0f60d034","updated":"2015-09-24 18:52:27.000000000","message":"But that is always true of these states. As soon as we receive a state update for an instance, it can be quite a while before we receive another one, especially for drivers that don\u0027t implement (or have disabled) instance event monitoring.","commit_id":"dcf71a52f506057ea3817f69c236d9922f8e5f23"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"d80826b16563fc2bccbc122ca02456da8a943e67","unresolved":false,"context_lines":[{"line_number":19,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"VM states do not change when a host loses power or becomes unreachable. This"},{"line_number":22,"context_line":"causes outdated information to be returned to user queries. If precision is"},{"line_number":23,"context_line":"impossible due to a compute service being down or unreachable, Nova should at"},{"line_number":24,"context_line":"least return ``UNKNOWN`` rather than false data. This must be achieved without"},{"line_number":25,"context_line":"allowing normal users to learn about specific hosts, to maintain the cloud"}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a1a9d01_0f60d034","line":22,"in_reply_to":"9a1a9d01_39be4200","updated":"2015-09-24 18:10:00.000000000","message":"No, we know the information is outdated.  It may still be accurate, but we don\u0027t know for sure.","commit_id":"dcf71a52f506057ea3817f69c236d9922f8e5f23"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"1585302a0bbf07c6b483dcbb86ae37cb1f38f299","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"VM states do not change when a host loses power or becomes unreachable. This"},{"line_number":22,"context_line":"causes outdated information to be returned to user queries. If precision is"},{"line_number":23,"context_line":"impossible due to a compute service being down or unreachable, Nova should at"},{"line_number":24,"context_line":"least return ``UNKNOWN`` rather than false data. This must be achieved without"},{"line_number":25,"context_line":"allowing normal users to learn about specific hosts, to maintain the cloud"},{"line_number":26,"context_line":"nature."},{"line_number":27,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a1a9d01_3903a2ba","line":24,"range":{"start_line":23,"start_character":63,"end_line":24,"end_character":47},"updated":"2015-09-24 17:03:46.000000000","message":"I don\u0027t agree with this statement. It could, but it doesn\u0027t, and I think the current behavior is as arguably correct as the contrary.","commit_id":"dcf71a52f506057ea3817f69c236d9922f8e5f23"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"d80826b16563fc2bccbc122ca02456da8a943e67","unresolved":false,"context_lines":[{"line_number":21,"context_line":"VM states do not change when a host loses power or becomes unreachable. This"},{"line_number":22,"context_line":"causes outdated information to be returned to user queries. If precision is"},{"line_number":23,"context_line":"impossible due to a compute service being down or unreachable, Nova should at"},{"line_number":24,"context_line":"least return ``UNKNOWN`` rather than false data. This must be achieved without"},{"line_number":25,"context_line":"allowing normal users to learn about specific hosts, to maintain the cloud"},{"line_number":26,"context_line":"nature."},{"line_number":27,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a1a9d01_4f2fa8a1","line":24,"in_reply_to":"9a1a9d01_3903a2ba","updated":"2015-09-24 18:10:00.000000000","message":"It\u0027s misleading to show the stale state in the \"nova list\" output given that there is no indication that the information may have last been updated an hour ago.\n\nIf we\u0027ve lost contact with nova-compute, we have no way of knowing what the instance state is.  It might be fine, it might be toast.\n\nGiven that, I think it makes more sense to be honest and say that the current state is unknown.  (Maybe add a \"last known state\" or something if we want to expose that.)","commit_id":"dcf71a52f506057ea3817f69c236d9922f8e5f23"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"a25014822ff7770e4923da2bbb224e45c1c7336d","unresolved":false,"context_lines":[{"line_number":21,"context_line":"VM states do not change when a host loses power or becomes unreachable. This"},{"line_number":22,"context_line":"causes outdated information to be returned to user queries. If precision is"},{"line_number":23,"context_line":"impossible due to a compute service being down or unreachable, Nova should at"},{"line_number":24,"context_line":"least return ``UNKNOWN`` rather than false data. This must be achieved without"},{"line_number":25,"context_line":"allowing normal users to learn about specific hosts, to maintain the cloud"},{"line_number":26,"context_line":"nature."},{"line_number":27,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a1a9d01_65ee4dee","line":24,"in_reply_to":"9a1a9d01_4f2fa8a1","updated":"2015-09-24 18:52:27.000000000","message":"Adding a new state to the list that clients can expect is more disruptive than necessary. At any given point, instance state is \"the last thing we knew to be true\" because the instance could be crashing, crashed, and we just haven\u0027t heard about it yet. The host state we think we know doesn\u0027t really tell us anything useful and new about the validity (or lack thereof) of that information.\n\nDelays in rabbit causing slow service updates, or a momentary bit of service maintenance that won\u0027t affect the user would all manifest themselves as the instance going into unknown state, which would almost definitely result in a support call.\n\nIf I\u0027m polling at a reasonably high rate to check on my pet vm all the time, and I see it flapping between POWERED_ON and UNKNOWN power states, I\u0027m definitely going to call support and ask what is going on.","commit_id":"dcf71a52f506057ea3817f69c236d9922f8e5f23"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"8b78c695cc229550e4ff02d2ba74b6f290c831c5","unresolved":false,"context_lines":[{"line_number":21,"context_line":"VM states do not change when a host loses power or becomes unreachable. This"},{"line_number":22,"context_line":"causes outdated information to be returned to user queries. If precision is"},{"line_number":23,"context_line":"impossible due to a compute service being down or unreachable, Nova should at"},{"line_number":24,"context_line":"least return ``UNKNOWN`` rather than false data. This must be achieved without"},{"line_number":25,"context_line":"allowing normal users to learn about specific hosts, to maintain the cloud"},{"line_number":26,"context_line":"nature."},{"line_number":27,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a1a9d01_e92178fc","line":24,"in_reply_to":"9a1a9d01_65ee4dee","updated":"2015-09-28 14:59:49.000000000","message":"So the VM state is always independent of the host state, both in theory and in practice.\n\nI would rather we start by giving the explicit information about the host for that instance, then see if thats enough.\n\nThis should also help with notifying users of an instance on a host that has scheduled downtime, vs the ones were the host has had the maintenance complete, all using the same system (eventually). Thinking about mass live-migrates that are staggered across the fleet, but you want folks to know when they are clear of problems (if advertised). Disable is probably the correct way to talk about that.\n\nAdding a new power state in a new micro version seems a little messy really.","commit_id":"dcf71a52f506057ea3817f69c236d9922f8e5f23"},{"author":{"_account_id":15834,"name":"Tomi Juvonen","email":"tomi.juvonen@nokia.com","username":"tojuvone"},"change_message_id":"78127e4d2bab8ff0687c08ae284cc595bb1d4823","unresolved":false,"context_lines":[{"line_number":21,"context_line":"VM states do not change when a host loses power or becomes unreachable. This"},{"line_number":22,"context_line":"causes outdated information to be returned to user queries. If precision is"},{"line_number":23,"context_line":"impossible due to a compute service being down or unreachable, Nova should at"},{"line_number":24,"context_line":"least return ``UNKNOWN`` rather than false data. This must be achieved without"},{"line_number":25,"context_line":"allowing normal users to learn about specific hosts, to maintain the cloud"},{"line_number":26,"context_line":"nature."},{"line_number":27,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a1a9d01_7a65081c","line":24,"in_reply_to":"9a1a9d01_e92178fc","updated":"2015-09-29 07:34:05.000000000","message":"Could add host_state to be shown with value of \"up\", \"forced_down\", \"unknown\"as translated from last_seen_up and forced_down and perhaps the host_status \"enabled\" or \"disabled\" for the service. This would be only shown with some policy or only in detailed VM data. Out of scope, but later could add something like maintenance_requested to host data and further to be shown in VM data. That would have ability to do live migration, deletion or some HA action for VM before compute node actually will be put to maintenance.","commit_id":"dcf71a52f506057ea3817f69c236d9922f8e5f23"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"1585302a0bbf07c6b483dcbb86ae37cb1f38f299","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"We could add a ``host_status`` field to the ``/servers`` and"},{"line_number":59,"context_line":"``/servers/{server_id}`` endpoints, exposing the service status. However this"},{"line_number":60,"context_line":"exposes more information about the host than the proposed change."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"``os-services/force-down`` could mark all VMs managed by the affected service"},{"line_number":63,"context_line":"as ``UNKNOWN``. This wouldn\u0027t help when a service goes down by itself and also"}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a1a9d01_b9aa5284","line":60,"updated":"2015-09-24 17:03:46.000000000","message":"TBH, I like this alternative better. I am quite sure someone will chime in here with a specific complaint about reporting a different power_state than is in the database. We don\u0027t really know anything about the power_state after a force-down operation, so it\u0027s reasonable to say that the last-known value is the most correct.\n\nIf you fence the node at the network level, the instance may indeed still be running with the previous power state.\n\nWhat we\u0027re really trying to expose here is that the host is down and that *may* have a bearing on any of the other vm state information. I would prefer that we expose what we know, and not guess at what we don\u0027t know.","commit_id":"dcf71a52f506057ea3817f69c236d9922f8e5f23"},{"author":{"_account_id":1894,"name":"Ryota MIBU","email":"r-mibu@cq.jp.nec.com","username":"r-mibu"},"change_message_id":"175ec7a998464adbd4073577327fc7702ad74967","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"We could add a ``host_status`` field to the ``/servers`` and"},{"line_number":59,"context_line":"``/servers/{server_id}`` endpoints, exposing the service status. However this"},{"line_number":60,"context_line":"exposes more information about the host than the proposed change."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"``os-services/force-down`` could mark all VMs managed by the affected service"},{"line_number":63,"context_line":"as ``UNKNOWN``. This wouldn\u0027t help when a service goes down by itself and also"}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a1a9d01_7f9c155d","line":60,"in_reply_to":"9a1a9d01_b9aa5284","updated":"2015-09-29 09:06:13.000000000","message":"I would rather take this alternative too.\n\nI think the requirements are 1) new parameter to express host state including host OS and hypervisor somewhere, since a service (nova-compute) does not represent host itself and may differ when nova-compute process downed and all VMs are running, 2) the new parameter can be associated to server(instance) and can be generate notification so that user can capture fault events in ceilometer/aodh and 3) efficient  (hopefully single) API action to update power_states of affected VMs when the host downed and fenced to discard.","commit_id":"dcf71a52f506057ea3817f69c236d9922f8e5f23"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"1585302a0bbf07c6b483dcbb86ae37cb1f38f299","unresolved":false,"context_lines":[{"line_number":61,"context_line":""},{"line_number":62,"context_line":"``os-services/force-down`` could mark all VMs managed by the affected service"},{"line_number":63,"context_line":"as ``UNKNOWN``. This wouldn\u0027t help when a service goes down by itself and also"},{"line_number":64,"context_line":"loses the prior VM power state."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Data model impact"},{"line_number":67,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a1a9d01_99798e32","line":64,"updated":"2015-09-24 17:03:46.000000000","message":"For similar reasons as above, I\u0027m not in favor of doing this. I\u0027m happy for it to remain in the alternatives section, but perhaps you could add some words here about the potential for incorrect guesses being recorded in the database :)","commit_id":"dcf71a52f506057ea3817f69c236d9922f8e5f23"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"d80826b16563fc2bccbc122ca02456da8a943e67","unresolved":false,"context_lines":[{"line_number":61,"context_line":""},{"line_number":62,"context_line":"``os-services/force-down`` could mark all VMs managed by the affected service"},{"line_number":63,"context_line":"as ``UNKNOWN``. This wouldn\u0027t help when a service goes down by itself and also"},{"line_number":64,"context_line":"loses the prior VM power state."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Data model impact"},{"line_number":67,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a1a9d01_ea0d4a38","line":64,"in_reply_to":"9a1a9d01_99798e32","updated":"2015-09-24 18:10:00.000000000","message":"But we\u0027re not guessing.  We know that we don\u0027t know the current state.","commit_id":"dcf71a52f506057ea3817f69c236d9922f8e5f23"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"8b78c695cc229550e4ff02d2ba74b6f290c831c5","unresolved":false,"context_lines":[{"line_number":61,"context_line":""},{"line_number":62,"context_line":"``os-services/force-down`` could mark all VMs managed by the affected service"},{"line_number":63,"context_line":"as ``UNKNOWN``. This wouldn\u0027t help when a service goes down by itself and also"},{"line_number":64,"context_line":"loses the prior VM power state."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Data model impact"},{"line_number":67,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a1a9d01_6d2493ae","line":64,"in_reply_to":"9a1a9d01_e5ec9d91","updated":"2015-09-28 14:59:49.000000000","message":"nova-compute can be down, and the VM can be UP, and that might be intentional, at least momentarily, so its best to avoid shouting about that too much I feel.","commit_id":"dcf71a52f506057ea3817f69c236d9922f8e5f23"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"a25014822ff7770e4923da2bbb224e45c1c7336d","unresolved":false,"context_lines":[{"line_number":61,"context_line":""},{"line_number":62,"context_line":"``os-services/force-down`` could mark all VMs managed by the affected service"},{"line_number":63,"context_line":"as ``UNKNOWN``. This wouldn\u0027t help when a service goes down by itself and also"},{"line_number":64,"context_line":"loses the prior VM power state."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Data model impact"},{"line_number":67,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a1a9d01_e5ec9d91","line":64,"in_reply_to":"9a1a9d01_ea0d4a38","updated":"2015-09-24 18:52:27.000000000","message":"We don\u0027t *know* the state of the instance except at specific points in time. If the hypervisor hasn\u0027t updated the instance record (because something is stuck or because it doesn\u0027t think it needs to) in ten minutes, should we also say the state is unknown?\n\nTo put a different spin on this, consider the vcenter case. There is a nova-compute daemon running somewhere that is responsible for a whole vcenter cluster. It\u0027s not running on the same hardware and maybe even in the same rack as the hypervisor nodes. It being down means even less about whether the instance is really running than in the kvm case where the two are co-located. So, yeah, the compute host is definitely or suspected to be down, but that really doesn\u0027t provide us anything useful to infer the state of the actual instance. It probably means something about whether we can manage that instance (although not definitely), but representing manage-ability is definitely not something we should do with power_state.","commit_id":"dcf71a52f506057ea3817f69c236d9922f8e5f23"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"1585302a0bbf07c6b483dcbb86ae37cb1f38f299","unresolved":false,"context_lines":[{"line_number":123,"context_line":"Security impact"},{"line_number":124,"context_line":"---------------"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"None"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"Notifications impact"},{"line_number":129,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a1a9d01_79ca7a51","line":126,"updated":"2015-09-24 17:03:46.000000000","message":"If you go the route I prefer above, you will have a new policy element and thus a Security Impact.","commit_id":"dcf71a52f506057ea3817f69c236d9922f8e5f23"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"1585302a0bbf07c6b483dcbb86ae37cb1f38f299","unresolved":false,"context_lines":[{"line_number":138,"context_line":"Performance Impact"},{"line_number":139,"context_line":"------------------"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"None"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"Other deployer impact"},{"line_number":144,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a1a9d01_d99dc65a","line":141,"updated":"2015-09-24 17:03:46.000000000","message":"There will most certainly be a performance impact because we\u0027ll be looking up the service with the instance each time where we weren\u0027t before.","commit_id":"dcf71a52f506057ea3817f69c236d9922f8e5f23"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"eef4a39e553368243f1b6029ae8b54cb2adb270e","unresolved":false,"context_lines":[{"line_number":138,"context_line":"Performance Impact"},{"line_number":139,"context_line":"------------------"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"None"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"Other deployer impact"},{"line_number":144,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a1a9d01_6d457315","line":141,"in_reply_to":"9a1a9d01_ad514b10","updated":"2015-09-28 15:01:36.000000000","message":"actually, a big advantage of this being an extra attribute, is we can hide it in the details call, so the general list operation does not get slowed down.","commit_id":"dcf71a52f506057ea3817f69c236d9922f8e5f23"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"8b78c695cc229550e4ff02d2ba74b6f290c831c5","unresolved":false,"context_lines":[{"line_number":138,"context_line":"Performance Impact"},{"line_number":139,"context_line":"------------------"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"None"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"Other deployer impact"},{"line_number":144,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a1a9d01_ad514b10","line":141,"in_reply_to":"9a1a9d01_d99dc65a","updated":"2015-09-28 14:59:49.000000000","message":"+1","commit_id":"dcf71a52f506057ea3817f69c236d9922f8e5f23"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"1585302a0bbf07c6b483dcbb86ae37cb1f38f299","unresolved":false,"context_lines":[{"line_number":162,"context_line":"Work Items"},{"line_number":163,"context_line":"----------"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"* Test cases."},{"line_number":166,"context_line":"* REST API changes."},{"line_number":167,"context_line":"* Documentation."},{"line_number":168,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a1a9d01_b9e6d2e6","line":165,"updated":"2015-09-24 17:03:46.000000000","message":"These should probably be in order. Presumably the API changes come with unit tests and this work item is more extensive functional testing that would come in a subsequent patch?","commit_id":"dcf71a52f506057ea3817f69c236d9922f8e5f23"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"8b78c695cc229550e4ff02d2ba74b6f290c831c5","unresolved":false,"context_lines":[{"line_number":162,"context_line":"Work Items"},{"line_number":163,"context_line":"----------"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"* Test cases."},{"line_number":166,"context_line":"* REST API changes."},{"line_number":167,"context_line":"* Documentation."},{"line_number":168,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a1a9d01_cd4cbf72","line":165,"in_reply_to":"9a1a9d01_b9e6d2e6","updated":"2015-09-28 14:59:49.000000000","message":"its normal not to split things out this much.","commit_id":"dcf71a52f506057ea3817f69c236d9922f8e5f23"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"26555fe38921b0fc93e559296db59746549ffa02","unresolved":false,"context_lines":[{"line_number":22,"context_line":"return the service state in the server detail response so that users can draw"},{"line_number":23,"context_line":"appropriate conclusions."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"In Liberty there is a new API to give an external system the ability to force"},{"line_number":26,"context_line":"a compute node down if it has failed. Again this doesn\u0027t update VM states,"},{"line_number":27,"context_line":"causing possibly inaccurate information to be returned."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Use Cases"},{"line_number":30,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":14,"id":"9a1a9d01_f51ec60a","line":27,"range":{"start_line":25,"start_character":0,"end_line":27,"end_character":55},"updated":"2015-09-30 14:18:50.000000000","message":"Not sure what relevance this has but I didn\u0027t want to delete it out of hand","commit_id":"28fa4f66829227dd0e527f22906ec1c0a58f2bbc"},{"author":{"_account_id":15834,"name":"Tomi Juvonen","email":"tomi.juvonen@nokia.com","username":"tojuvone"},"change_message_id":"34e91842c871b58874198cafab0ff2b3bef60f20","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"In Liberty there is a new API to give an external system the ability to force"},{"line_number":26,"context_line":"a compute node down if it has failed. Again this doesn\u0027t update VM states,"},{"line_number":27,"context_line":"causing possibly inaccurate information to be returned."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Use Cases"},{"line_number":30,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":14,"id":"9a1a9d01_b0f61c5b","line":27,"in_reply_to":"9a1a9d01_f51ec60a","updated":"2015-09-30 14:49:48.000000000","message":"Before we didn\u0027t know that well if nova-compute is down, it was just has it reported. Now we can have some external system that states this. This is anyhow something that now enables us to have host down information here in VM making this spec to have more value.","commit_id":"28fa4f66829227dd0e527f22906ec1c0a58f2bbc"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"26555fe38921b0fc93e559296db59746549ffa02","unresolved":false,"context_lines":[{"line_number":196,"context_line":"----------"},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"* Expose host_status as detailed."},{"line_number":199,"context_line":"* Update python-novaclient."},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"Dependencies"},{"line_number":202,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":14,"id":"9a1a9d01_75d95656","line":199,"range":{"start_line":199,"start_character":2,"end_line":199,"end_character":27},"updated":"2015-09-30 14:18:50.000000000","message":"added this","commit_id":"28fa4f66829227dd0e527f22906ec1c0a58f2bbc"},{"author":{"_account_id":15834,"name":"Tomi Juvonen","email":"tomi.juvonen@nokia.com","username":"tojuvone"},"change_message_id":"34e91842c871b58874198cafab0ff2b3bef60f20","unresolved":false,"context_lines":[{"line_number":196,"context_line":"----------"},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"* Expose host_status as detailed."},{"line_number":199,"context_line":"* Update python-novaclient."},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"Dependencies"},{"line_number":202,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":14,"id":"9a1a9d01_f087b4b2","line":199,"in_reply_to":"9a1a9d01_75d95656","updated":"2015-09-30 14:49:48.000000000","message":"+1","commit_id":"28fa4f66829227dd0e527f22906ec1c0a58f2bbc"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"b2ef48a3eaa6a1200c9b0326d6eda3b8b44e967f","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"In Liberty there is a new API to give an external system the ability to force"},{"line_number":26,"context_line":"a compute node down if it has failed. Again this doesn\u0027t update VM states,"},{"line_number":27,"context_line":"causing possibly inaccurate information to be returned."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Use Cases"},{"line_number":30,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":15,"id":"9a1a9d01_25c7c213","line":27,"updated":"2015-10-02 17:26:06.000000000","message":"Nit: not sure I like how this is worded somehow... maybe try...\n\ns/failed or unreachable host/failed/stopped nova-compute server, or a nova-compute that has been explicitly marked as failed/\n\nThen drop the second paragraph, or mostly.","commit_id":"3e9f65684995202dbf1723ade61b8d14b4afc781"},{"author":{"_account_id":15834,"name":"Tomi Juvonen","email":"tomi.juvonen@nokia.com","username":"tojuvone"},"change_message_id":"e91739318fa383f60ab24f6d846cabc12edead20","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"In Liberty there is a new API to give an external system the ability to force"},{"line_number":26,"context_line":"a compute node down if it has failed. Again this doesn\u0027t update VM states,"},{"line_number":27,"context_line":"causing possibly inaccurate information to be returned."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Use Cases"},{"line_number":30,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":15,"id":"9a1a9d01_240d5f3e","line":27,"in_reply_to":"9a1a9d01_25c7c213","updated":"2015-10-05 10:00:25.000000000","message":"I try to nail it in next patch.","commit_id":"3e9f65684995202dbf1723ade61b8d14b4afc781"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"b2ef48a3eaa6a1200c9b0326d6eda3b8b44e967f","unresolved":false,"context_lines":[{"line_number":86,"context_line":""},{"line_number":87,"context_line":"GET ``servers/{server_id}`` will return ``host_status`` field"},{"line_number":88,"context_line":"if \"os_compute_api:servers:show:host_status\" policy is defined for the user."},{"line_number":89,"context_line":"This will require a microversion."},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"Case where nova-compute enabled and reporting normally::"},{"line_number":92,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"9a1a9d01_08441319","line":89,"updated":"2015-10-02 17:26:06.000000000","message":"I think this means its also available for:\n/v2/​{tenant_id}​/servers/detail\n\nWhich is probably worth adding for clarity.","commit_id":"3e9f65684995202dbf1723ade61b8d14b4afc781"},{"author":{"_account_id":15834,"name":"Tomi Juvonen","email":"tomi.juvonen@nokia.com","username":"tojuvone"},"change_message_id":"e91739318fa383f60ab24f6d846cabc12edead20","unresolved":false,"context_lines":[{"line_number":86,"context_line":""},{"line_number":87,"context_line":"GET ``servers/{server_id}`` will return ``host_status`` field"},{"line_number":88,"context_line":"if \"os_compute_api:servers:show:host_status\" policy is defined for the user."},{"line_number":89,"context_line":"This will require a microversion."},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"Case where nova-compute enabled and reporting normally::"},{"line_number":92,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"9a1a9d01_c4e023cf","line":89,"in_reply_to":"9a1a9d01_08441319","updated":"2015-10-05 10:00:25.000000000","message":"yes, I will add that","commit_id":"3e9f65684995202dbf1723ade61b8d14b4afc781"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"b2ef48a3eaa6a1200c9b0326d6eda3b8b44e967f","unresolved":false,"context_lines":[{"line_number":144,"context_line":"  | 9a... | vm1  | ACTIVE | -          | RUNNING     | xnet\u003d... | UP          |"},{"line_number":145,"context_line":"  +-------+------+--------+------------+-------------+----------+-------------+"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"New policy element to be added to allow assigning permission to see"},{"line_number":148,"context_line":"host_status:"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"::"}],"source_content_type":"text/x-rst","patch_set":15,"id":"9a1a9d01_085ad32a","line":147,"updated":"2015-10-02 17:26:06.000000000","message":"Can\u0027t we just allow this for everyone, and not have a policy?\n\nI don\u0027t really like us have configuration that changes what is returned to the user.","commit_id":"3e9f65684995202dbf1723ade61b8d14b4afc781"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"4f495f1efe0b2bac42c44997d50100d30ea6fecd","unresolved":false,"context_lines":[{"line_number":144,"context_line":"  | 9a... | vm1  | ACTIVE | -          | RUNNING     | xnet\u003d... | UP          |"},{"line_number":145,"context_line":"  +-------+------+--------+------------+-------------+----------+-------------+"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"New policy element to be added to allow assigning permission to see"},{"line_number":148,"context_line":"host_status:"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"::"}],"source_content_type":"text/x-rst","patch_set":15,"id":"9a1a9d01_3374e89a","line":147,"in_reply_to":"9a1a9d01_085ad32a","updated":"2015-10-02 17:44:35.000000000","message":"John, this was my suggestion, for deployers that don\u0027t want this to be visible to everyone. This would make it like instance fault, if I understand that code correctly, where you only see the fault info if you have permission. Since that has a traceback (and code/line numbers) it could be sensitive.\n\nI can imagine some deployers not wanting people to know anything about their host. Seeing that your host is pending maintenance, or down, or unknown may trigger a storm of migrations by users that are trying to avoid getting swept up in some admin actions.","commit_id":"3e9f65684995202dbf1723ade61b8d14b4afc781"},{"author":{"_account_id":15834,"name":"Tomi Juvonen","email":"tomi.juvonen@nokia.com","username":"tojuvone"},"change_message_id":"e91739318fa383f60ab24f6d846cabc12edead20","unresolved":false,"context_lines":[{"line_number":144,"context_line":"  | 9a... | vm1  | ACTIVE | -          | RUNNING     | xnet\u003d... | UP          |"},{"line_number":145,"context_line":"  +-------+------+--------+------------+-------------+----------+-------------+"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"New policy element to be added to allow assigning permission to see"},{"line_number":148,"context_line":"host_status:"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"::"}],"source_content_type":"text/x-rst","patch_set":15,"id":"9a1a9d01_849c6b5e","line":147,"in_reply_to":"9a1a9d01_3374e89a","updated":"2015-10-05 10:00:25.000000000","message":"I see the John\u0027s point of having similar return for users, but this is really the biggest pain point of this whole spec while otherwise more straight forward: How can you show host when it is not allowed?! So I think this policy is really a key to that. This information is vital for users with HA, but not something that is to be shown always by default.","commit_id":"3e9f65684995202dbf1723ade61b8d14b4afc781"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"47da42cb5402af5d3bff64e2b16f67b472259a34","unresolved":false,"context_lines":[{"line_number":17,"context_line":"Problem description"},{"line_number":18,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"VM query do not give needed information to user about a compute host that is"},{"line_number":21,"context_line":"failed/unreachable, nova-compute service that is failed/stopped or nova-compute"},{"line_number":22,"context_line":"service that is explicitly marked as failed or disabled. User should get the"},{"line_number":23,"context_line":"information about nova-compute state when querying his VMs to get better"}],"source_content_type":"text/x-rst","patch_set":16,"id":"7a2fa921_1d16494c","line":20,"range":{"start_line":20,"start_character":43,"end_line":20,"end_character":47},"updated":"2015-10-08 10:24:12.000000000","message":"nit: the user","commit_id":"c036f8f97680c886c45a19f814dc3b3bc1da6fa8"},{"author":{"_account_id":15834,"name":"Tomi Juvonen","email":"tomi.juvonen@nokia.com","username":"tojuvone"},"change_message_id":"f6aa8f0bd1c1a7012ea9f4b830f611abaa961457","unresolved":false,"context_lines":[{"line_number":17,"context_line":"Problem description"},{"line_number":18,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"VM query do not give needed information to user about a compute host that is"},{"line_number":21,"context_line":"failed/unreachable, nova-compute service that is failed/stopped or nova-compute"},{"line_number":22,"context_line":"service that is explicitly marked as failed or disabled. User should get the"},{"line_number":23,"context_line":"information about nova-compute state when querying his VMs to get better"}],"source_content_type":"text/x-rst","patch_set":16,"id":"5a2ca52d_b3600137","line":20,"in_reply_to":"7a2fa921_1d16494c","updated":"2015-10-14 09:49:56.000000000","message":"Done","commit_id":"c036f8f97680c886c45a19f814dc3b3bc1da6fa8"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"47da42cb5402af5d3bff64e2b16f67b472259a34","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"VM query do not give needed information to user about a compute host that is"},{"line_number":21,"context_line":"failed/unreachable, nova-compute service that is failed/stopped or nova-compute"},{"line_number":22,"context_line":"service that is explicitly marked as failed or disabled. User should get the"},{"line_number":23,"context_line":"information about nova-compute state when querying his VMs to get better"},{"line_number":24,"context_line":"understanding about the situation."},{"line_number":25,"context_line":""}],"source_content_type":"text/x-rst","patch_set":16,"id":"7a2fa921_1a0f2f38","line":22,"range":{"start_line":22,"start_character":57,"end_line":22,"end_character":61},"updated":"2015-10-08 10:24:12.000000000","message":"nit: The user","commit_id":"c036f8f97680c886c45a19f814dc3b3bc1da6fa8"},{"author":{"_account_id":15834,"name":"Tomi Juvonen","email":"tomi.juvonen@nokia.com","username":"tojuvone"},"change_message_id":"f6aa8f0bd1c1a7012ea9f4b830f611abaa961457","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"VM query do not give needed information to user about a compute host that is"},{"line_number":21,"context_line":"failed/unreachable, nova-compute service that is failed/stopped or nova-compute"},{"line_number":22,"context_line":"service that is explicitly marked as failed or disabled. User should get the"},{"line_number":23,"context_line":"information about nova-compute state when querying his VMs to get better"},{"line_number":24,"context_line":"understanding about the situation."},{"line_number":25,"context_line":""}],"source_content_type":"text/x-rst","patch_set":16,"id":"5a2ca52d_735a6985","line":22,"in_reply_to":"7a2fa921_1a0f2f38","updated":"2015-10-14 09:49:56.000000000","message":"Done","commit_id":"c036f8f97680c886c45a19f814dc3b3bc1da6fa8"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"47da42cb5402af5d3bff64e2b16f67b472259a34","unresolved":false,"context_lines":[{"line_number":20,"context_line":"VM query do not give needed information to user about a compute host that is"},{"line_number":21,"context_line":"failed/unreachable, nova-compute service that is failed/stopped or nova-compute"},{"line_number":22,"context_line":"service that is explicitly marked as failed or disabled. User should get the"},{"line_number":23,"context_line":"information about nova-compute state when querying his VMs to get better"},{"line_number":24,"context_line":"understanding about the situation."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":16,"id":"7a2fa921_9d01f907","line":23,"range":{"start_line":23,"start_character":51,"end_line":23,"end_character":54},"updated":"2015-10-08 10:24:12.000000000","message":"nit: his or her","commit_id":"c036f8f97680c886c45a19f814dc3b3bc1da6fa8"},{"author":{"_account_id":15834,"name":"Tomi Juvonen","email":"tomi.juvonen@nokia.com","username":"tojuvone"},"change_message_id":"f6aa8f0bd1c1a7012ea9f4b830f611abaa961457","unresolved":false,"context_lines":[{"line_number":20,"context_line":"VM query do not give needed information to user about a compute host that is"},{"line_number":21,"context_line":"failed/unreachable, nova-compute service that is failed/stopped or nova-compute"},{"line_number":22,"context_line":"service that is explicitly marked as failed or disabled. User should get the"},{"line_number":23,"context_line":"information about nova-compute state when querying his VMs to get better"},{"line_number":24,"context_line":"understanding about the situation."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":16,"id":"5a2ca52d_935f0572","line":23,"in_reply_to":"7a2fa921_9d01f907","updated":"2015-10-14 09:49:56.000000000","message":"Done","commit_id":"c036f8f97680c886c45a19f814dc3b3bc1da6fa8"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"e963e71cd28efeaab4d661a8452495f0988839e9","unresolved":false,"context_lines":[{"line_number":33,"context_line":"As a user I want to get information about maintenance, so I can do actions for"},{"line_number":34,"context_line":"my VMs."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Project Priority"},{"line_number":37,"context_line":"----------------"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Mitaka priorities have not been defined yet."}],"source_content_type":"text/x-rst","patch_set":16,"id":"7a2fa921_5a248ac3","line":36,"updated":"2015-10-09 11:37:52.000000000","message":"nit: remove this section as the template was update","commit_id":"c036f8f97680c886c45a19f814dc3b3bc1da6fa8"},{"author":{"_account_id":15834,"name":"Tomi Juvonen","email":"tomi.juvonen@nokia.com","username":"tojuvone"},"change_message_id":"f6aa8f0bd1c1a7012ea9f4b830f611abaa961457","unresolved":false,"context_lines":[{"line_number":33,"context_line":"As a user I want to get information about maintenance, so I can do actions for"},{"line_number":34,"context_line":"my VMs."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Project Priority"},{"line_number":37,"context_line":"----------------"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Mitaka priorities have not been defined yet."}],"source_content_type":"text/x-rst","patch_set":16,"id":"5a2ca52d_3355d14f","line":36,"in_reply_to":"7a2fa921_5a248ac3","updated":"2015-10-14 09:49:56.000000000","message":"Done","commit_id":"c036f8f97680c886c45a19f814dc3b3bc1da6fa8"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"e963e71cd28efeaab4d661a8452495f0988839e9","unresolved":false,"context_lines":[{"line_number":42,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"A new ``host_status`` field will be added to the ``/servers/{server_id}`` and"},{"line_number":45,"context_line":"``/servers/detail`` endpoints. ``host_status`` will be ``UP`` if nova-compute\u0027s"},{"line_number":46,"context_line":"state is up, ``DOWN`` if nova-compute is forced_down, ``UNKNOWN`` if"},{"line_number":47,"context_line":"nova-compute last_seen_up is not up-to-date and  ``MAINTENANCE`` if"},{"line_number":48,"context_line":"nova-compute\u0027s state disabled."}],"source_content_type":"text/x-rst","patch_set":16,"id":"7a2fa921_dce0972b","line":45,"range":{"start_line":45,"start_character":33,"end_line":45,"end_character":44},"updated":"2015-10-09 11:37:52.000000000","message":"In case of the service is force_down nova can only assume that the host is really fenced by the external system. So I think DOWN in this case contains too much assumption. Can we say something that communicates this assumption explicitly? EXTERNALLY_DEFINED_TO_BE_DOWN maybe?","commit_id":"c036f8f97680c886c45a19f814dc3b3bc1da6fa8"},{"author":{"_account_id":15834,"name":"Tomi Juvonen","email":"tomi.juvonen@nokia.com","username":"tojuvone"},"change_message_id":"f6aa8f0bd1c1a7012ea9f4b830f611abaa961457","unresolved":false,"context_lines":[{"line_number":42,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"A new ``host_status`` field will be added to the ``/servers/{server_id}`` and"},{"line_number":45,"context_line":"``/servers/detail`` endpoints. ``host_status`` will be ``UP`` if nova-compute\u0027s"},{"line_number":46,"context_line":"state is up, ``DOWN`` if nova-compute is forced_down, ``UNKNOWN`` if"},{"line_number":47,"context_line":"nova-compute last_seen_up is not up-to-date and  ``MAINTENANCE`` if"},{"line_number":48,"context_line":"nova-compute\u0027s state disabled."}],"source_content_type":"text/x-rst","patch_set":16,"id":"5a2ca52d_f0dbcf19","line":45,"in_reply_to":"7a2fa921_dce0972b","updated":"2015-10-14 09:49:56.000000000","message":"Thanks Balazs, EXTERNALLY_DEFINED_TO_BE_DOWN sounds good, but is quite long. Do not know if the length is any issue anyhow like in novaclient compared the perfect message it gives.","commit_id":"c036f8f97680c886c45a19f814dc3b3bc1da6fa8"},{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"35c0f39414bf37378df30e6ebe5becfa9741de09","unresolved":false,"context_lines":[{"line_number":78,"context_line":""},{"line_number":79,"context_line":"None"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"REST API impact"},{"line_number":82,"context_line":"---------------"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"GET ``/v2.1/{tenant_id}/servers/{server_id}`` and ``/v2.1/{tenant_id}/servers/"}],"source_content_type":"text/x-rst","patch_set":16,"id":"7a2fa921_f206731f","line":81,"updated":"2015-10-06 16:19:35.000000000","message":"Would it be valuable to allow filtering servers based on the host status?\n\nIn these APIs:\nhttp://developer.openstack.org/api-ref-compute-v2.html#listServers\n\nand\n\nhttp://developer.openstack.org/api-ref-compute-v2.html#listServers","commit_id":"c036f8f97680c886c45a19f814dc3b3bc1da6fa8"},{"author":{"_account_id":15834,"name":"Tomi Juvonen","email":"tomi.juvonen@nokia.com","username":"tojuvone"},"change_message_id":"0351b768269e5fe13c3fe5e138a0a285e834d1d3","unresolved":false,"context_lines":[{"line_number":78,"context_line":""},{"line_number":79,"context_line":"None"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"REST API impact"},{"line_number":82,"context_line":"---------------"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"GET ``/v2.1/{tenant_id}/servers/{server_id}`` and ``/v2.1/{tenant_id}/servers/"}],"source_content_type":"text/x-rst","patch_set":16,"id":"7a2fa921_558cd87e","line":81,"in_reply_to":"7a2fa921_0549675f","updated":"2015-10-07 06:11:55.000000000","message":"This is nice.I will take a look to add something like:\n?host_status\u003d{status}\nand the more complicated combinations to the next patch. Here is similar:\nhttp://specs.openstack.org/openstack/nova-specs/specs/kilo/approved/tag-instances.html","commit_id":"c036f8f97680c886c45a19f814dc3b3bc1da6fa8"},{"author":{"_account_id":15834,"name":"Tomi Juvonen","email":"tomi.juvonen@nokia.com","username":"tojuvone"},"change_message_id":"5195242ac788aa6918a32c6c64054ad8d8ef7b2f","unresolved":false,"context_lines":[{"line_number":78,"context_line":""},{"line_number":79,"context_line":"None"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"REST API impact"},{"line_number":82,"context_line":"---------------"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"GET ``/v2.1/{tenant_id}/servers/{server_id}`` and ``/v2.1/{tenant_id}/servers/"}],"source_content_type":"text/x-rst","patch_set":16,"id":"7a2fa921_bcec2590","line":81,"in_reply_to":"7a2fa921_317efeae","updated":"2015-10-07 13:52:16.000000000","message":"Thanks. I can surely make that filter extension spec. Maybe do not add new patch here now just for this, but if for other reason need new patch, will add this future work if that is fine.","commit_id":"c036f8f97680c886c45a19f814dc3b3bc1da6fa8"},{"author":{"_account_id":15834,"name":"Tomi Juvonen","email":"tomi.juvonen@nokia.com","username":"tojuvone"},"change_message_id":"f6aa8f0bd1c1a7012ea9f4b830f611abaa961457","unresolved":false,"context_lines":[{"line_number":78,"context_line":""},{"line_number":79,"context_line":"None"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"REST API impact"},{"line_number":82,"context_line":"---------------"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"GET ``/v2.1/{tenant_id}/servers/{server_id}`` and ``/v2.1/{tenant_id}/servers/"}],"source_content_type":"text/x-rst","patch_set":16,"id":"5a2ca52d_134c55c6","line":81,"in_reply_to":"7a2fa921_377eeeae","updated":"2015-10-14 09:49:56.000000000","message":"Done","commit_id":"c036f8f97680c886c45a19f814dc3b3bc1da6fa8"},{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"4734413b66d0eca98f0a65d6dc79cb2ae6aae386","unresolved":false,"context_lines":[{"line_number":78,"context_line":""},{"line_number":79,"context_line":"None"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"REST API impact"},{"line_number":82,"context_line":"---------------"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"GET ``/v2.1/{tenant_id}/servers/{server_id}`` and ``/v2.1/{tenant_id}/servers/"}],"source_content_type":"text/x-rst","patch_set":16,"id":"7a2fa921_317efeae","line":81,"in_reply_to":"7a2fa921_51b13a46","updated":"2015-10-07 13:35:57.000000000","message":"Ok, I agree it can be future work.  Maybe do a backlog spec for it once this spec is approved.","commit_id":"c036f8f97680c886c45a19f814dc3b3bc1da6fa8"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"d63129f2005ab7e6ff33642bce867b8aea25ca1e","unresolved":false,"context_lines":[{"line_number":78,"context_line":""},{"line_number":79,"context_line":"None"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"REST API impact"},{"line_number":82,"context_line":"---------------"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"GET ``/v2.1/{tenant_id}/servers/{server_id}`` and ``/v2.1/{tenant_id}/servers/"}],"source_content_type":"text/x-rst","patch_set":16,"id":"7a2fa921_68924b59","line":81,"in_reply_to":"7a2fa921_558cd87e","updated":"2015-10-07 12:38:21.000000000","message":"I agree this could be nice - but it sounds like an extension to me rather than something that has to go into the first iteration.","commit_id":"c036f8f97680c886c45a19f814dc3b3bc1da6fa8"},{"author":{"_account_id":15834,"name":"Tomi Juvonen","email":"tomi.juvonen@nokia.com","username":"tojuvone"},"change_message_id":"d33670957454831f3b8a1e19b603dfa61bdc41f6","unresolved":false,"context_lines":[{"line_number":78,"context_line":""},{"line_number":79,"context_line":"None"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"REST API impact"},{"line_number":82,"context_line":"---------------"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"GET ``/v2.1/{tenant_id}/servers/{server_id}`` and ``/v2.1/{tenant_id}/servers/"}],"source_content_type":"text/x-rst","patch_set":16,"id":"7a2fa921_51b13a46","line":81,"in_reply_to":"7a2fa921_68924b59","updated":"2015-10-07 13:23:24.000000000","message":"Ok, so not add now then. Maybe a comment for future work.","commit_id":"c036f8f97680c886c45a19f814dc3b3bc1da6fa8"},{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"07d83322853ec47752aafc4a14f91e673930c4f4","unresolved":false,"context_lines":[{"line_number":78,"context_line":""},{"line_number":79,"context_line":"None"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"REST API impact"},{"line_number":82,"context_line":"---------------"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"GET ``/v2.1/{tenant_id}/servers/{server_id}`` and ``/v2.1/{tenant_id}/servers/"}],"source_content_type":"text/x-rst","patch_set":16,"id":"7a2fa921_377eeeae","line":81,"in_reply_to":"7a2fa921_bcec2590","updated":"2015-10-07 14:09:13.000000000","message":"Yes, thats ok with me.","commit_id":"c036f8f97680c886c45a19f814dc3b3bc1da6fa8"},{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"4c38e3bf858872339e08925cfc705bbc853ada51","unresolved":false,"context_lines":[{"line_number":78,"context_line":""},{"line_number":79,"context_line":"None"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"REST API impact"},{"line_number":82,"context_line":"---------------"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"GET ``/v2.1/{tenant_id}/servers/{server_id}`` and ``/v2.1/{tenant_id}/servers/"}],"source_content_type":"text/x-rst","patch_set":16,"id":"7a2fa921_0549675f","line":81,"in_reply_to":"7a2fa921_f206731f","updated":"2015-10-06 16:21:06.000000000","message":"I meant to use this as the 2nd link:\nhttp://developer.openstack.org/api-ref-compute-v2.html#listDetailServers","commit_id":"c036f8f97680c886c45a19f814dc3b3bc1da6fa8"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"67b8ee7a80d4f26d48fbbbf2c06a417748abf84d","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"As a user I want to be able to react quickly when a VM becomes inactive. To do"},{"line_number":30,"context_line":"this I need to have accurate VM state information even when the compute service"},{"line_number":31,"context_line":"fails."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"As a user I want to get information about maintenance, so I can do actions for"},{"line_number":34,"context_line":"my VMs."}],"source_content_type":"text/x-rst","patch_set":17,"id":"5a2ca52d_945c99ee","line":31,"updated":"2015-10-15 10:30:51.000000000","message":"Just by reading that sentence, I\u0027m thinking of os-instance-actions. IIUC, your usecase is a bit different : you want to get at one glance within a nova list which hypervisors are valid and which ones are not. Am I right?","commit_id":"ef4d89c9dc75d2139a7e4f53a04dd777288a42ee"},{"author":{"_account_id":15834,"name":"Tomi Juvonen","email":"tomi.juvonen@nokia.com","username":"tojuvone"},"change_message_id":"d138e349dc86e94272b2fcd2a7897cc7c40e4d3f","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"As a user I want to be able to react quickly when a VM becomes inactive. To do"},{"line_number":30,"context_line":"this I need to have accurate VM state information even when the compute service"},{"line_number":31,"context_line":"fails."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"As a user I want to get information about maintenance, so I can do actions for"},{"line_number":34,"context_line":"my VMs."}],"source_content_type":"text/x-rst","patch_set":17,"id":"3a29b11f_43dd3b13","line":31,"in_reply_to":"5a2ca52d_945c99ee","updated":"2015-10-19 08:13:33.000000000","message":"There has been more editors and use cases lived a little. This is really to catch nova-compute state that reflects to instances if their states have not updated then. Instance owner would see that something is wrong as cannot see that in current state information. This needs refactoring correspondingly.","commit_id":"ef4d89c9dc75d2139a7e4f53a04dd777288a42ee"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"67b8ee7a80d4f26d48fbbbf2c06a417748abf84d","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"A new ``host_status`` field will be added to the ``/servers/{server_id}`` and"},{"line_number":41,"context_line":"``/servers/detail`` endpoints. ``host_status`` will be ``UP`` if nova-compute\u0027s"},{"line_number":42,"context_line":"state is up, ``EXTERNALLY_DEFINED_TO_BE_DOW`` if nova-compute is forced_down,"},{"line_number":43,"context_line":"``UNKNOWN`` if nova-compute last_seen_up is not up-to-date and  ``MAINTENANCE``"},{"line_number":44,"context_line":"if nova-compute\u0027s state disabled."},{"line_number":45,"context_line":""}],"source_content_type":"text/x-rst","patch_set":17,"id":"5a2ca52d_d49f71b2","line":42,"range":{"start_line":42,"start_character":40,"end_line":42,"end_character":43},"updated":"2015-10-15 10:30:51.000000000","message":"nit: Dow(\u0027 Jones\u0027, \u0027n) which one to pick ? :-)","commit_id":"ef4d89c9dc75d2139a7e4f53a04dd777288a42ee"},{"author":{"_account_id":15834,"name":"Tomi Juvonen","email":"tomi.juvonen@nokia.com","username":"tojuvone"},"change_message_id":"d138e349dc86e94272b2fcd2a7897cc7c40e4d3f","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"A new ``host_status`` field will be added to the ``/servers/{server_id}`` and"},{"line_number":41,"context_line":"``/servers/detail`` endpoints. ``host_status`` will be ``UP`` if nova-compute\u0027s"},{"line_number":42,"context_line":"state is up, ``EXTERNALLY_DEFINED_TO_BE_DOW`` if nova-compute is forced_down,"},{"line_number":43,"context_line":"``UNKNOWN`` if nova-compute last_seen_up is not up-to-date and  ``MAINTENANCE``"},{"line_number":44,"context_line":"if nova-compute\u0027s state disabled."},{"line_number":45,"context_line":""}],"source_content_type":"text/x-rst","patch_set":17,"id":"3a29b11f_663165a2","line":42,"in_reply_to":"5a2ca52d_d49f71b2","updated":"2015-10-19 08:13:33.000000000","message":"yes","commit_id":"ef4d89c9dc75d2139a7e4f53a04dd777288a42ee"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"67b8ee7a80d4f26d48fbbbf2c06a417748abf84d","unresolved":false,"context_lines":[{"line_number":41,"context_line":"``/servers/detail`` endpoints. ``host_status`` will be ``UP`` if nova-compute\u0027s"},{"line_number":42,"context_line":"state is up, ``EXTERNALLY_DEFINED_TO_BE_DOW`` if nova-compute is forced_down,"},{"line_number":43,"context_line":"``UNKNOWN`` if nova-compute last_seen_up is not up-to-date and  ``MAINTENANCE``"},{"line_number":44,"context_line":"if nova-compute\u0027s state disabled."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"A new policy element will be added to control access to ``host_status``. This"},{"line_number":47,"context_line":"can be used both to prevent this host-based data being disclosed as well as to"}],"source_content_type":"text/x-rst","patch_set":17,"id":"5a2ca52d_747d3d6d","line":44,"updated":"2015-10-15 10:30:51.000000000","message":"So, IMHO something is missing from your spec that seems crucial to me : how are you planning to capture that information at the API level ? Are you planning to call the SG API for each instance?\n\nI don\u0027t really need to discuss the implementation details, I\u0027m more concerned about the design in a distributed model.","commit_id":"ef4d89c9dc75d2139a7e4f53a04dd777288a42ee"},{"author":{"_account_id":15834,"name":"Tomi Juvonen","email":"tomi.juvonen@nokia.com","username":"tojuvone"},"change_message_id":"d138e349dc86e94272b2fcd2a7897cc7c40e4d3f","unresolved":false,"context_lines":[{"line_number":41,"context_line":"``/servers/detail`` endpoints. ``host_status`` will be ``UP`` if nova-compute\u0027s"},{"line_number":42,"context_line":"state is up, ``EXTERNALLY_DEFINED_TO_BE_DOW`` if nova-compute is forced_down,"},{"line_number":43,"context_line":"``UNKNOWN`` if nova-compute last_seen_up is not up-to-date and  ``MAINTENANCE``"},{"line_number":44,"context_line":"if nova-compute\u0027s state disabled."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"A new policy element will be added to control access to ``host_status``. This"},{"line_number":47,"context_line":"can be used both to prevent this host-based data being disclosed as well as to"}],"source_content_type":"text/x-rst","patch_set":17,"id":"3a29b11f_a3552f1e","line":44,"in_reply_to":"5a2ca52d_747d3d6d","updated":"2015-10-19 08:13:33.000000000","message":"Unfortunately I have not yet had that much time to work with the POC code yet to see if some problematic things to solve. Surely foreseen otherwise there is at least performance impact on getting data, but that is also half the reason there is the new policy for this.","commit_id":"ef4d89c9dc75d2139a7e4f53a04dd777288a42ee"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"67b8ee7a80d4f26d48fbbbf2c06a417748abf84d","unresolved":false,"context_lines":[{"line_number":115,"context_line":"    200 OK"},{"line_number":116,"context_line":"    {"},{"line_number":117,"context_line":"      \"server\": {"},{"line_number":118,"context_line":"        \"host_status\": \"EXTERNALLY_DEFINED_TO_BE_DOW\","},{"line_number":119,"context_line":"        ..."},{"line_number":120,"context_line":"      }"},{"line_number":121,"context_line":"    }"}],"source_content_type":"text/x-rst","patch_set":17,"id":"5a2ca52d_9416d953","line":118,"range":{"start_line":118,"start_character":24,"end_line":118,"end_character":52},"updated":"2015-10-15 10:30:51.000000000","message":"I\u0027m not very happy with providing new states for a compute that wouldn\u0027t be defined correctly, but instead just being strings...","commit_id":"ef4d89c9dc75d2139a7e4f53a04dd777288a42ee"},{"author":{"_account_id":15834,"name":"Tomi Juvonen","email":"tomi.juvonen@nokia.com","username":"tojuvone"},"change_message_id":"d138e349dc86e94272b2fcd2a7897cc7c40e4d3f","unresolved":false,"context_lines":[{"line_number":115,"context_line":"    200 OK"},{"line_number":116,"context_line":"    {"},{"line_number":117,"context_line":"      \"server\": {"},{"line_number":118,"context_line":"        \"host_status\": \"EXTERNALLY_DEFINED_TO_BE_DOW\","},{"line_number":119,"context_line":"        ..."},{"line_number":120,"context_line":"      }"},{"line_number":121,"context_line":"    }"}],"source_content_type":"text/x-rst","patch_set":17,"id":"3a29b11f_66a085f5","line":118,"in_reply_to":"5a2ca52d_9416d953","updated":"2015-10-19 08:13:33.000000000","message":"Well this is the direction the review has gone. This at least gives everything in one attribute easy to read.","commit_id":"ef4d89c9dc75d2139a7e4f53a04dd777288a42ee"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"67b8ee7a80d4f26d48fbbbf2c06a417748abf84d","unresolved":false,"context_lines":[{"line_number":196,"context_line":""},{"line_number":197,"context_line":"* Expose host_status as detailed."},{"line_number":198,"context_line":"* Update python-novaclient."},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"Dependencies"},{"line_number":201,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":202,"context_line":""}],"source_content_type":"text/x-rst","patch_set":17,"id":"5a2ca52d_6f580433","line":199,"updated":"2015-10-15 10:30:51.000000000","message":"See, I\u0027m still not getting how you think to get those metrics. You only mention a database query, I guess you\u0027re thinking of calling the Services model from something like Service.get_first_for_compat_by_host(instance.host) ?","commit_id":"ef4d89c9dc75d2139a7e4f53a04dd777288a42ee"},{"author":{"_account_id":15834,"name":"Tomi Juvonen","email":"tomi.juvonen@nokia.com","username":"tojuvone"},"change_message_id":"d138e349dc86e94272b2fcd2a7897cc7c40e4d3f","unresolved":false,"context_lines":[{"line_number":196,"context_line":""},{"line_number":197,"context_line":"* Expose host_status as detailed."},{"line_number":198,"context_line":"* Update python-novaclient."},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"Dependencies"},{"line_number":201,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":202,"context_line":""}],"source_content_type":"text/x-rst","patch_set":17,"id":"3a29b11f_c6c4f993","line":199,"in_reply_to":"5a2ca52d_6f580433","updated":"2015-10-19 08:13:33.000000000","message":"Yes, sounds something I could have come up with.","commit_id":"ef4d89c9dc75d2139a7e4f53a04dd777288a42ee"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"5e93debbedfb3d7a828059cab51535cf0f53ea3b","unresolved":false,"context_lines":[{"line_number":30,"context_line":"compute service fails, so I can do quick actions for my VMs."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"As a user I want to get information about maintenance, so I can do actions for"},{"line_number":33,"context_line":"my VMs."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":18,"id":"3a29b11f_2cc74e97","line":33,"updated":"2015-10-21 12:28:30.000000000","message":"I would like to see the call flow that you\u0027d expect an application that uses this info would do. Because it\u0027s not clear to me what a user can do to recover from this if the answer is MAINTENANCE for instance.","commit_id":"2d5336d8ef7db74c8307a1e6a0e123ca7c12a776"},{"author":{"_account_id":15834,"name":"Tomi Juvonen","email":"tomi.juvonen@nokia.com","username":"tojuvone"},"change_message_id":"4e3cddd5d53e99fff2b75d2227b5a1a0ba63d501","unresolved":false,"context_lines":[{"line_number":30,"context_line":"compute service fails, so I can do quick actions for my VMs."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"As a user I want to get information about maintenance, so I can do actions for"},{"line_number":33,"context_line":"my VMs."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":18,"id":"3a29b11f_8b39a5d9","line":33,"in_reply_to":"3a29b11f_2cc74e97","updated":"2015-10-21 13:28:52.000000000","message":"Thanks, the whole spec would be mostly for Telco / HA users and enabled by the policy for that reason, so do not interfere other users. It could be explained quite heavily what kind of expectations there would be for different scenarios and what it takes that is currently not part of OpenStack, but left outside. Let\u0027s see if I get some compact lines of text that would serve for this spec. I might have some external links that could use, but the information needed might not be easy to fetch from there to catch what is needed for this. I will work on this for a new patch.","commit_id":"2d5336d8ef7db74c8307a1e6a0e123ca7c12a776"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"1f68883f428acca6b2d81c4d80566b959eff40fa","unresolved":false,"context_lines":[{"line_number":45,"context_line":"the VM or he might have preconfigured that external admin tool can do the"},{"line_number":46,"context_line":"evacuation. This can be done for example by adding some metadata to each VM"},{"line_number":47,"context_line":"that external tool can read. The real maintenance can then be done for the"},{"line_number":48,"context_line":"physical host when there is no VMs running there anymore."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"Proposed change"},{"line_number":51,"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":19,"id":"3a29b11f_dd6414ba","line":48,"updated":"2015-10-22 11:22:16.000000000","message":"This really seems like what you actually want is something different. You want a \"soon to be down\" state that prevents new work from landing on a host. That + live migration out gets you where you want to be.\n\nIt\u0027s still not clear exposing these fields to the user gets you the workflow you are looking for. As this is an API change, I\u0027d really recommend writing the entire expected flow in pseudo code in the spec to see what circumstances it would hold together.","commit_id":"97ca645275a3ea880bd11544cd5d3e757dc799b4"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"faa140d11a12a531dc251559814f0529f7646996","unresolved":false,"context_lines":[{"line_number":45,"context_line":"the VM or he might have preconfigured that external admin tool can do the"},{"line_number":46,"context_line":"evacuation. This can be done for example by adding some metadata to each VM"},{"line_number":47,"context_line":"that external tool can read. The real maintenance can then be done for the"},{"line_number":48,"context_line":"physical host when there is no VMs running there anymore."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"Proposed change"},{"line_number":51,"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":19,"id":"3a29b11f_65d3dfd5","line":48,"in_reply_to":"3a29b11f_dd6414ba","updated":"2015-10-22 14:44:17.000000000","message":"Actually, the goal of this is to know immediately, as a user, that the host is down because all you can see is your instance details. The planned maintenance thing is more of a tack-on here, but it makes sense to do it in the same effort. Since we already have a planned-down indication (service\u003ddisabled), we can expose the host state to the user in a meaningful way.\n\nThe need to know about maintenance (disabled) mode has nothing to do with whether new instances are going to be landed on the host, but everything to do with knowing that \"uh, the operators might be about to reboot my host so maybe I should plan accordingly.\"","commit_id":"97ca645275a3ea880bd11544cd5d3e757dc799b4"},{"author":{"_account_id":15834,"name":"Tomi Juvonen","email":"tomi.juvonen@nokia.com","username":"tojuvone"},"change_message_id":"3263345735758b28e782ec3e2922775509cf8e10","unresolved":false,"context_lines":[{"line_number":45,"context_line":"the VM or he might have preconfigured that external admin tool can do the"},{"line_number":46,"context_line":"evacuation. This can be done for example by adding some metadata to each VM"},{"line_number":47,"context_line":"that external tool can read. The real maintenance can then be done for the"},{"line_number":48,"context_line":"physical host when there is no VMs running there anymore."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"Proposed change"},{"line_number":51,"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":19,"id":"3a29b11f_e86fadc1","line":48,"in_reply_to":"3a29b11f_dd6414ba","updated":"2015-10-23 07:14:42.000000000","message":"I feel it would be hard to have those flows written down as with different deployments there might come different ways to do things as having something external also. It might come huge amount of lines here and long review. I would rather add some explanation what those host_status values can mean to user. Like shortly how Dan put it below for maintenance. Then remove this paragraph playing with these scenarios that now expose even something outside OpenStack, while maybe coming later.","commit_id":"97ca645275a3ea880bd11544cd5d3e757dc799b4"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"f36f75b3ba4d4939d2ace85b46d2e2d6a68249f2","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"A new ``host_status`` field will be added to the ``/servers/{server_id}`` and"},{"line_number":46,"context_line":"``/servers/detail`` endpoints. ``host_status`` will be ``UP`` if nova-compute\u0027s"},{"line_number":47,"context_line":"state is up, ``EXTERNALLY_DEFINED_TO_BE_DOWN`` if nova-compute is forced_down,"},{"line_number":48,"context_line":"``UNKNOWN`` if nova-compute last_seen_up is not up-to-date and  ``MAINTENANCE``"},{"line_number":49,"context_line":"if nova-compute\u0027s state disabled. Needed information can be retriewed by host"},{"line_number":50,"context_line":"API and servicegroup API if new policy allows. forced_down flag handling is"}],"source_content_type":"text/x-rst","patch_set":20,"id":"1a26ad4f_dc30f8a0","line":47,"range":{"start_line":47,"start_character":15,"end_line":47,"end_character":44},"updated":"2015-10-30 07:52:17.000000000","message":"I\u0027m not sure I love this state name, but we can argue about it in the actual patch I think.","commit_id":"446adfb10ac39377ca40e6c5a4234553260e24b0"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"22ed93ff81f66517879ffe5b6936e8c7fe3c4807","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"A new ``host_status`` field will be added to the ``/servers/{server_id}`` and"},{"line_number":46,"context_line":"``/servers/detail`` endpoints. ``host_status`` will be ``UP`` if nova-compute\u0027s"},{"line_number":47,"context_line":"state is up, ``EXTERNALLY_DEFINED_TO_BE_DOWN`` if nova-compute is forced_down,"},{"line_number":48,"context_line":"``UNKNOWN`` if nova-compute last_seen_up is not up-to-date and  ``MAINTENANCE``"},{"line_number":49,"context_line":"if nova-compute\u0027s state disabled. Needed information can be retriewed by host"},{"line_number":50,"context_line":"API and servicegroup API if new policy allows. forced_down flag handling is"}],"source_content_type":"text/x-rst","patch_set":20,"id":"fa80f949_e01fa059","line":47,"range":{"start_line":47,"start_character":15,"end_line":47,"end_character":44},"in_reply_to":"1a26ad4f_dc30f8a0","updated":"2015-11-03 15:41:35.000000000","message":"+1 on both counts.","commit_id":"446adfb10ac39377ca40e6c5a4234553260e24b0"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"3d599ca9cf812cfc14c8b676a09315cdc3361ff8","unresolved":false,"context_lines":[{"line_number":154,"context_line":"::"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"  \"os_compute_api:servers:show:host_status\": \"is_admin:True or"},{"line_number":157,"context_line":"  user_id:%(user_id)s\""},{"line_number":158,"context_line":""},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"Security impact"}],"source_content_type":"text/x-rst","patch_set":20,"id":"1a26ad4f_de568729","line":157,"updated":"2015-11-02 08:04:16.000000000","message":"There is a similar extension \"os-extended-server-attributes\" which adds host information for each server.\n\nSo how about using the same policy check \"os_compute_api:servers:os-extended-server-attributes\" ?\n\nThe additional attribute will be managed with a microversion already, so it seems enough to manage the attribute representation with the same policy check.","commit_id":"446adfb10ac39377ca40e6c5a4234553260e24b0"},{"author":{"_account_id":15834,"name":"Tomi Juvonen","email":"tomi.juvonen@nokia.com","username":"tojuvone"},"change_message_id":"c9c2a7f6e913bc300ef40d43e0a0fbe3b30b9c0a","unresolved":false,"context_lines":[{"line_number":154,"context_line":"::"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"  \"os_compute_api:servers:show:host_status\": \"is_admin:True or"},{"line_number":157,"context_line":"  user_id:%(user_id)s\""},{"line_number":158,"context_line":""},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"Security impact"}],"source_content_type":"text/x-rst","patch_set":20,"id":"1a26ad4f_e9506fd6","line":157,"in_reply_to":"1a26ad4f_de568729","updated":"2015-11-02 08:24:22.000000000","message":"Thanks, for the review. It is not intended that one can expose host details like hostname to a normal user. Just expose state related information that effect to user. This is why the different policy.","commit_id":"446adfb10ac39377ca40e6c5a4234553260e24b0"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"e7c72308cefc3d9b0a04cdfa432aa9e82cd437da","unresolved":false,"context_lines":[{"line_number":154,"context_line":"::"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"  \"os_compute_api:servers:show:host_status\": \"is_admin:True or"},{"line_number":157,"context_line":"  user_id:%(user_id)s\""},{"line_number":158,"context_line":""},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"Security impact"}],"source_content_type":"text/x-rst","patch_set":20,"id":"1a26ad4f_44ae2a82","line":157,"in_reply_to":"1a26ad4f_e9506fd6","updated":"2015-11-02 09:04:52.000000000","message":"Thanks for your response, I can see it :-)","commit_id":"446adfb10ac39377ca40e6c5a4234553260e24b0"}]}
