)]}'
{"specs/newton/approved/ironic-multiple-compute-hosts.rst":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"fdb22e544caf92e79f420cbf2c8a08fcc0098b3e","unresolved":false,"context_lines":[{"line_number":58,"context_line":"table. Since there won\u0027t be any records in the compute_nodes table"},{"line_number":59,"context_line":"for a service that is starting for the first time, the virt driver"},{"line_number":60,"context_line":"also adds its own compute service into this list. The list of all"},{"line_number":61,"context_line":"hostnames in this list is what is used to instantiate the hash ring."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"As nova-compute services are brought up or down, the ring will"},{"line_number":64,"context_line":"re-balance. It\u0027s important to note that this re-balance does not"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bacf61ea_2abe7fd4","line":61,"updated":"2016-08-02 22:33:09.000000000","message":"So I didn\u0027t really get this until you wrote it out like this, but don\u0027t we have a race here? Meaning, let\u0027s say you start ten compute nodes at the same time, they will all think they are the only ones in the deployment and try to own all the nodes.\n\nSimilarly, if you have 8 and start two at the same time, both the new ones will claim the same set of nodes. This may not be a problem given the eventually-consistent nature of this, but will probably generate a lot of churn.\n\nI was trying to think of some way we could skip the first round to let things settle, when we detected that it was our first go-round. However, I guess if we report no nodes the first time, then the second run is similarly dry.\n\nI guess if we had a DLM this would be a prime case for using it just to lock this initial discovery thing.","commit_id":"6894d19e2c7418a339547f17dacb8162d6bcbdd9"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"0143f9c63656210bb7258da1105ea0b5d7d9328b","unresolved":false,"context_lines":[{"line_number":58,"context_line":"table. Since there won\u0027t be any records in the compute_nodes table"},{"line_number":59,"context_line":"for a service that is starting for the first time, the virt driver"},{"line_number":60,"context_line":"also adds its own compute service into this list. The list of all"},{"line_number":61,"context_line":"hostnames in this list is what is used to instantiate the hash ring."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"As nova-compute services are brought up or down, the ring will"},{"line_number":64,"context_line":"re-balance. It\u0027s important to note that this re-balance does not"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bacf61ea_76dde06f","line":61,"in_reply_to":"bacf61ea_2abe7fd4","updated":"2016-08-03 13:06:22.000000000","message":"Yeah, it\u0027ll definitely generate some churn. I\u0027m not sure a good way around it, either, but like you say I don\u0027t think it\u0027s a huge problem. It\u0027s certainly no worse than the ClusteredComputeManager hack.","commit_id":"6894d19e2c7418a339547f17dacb8162d6bcbdd9"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"fdb22e544caf92e79f420cbf2c8a08fcc0098b3e","unresolved":false,"context_lines":[{"line_number":72,"context_line":"capacity reporting (e.g. nova hypervisor-stats) to over-report"},{"line_number":73,"context_line":"capacity for this time. Once all compute services in the cluster"},{"line_number":74,"context_line":"have done a resource tracker run and re-balanced the hash ring,"},{"line_number":75,"context_line":"this will be back to normal."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"It\u0027s also important to note that, due to the way nodes with instances"},{"line_number":78,"context_line":"are handled, if an instance is deleted while the compute service is"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bacf61ea_2a931f51","line":75,"updated":"2016-08-02 22:33:09.000000000","message":"We already report incorrect capacity even when things are normal for ironic and other situations like shared storage. So, while uncool, this is (a) only when adding or removing a new ironic host, and (b) exists today.\n\nMy only question is: are we sure the scheduler won\u0027t try to place two instances on the same node since they are duplicated in the database?","commit_id":"6894d19e2c7418a339547f17dacb8162d6bcbdd9"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"0143f9c63656210bb7258da1105ea0b5d7d9328b","unresolved":false,"context_lines":[{"line_number":72,"context_line":"capacity reporting (e.g. nova hypervisor-stats) to over-report"},{"line_number":73,"context_line":"capacity for this time. Once all compute services in the cluster"},{"line_number":74,"context_line":"have done a resource tracker run and re-balanced the hash ring,"},{"line_number":75,"context_line":"this will be back to normal."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"It\u0027s also important to note that, due to the way nodes with instances"},{"line_number":78,"context_line":"are handled, if an instance is deleted while the compute service is"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bacf61ea_96533439","line":75,"in_reply_to":"bacf61ea_2a931f51","updated":"2016-08-03 13:06:22.000000000","message":"Yeah, I think it could. There\u0027s a couple things we already do to mitigate this:\n\n1) We recommend setting scheduler_host_subset_size to an absurdly high number, so that scheduling is more random among the possible nodes. Or, I thought we did, but can\u0027t find it when looking for a source. Updated the docs here: https://review.openstack.org/350569 \n\n2) One of the first steps in spawn() is setting the instance uuid on the ironic node, which can\u0027t be overwritten by another spawn. The second spawn will explode and be rescheduled.","commit_id":"6894d19e2c7418a339547f17dacb8162d6bcbdd9"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"3d81f6bfc42e2929b5c5fc3b96a99efe4db130df","unresolved":false,"context_lines":[{"line_number":72,"context_line":"capacity reporting (e.g. nova hypervisor-stats) to over-report"},{"line_number":73,"context_line":"capacity for this time. Once all compute services in the cluster"},{"line_number":74,"context_line":"have done a resource tracker run and re-balanced the hash ring,"},{"line_number":75,"context_line":"this will be back to normal."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"It\u0027s also important to note that, due to the way nodes with instances"},{"line_number":78,"context_line":"are handled, if an instance is deleted while the compute service is"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bacf61ea_ff5d23ed","line":75,"in_reply_to":"bacf61ea_96533439","updated":"2016-08-03 13:46:04.000000000","message":"Hmm, okay, well, that\u0027s not super great, but I guess it\u0027s optional to run this way and the span of time where that can happen is limited to a short period around the time of adding a new compute service.\n\nI wonder, could we mitigate that by starting a new compute service in disabled mode, and then waiting for one rehash cycle to pass before enabling it? That would let it (double-)claim some nodes but not be considered as a scheduling target until after the mess has cleared. Right?","commit_id":"6894d19e2c7418a339547f17dacb8162d6bcbdd9"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"fdb22e544caf92e79f420cbf2c8a08fcc0098b3e","unresolved":false,"context_lines":[{"line_number":82,"context_line":"instance). The ironic node will remain active and orphaned. Once"},{"line_number":83,"context_line":"the periodic task to reap deleted instances runs, the ironic node"},{"line_number":84,"context_line":"will be torn down and the node will again be reported in the"},{"line_number":85,"context_line":"compute_nodes table."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"It\u0027s all very eventually consistent, with a potentially long time"},{"line_number":88,"context_line":"to eventual."}],"source_content_type":"text/x-rst","patch_set":1,"id":"bacf61ea_cad083fa","line":85,"updated":"2016-08-02 22:33:09.000000000","message":"We kindof have a similar problem with virtual resources anyway. If a compute is down and you delete an instance with 32T of disk while it\u0027s gone, if it starts back up it is going to be unable to do things that the scheduler expects it to until that reap happens.","commit_id":"6894d19e2c7418a339547f17dacb8162d6bcbdd9"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"fdb22e544caf92e79f420cbf2c8a08fcc0098b3e","unresolved":false,"context_lines":[{"line_number":87,"context_line":"It\u0027s all very eventually consistent, with a potentially long time"},{"line_number":88,"context_line":"to eventual."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"There\u0027s no configuration to enable this mode; it\u0027s always running."},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"Alternatives"},{"line_number":93,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bacf61ea_2a083f91","line":90,"updated":"2016-08-02 22:33:09.000000000","message":"And has the same behavior as today if you just run one...","commit_id":"6894d19e2c7418a339547f17dacb8162d6bcbdd9"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"0143f9c63656210bb7258da1105ea0b5d7d9328b","unresolved":false,"context_lines":[{"line_number":87,"context_line":"It\u0027s all very eventually consistent, with a potentially long time"},{"line_number":88,"context_line":"to eventual."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"There\u0027s no configuration to enable this mode; it\u0027s always running."},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"Alternatives"},{"line_number":93,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bacf61ea_7625e0c0","line":90,"in_reply_to":"bacf61ea_2a083f91","updated":"2016-08-03 13:06:22.000000000","message":"Done","commit_id":"6894d19e2c7418a339547f17dacb8162d6bcbdd9"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"fdb22e544caf92e79f420cbf2c8a08fcc0098b3e","unresolved":false,"context_lines":[{"line_number":183,"context_line":"We also plan to add a CI job that runs the ironic driver with multiple"},{"line_number":184,"context_line":"compute hosts. We\u0027ll also want to do some fancy things with bringing services"},{"line_number":185,"context_line":"up and down and making sure stuff still works. I don\u0027t have a solid plan"},{"line_number":186,"context_line":"for that yet, but I think it can be done."},{"line_number":187,"context_line":""},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"Documentation Impact"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bacf61ea_2a2f9ff7","line":186,"updated":"2016-08-02 22:33:09.000000000","message":"We can\u0027t do that in our normal jobs today anyway. We\u0027d like to, so we can test things that require it like evacuate, but since the tests are parallel, we just ... don\u0027t.","commit_id":"6894d19e2c7418a339547f17dacb8162d6bcbdd9"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"0143f9c63656210bb7258da1105ea0b5d7d9328b","unresolved":false,"context_lines":[{"line_number":183,"context_line":"We also plan to add a CI job that runs the ironic driver with multiple"},{"line_number":184,"context_line":"compute hosts. We\u0027ll also want to do some fancy things with bringing services"},{"line_number":185,"context_line":"up and down and making sure stuff still works. I don\u0027t have a solid plan"},{"line_number":186,"context_line":"for that yet, but I think it can be done."},{"line_number":187,"context_line":""},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"Documentation Impact"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bacf61ea_590e0f33","line":186,"in_reply_to":"bacf61ea_2a2f9ff7","updated":"2016-08-03 13:06:22.000000000","message":"Yeah, good point. Want me to remove this?","commit_id":"6894d19e2c7418a339547f17dacb8162d6bcbdd9"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"3d81f6bfc42e2929b5c5fc3b96a99efe4db130df","unresolved":false,"context_lines":[{"line_number":183,"context_line":"We also plan to add a CI job that runs the ironic driver with multiple"},{"line_number":184,"context_line":"compute hosts. We\u0027ll also want to do some fancy things with bringing services"},{"line_number":185,"context_line":"up and down and making sure stuff still works. I don\u0027t have a solid plan"},{"line_number":186,"context_line":"for that yet, but I think it can be done."},{"line_number":187,"context_line":""},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"Documentation Impact"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bacf61ea_bfc44b40","line":186,"in_reply_to":"bacf61ea_590e0f33","updated":"2016-08-03 13:46:04.000000000","message":"I would probably remove the bit about bringing services up and down, yeah.","commit_id":"6894d19e2c7418a339547f17dacb8162d6bcbdd9"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"181b5de9891c4fb412efcbc76d76d055a01f93cf","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":"The virt driver finds all compute services that are running the"},{"line_number":57,"context_line":"ironic driver by joining the services table and the compute_nodes"},{"line_number":58,"context_line":"table. Since there won\u0027t be any records in the compute_nodes table"},{"line_number":59,"context_line":"for a service that is starting for the first time, the virt driver"},{"line_number":60,"context_line":"also adds its own compute service into this list. The list of all"},{"line_number":61,"context_line":"hostnames in this list is what is used to instantiate the hash ring."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"As nova-compute services are brought up or down, the ring will"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bacf61ea_fd5cf67e","line":60,"range":{"start_line":58,"start_character":7,"end_line":60,"end_character":49},"updated":"2016-08-03 21:36:30.000000000","message":"Doesn\u0027t this already happen automatically in resource_tracker._init_compute_node ?","commit_id":"341143e32b9539b5ca62f684d6276cfbee6b15e5"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"1162e884740679fd2ac0a840de885ebdcaa8fd05","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":"The virt driver finds all compute services that are running the"},{"line_number":57,"context_line":"ironic driver by joining the services table and the compute_nodes"},{"line_number":58,"context_line":"table. Since there won\u0027t be any records in the compute_nodes table"},{"line_number":59,"context_line":"for a service that is starting for the first time, the virt driver"},{"line_number":60,"context_line":"also adds its own compute service into this list. The list of all"},{"line_number":61,"context_line":"hostnames in this list is what is used to instantiate the hash ring."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"As nova-compute services are brought up or down, the ring will"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bacf61ea_788e54d1","line":60,"range":{"start_line":58,"start_character":7,"end_line":60,"end_character":49},"in_reply_to":"bacf61ea_fd5cf67e","updated":"2016-08-03 21:39:55.000000000","message":"No, he doesn\u0027t mean the actual creation of the service record, he means in the set of services considered for the hash ring. The hash ring depends on knowing how many buckets need to be created (i.e. how many compute services are running). So, if it gets that list and it doesn\u0027t see itself in there, it needs to insert itself into the list (literally just in a python list in memory) to calculate the new set of buckets. That\u0027s because the process of recalculating the nodes is what ends up writing the service record to the database, and thus what will end up signaling to all the other ones that there is now another service, and thus the bucket count has changed.","commit_id":"341143e32b9539b5ca62f684d6276cfbee6b15e5"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"181b5de9891c4fb412efcbc76d76d055a01f93cf","unresolved":false,"context_lines":[{"line_number":74,"context_line":"have done a resource tracker run and re-balanced the hash ring,"},{"line_number":75,"context_line":"this will be back to normal."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"It\u0027s also important to note that, due to the way nodes with instances"},{"line_number":78,"context_line":"are handled, if an instance is deleted while the compute service is"},{"line_number":79,"context_line":"down, that node will be removed from the compute_nodes table when"},{"line_number":80,"context_line":"the service comes back up (as each service will see an instance on"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bacf61ea_f884040c","line":77,"range":{"start_line":77,"start_character":49,"end_line":77,"end_character":54},"updated":"2016-08-03 21:36:30.000000000","message":"Because I\u0027m dumb and inexperienced with the ironic driver and deployment model, it would help people like me to qualify ironic nodes vs compute nodes because I really get lost reading this paragraph.","commit_id":"341143e32b9539b5ca62f684d6276cfbee6b15e5"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"5cda3ae9576403241fd48c9a1132c112278ba6b3","unresolved":false,"context_lines":[{"line_number":74,"context_line":"have done a resource tracker run and re-balanced the hash ring,"},{"line_number":75,"context_line":"this will be back to normal."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"It\u0027s also important to note that, due to the way nodes with instances"},{"line_number":78,"context_line":"are handled, if an instance is deleted while the compute service is"},{"line_number":79,"context_line":"down, that node will be removed from the compute_nodes table when"},{"line_number":80,"context_line":"the service comes back up (as each service will see an instance on"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bacf61ea_d3176152","line":77,"range":{"start_line":77,"start_character":49,"end_line":77,"end_character":54},"in_reply_to":"bacf61ea_f884040c","updated":"2016-08-03 22:16:21.000000000","message":"I tried to never use the word \u0027nodes\u0027 when talking about compute services, other than the compute_nodes table. This is an ironic node.","commit_id":"341143e32b9539b5ca62f684d6276cfbee6b15e5"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"1c7e15487a5413571f2bd86bfa6fb1266e6dcfdf","unresolved":false,"context_lines":[{"line_number":79,"context_line":"down, that node will be removed from the compute_nodes table when"},{"line_number":80,"context_line":"the service comes back up (as each service will see an instance on"},{"line_number":81,"context_line":"the node object, and assume another compute service manages that"},{"line_number":82,"context_line":"instance). The ironic node will remain active and orphaned. Once"},{"line_number":83,"context_line":"the periodic task to reap deleted instances runs, the ironic node"},{"line_number":84,"context_line":"will be torn down and the node will again be reported in the"},{"line_number":85,"context_line":"compute_nodes table."}],"source_content_type":"text/x-rst","patch_set":3,"id":"bacf61ea_c6721311","line":82,"updated":"2016-08-03 15:49:42.000000000","message":"Not sure the above is true (that the compute node record will be removed from the compute_nodes table), but regardless I agree that on the update_available_resource() periodic task any compute nodes that contain instances that are deleted will get cleaned up (not deleted from compute_nodes but \"freed\" by removing the instance.node to compute_nodes.hypervisor_hostname relationship.","commit_id":"341143e32b9539b5ca62f684d6276cfbee6b15e5"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"683b1897d6c6293cdfec01376874e4a3bfea3f0c","unresolved":false,"context_lines":[{"line_number":79,"context_line":"down, that node will be removed from the compute_nodes table when"},{"line_number":80,"context_line":"the service comes back up (as each service will see an instance on"},{"line_number":81,"context_line":"the node object, and assume another compute service manages that"},{"line_number":82,"context_line":"instance). The ironic node will remain active and orphaned. Once"},{"line_number":83,"context_line":"the periodic task to reap deleted instances runs, the ironic node"},{"line_number":84,"context_line":"will be torn down and the node will again be reported in the"},{"line_number":85,"context_line":"compute_nodes table."}],"source_content_type":"text/x-rst","patch_set":3,"id":"bacf61ea_918a0c19","line":82,"in_reply_to":"bacf61ea_3c233ea9","updated":"2016-08-03 18:13:02.000000000","message":"Yep, it happens here:\n\n https://github.com/openstack/nova/blob/7cf8ab73544c04ab31429da73cd377b9ea0764eb/nova/compute/manager.py#L6422-L6426\n\nIt\u0027s the same mechanism that removes ironic nodes from the nova database if they stop being reported in ironic (i.e. you actually decommissioned a baremetal box).","commit_id":"341143e32b9539b5ca62f684d6276cfbee6b15e5"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"63ae2103afd0f3e0ce45bfc5ddbb55e89326b155","unresolved":false,"context_lines":[{"line_number":79,"context_line":"down, that node will be removed from the compute_nodes table when"},{"line_number":80,"context_line":"the service comes back up (as each service will see an instance on"},{"line_number":81,"context_line":"the node object, and assume another compute service manages that"},{"line_number":82,"context_line":"instance). The ironic node will remain active and orphaned. Once"},{"line_number":83,"context_line":"the periodic task to reap deleted instances runs, the ironic node"},{"line_number":84,"context_line":"will be torn down and the node will again be reported in the"},{"line_number":85,"context_line":"compute_nodes table."}],"source_content_type":"text/x-rst","patch_set":3,"id":"bacf61ea_3c233ea9","line":82,"in_reply_to":"bacf61ea_c6721311","updated":"2016-08-03 16:09:57.000000000","message":"It will be removed, because the compute service will see there\u0027s an instance_uuid on the node, and also see it doesn\u0027t own that instance, and so will refuse to manage it. \n\nIt \"worked\" in devstack (tm)","commit_id":"341143e32b9539b5ca62f684d6276cfbee6b15e5"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"181b5de9891c4fb412efcbc76d76d055a01f93cf","unresolved":false,"context_lines":[{"line_number":80,"context_line":"the service comes back up (as each service will see an instance on"},{"line_number":81,"context_line":"the node object, and assume another compute service manages that"},{"line_number":82,"context_line":"instance). The ironic node will remain active and orphaned. Once"},{"line_number":83,"context_line":"the periodic task to reap deleted instances runs, the ironic node"},{"line_number":84,"context_line":"will be torn down and the node will again be reported in the"},{"line_number":85,"context_line":"compute_nodes table."},{"line_number":86,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"bacf61ea_f8b244e4","line":83,"range":{"start_line":83,"start_character":0,"end_line":83,"end_character":48},"updated":"2016-08-03 21:36:30.000000000","message":"To be clear, you\u0027re talking about the _cleanup_running_deleted_instances task in the compute manager right? That defaults to \u0027reap\u0027 but it was \u0027log\u0027 by default until Icehouse, but either way we probably want to make this wrinkle case clear in any docs around this feature.","commit_id":"341143e32b9539b5ca62f684d6276cfbee6b15e5"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"5cda3ae9576403241fd48c9a1132c112278ba6b3","unresolved":false,"context_lines":[{"line_number":80,"context_line":"the service comes back up (as each service will see an instance on"},{"line_number":81,"context_line":"the node object, and assume another compute service manages that"},{"line_number":82,"context_line":"instance). The ironic node will remain active and orphaned. Once"},{"line_number":83,"context_line":"the periodic task to reap deleted instances runs, the ironic node"},{"line_number":84,"context_line":"will be torn down and the node will again be reported in the"},{"line_number":85,"context_line":"compute_nodes table."},{"line_number":86,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"bacf61ea_ae01a606","line":83,"range":{"start_line":83,"start_character":0,"end_line":83,"end_character":48},"in_reply_to":"bacf61ea_183bd8ec","updated":"2016-08-03 22:16:21.000000000","message":"Yeah, downstream we actually alert on ironic nodes without instances.","commit_id":"341143e32b9539b5ca62f684d6276cfbee6b15e5"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"ab253e11de901ef9063a7c8f292b528b01653ea1","unresolved":false,"context_lines":[{"line_number":80,"context_line":"the service comes back up (as each service will see an instance on"},{"line_number":81,"context_line":"the node object, and assume another compute service manages that"},{"line_number":82,"context_line":"instance). The ironic node will remain active and orphaned. Once"},{"line_number":83,"context_line":"the periodic task to reap deleted instances runs, the ironic node"},{"line_number":84,"context_line":"will be torn down and the node will again be reported in the"},{"line_number":85,"context_line":"compute_nodes table."},{"line_number":86,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"bacf61ea_183bd8ec","line":83,"range":{"start_line":83,"start_character":0,"end_line":83,"end_character":48},"in_reply_to":"bacf61ea_f8b244e4","updated":"2016-08-03 21:42:30.000000000","message":"I think it\u0027s already something ironic people would have to have set to reap, else any time this happened, you\u0027d leak whole machines. Unlike a virtual host where you\u0027re just burning some disk space or something, even today we\u0027d leak ironic host machines. His point was just that the node won\u0027t be re-hashed to another compute until after that reap happens.","commit_id":"341143e32b9539b5ca62f684d6276cfbee6b15e5"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"1c7e15487a5413571f2bd86bfa6fb1266e6dcfdf","unresolved":false,"context_lines":[{"line_number":89,"context_line":""},{"line_number":90,"context_line":"There\u0027s no configuration to enable this mode; it\u0027s always running. For"},{"line_number":91,"context_line":"deployments that continue to use only one compute service, this has the"},{"line_number":92,"context_line":"same behavior as today."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"Alternatives"},{"line_number":95,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bacf61ea_26604f35","line":92,"updated":"2016-08-03 15:49:42.000000000","message":"++","commit_id":"341143e32b9539b5ca62f684d6276cfbee6b15e5"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"1c7e15487a5413571f2bd86bfa6fb1266e6dcfdf","unresolved":false,"context_lines":[{"line_number":105,"context_line":"a given node be determined between the virt driver and ironic. The downsides"},{"line_number":106,"context_line":"here are that operators no longer have a pluggable scheduler (unless we build"},{"line_number":107,"context_line":"one in ironic), and we\u0027ll have to do lots of work to ensure there aren\u0027t"},{"line_number":108,"context_line":"scheduling races between the compute services."},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"Data model impact"},{"line_number":111,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bacf61ea_06638b42","line":108,"updated":"2016-08-03 15:49:42.000000000","message":"An additional downside to this approach is the coupling of the resource provider concept with the concept of the processor/worker that handles actions to consume something against that resource provider. The placement API intends to choose the resource provider(s) that best meet a request for various resources. The processor/worker that eventually performs a boot action on behalf of an instance is a different conceptual thing than the provider of the resource (the baremetal node). The less coupling between these two concepts, the better.","commit_id":"341143e32b9539b5ca62f684d6276cfbee6b15e5"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"181b5de9891c4fb412efcbc76d76d055a01f93cf","unresolved":false,"context_lines":[{"line_number":195,"context_line":""},{"line_number":196,"context_line":"References"},{"line_number":197,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":198,"context_line":""},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"History"},{"line_number":201,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bacf61ea_38685c21","line":198,"updated":"2016-08-03 21:36:30.000000000","message":"None.","commit_id":"341143e32b9539b5ca62f684d6276cfbee6b15e5"}]}
