)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"207b8c450bcec9eca24e5e5be8c26d6f5e38ad54","unresolved":false,"context_lines":[{"line_number":23,"context_line":"messages in the logs, signaling removal of compute nodes from the"},{"line_number":24,"context_line":"global cache when compute nodes were actually available."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"If request A comes in and all compute nodes can satisy its request,"},{"line_number":27,"context_line":"then request B arrives concurrently and no compute nodes can satisfy"},{"line_number":28,"context_line":"its request, the request B request will remove all the compute nodes"},{"line_number":29,"context_line":"from the global host state cache and then request A will get \"no valid"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7f96bb07_b79fc801","line":26,"range":{"start_line":26,"start_character":48,"end_line":26,"end_character":54},"updated":"2018-01-15 19:33:07.000000000","message":"satisfy","commit_id":"f4cfac1adf3a131f2ff77ebb438b05ca30947845"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"9bf8fde01f569e7b89bd35d350b7b00e243ca0fb","unresolved":false,"context_lines":[{"line_number":23,"context_line":"messages in the logs, signaling removal of compute nodes from the"},{"line_number":24,"context_line":"global cache when compute nodes were actually available."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"If request A comes in and all compute nodes can satisy its request,"},{"line_number":27,"context_line":"then request B arrives concurrently and no compute nodes can satisfy"},{"line_number":28,"context_line":"its request, the request B request will remove all the compute nodes"},{"line_number":29,"context_line":"from the global host state cache and then request A will get \"no valid"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7f96bb07_f731d00c","line":26,"range":{"start_line":26,"start_character":48,"end_line":26,"end_character":54},"in_reply_to":"7f96bb07_b79fc801","updated":"2018-01-15 19:42:00.000000000","message":"Ack.","commit_id":"f4cfac1adf3a131f2ff77ebb438b05ca30947845"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"207b8c450bcec9eca24e5e5be8c26d6f5e38ad54","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"Co-Authored-By: Dan Smith \u003cdansmith@redhat.com\u003e"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Closes-Bug: #1742827"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"Change-Id: I40c17ed88f50ecbdedc4daf368fff10e90e7be11"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7f96bb07_578e84d0","line":42,"updated":"2018-01-15 19:33:07.000000000","message":"Maybe related-bug the original thing they tried to fix with the presence check? Since that should be solved (properly) by this anyway.","commit_id":"f4cfac1adf3a131f2ff77ebb438b05ca30947845"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"9bf8fde01f569e7b89bd35d350b7b00e243ca0fb","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"Co-Authored-By: Dan Smith \u003cdansmith@redhat.com\u003e"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Closes-Bug: #1742827"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"Change-Id: I40c17ed88f50ecbdedc4daf368fff10e90e7be11"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7f96bb07_97208cb2","line":42,"in_reply_to":"7f96bb07_578e84d0","updated":"2018-01-15 19:42:00.000000000","message":"Makes sense, will add that.","commit_id":"f4cfac1adf3a131f2ff77ebb438b05ca30947845"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a1678dc1f799618aef55213fb0164369bffc7b6e","unresolved":false,"context_lines":[{"line_number":14,"context_line":"(compute nodes still in the cache that were not returned from"},{"line_number":15,"context_line":"ComputeNodeList.get_all)."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"As of Ocata, we started filtering our ComputeNodeList query based on"},{"line_number":18,"context_line":"an answer from placement about which resource providers could satisfy"},{"line_number":19,"context_line":"the request, instead of querying the entire compute node list every"},{"line_number":20,"context_line":"time. This is much more efficient (don\u0027t consider compute nodes that"},{"line_number":21,"context_line":"can\u0027t possibly fulfill the request) BUT it doesn\u0027t play well with the"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"5f93b717_cfdadb49","line":18,"range":{"start_line":17,"start_character":0,"end_line":18,"end_character":24},"updated":"2018-01-30 16:35:44.000000000","message":"If you\u0027re using the FilterScheduler, yes, but not if you\u0027re using the CachingScheduler.","commit_id":"c98ac6adc561d70d34c724703a437b8435e6ddfa"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"84ba93cdf73db25f792dfd5c109351cb3eb05cdd","unresolved":false,"context_lines":[{"line_number":14,"context_line":"(compute nodes still in the cache that were not returned from"},{"line_number":15,"context_line":"ComputeNodeList.get_all)."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"As of Ocata, we started filtering our ComputeNodeList query based on"},{"line_number":18,"context_line":"an answer from placement about which resource providers could satisfy"},{"line_number":19,"context_line":"the request, instead of querying the entire compute node list every"},{"line_number":20,"context_line":"time. This is much more efficient (don\u0027t consider compute nodes that"},{"line_number":21,"context_line":"can\u0027t possibly fulfill the request) BUT it doesn\u0027t play well with the"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"5f93b717_04e8a579","line":18,"range":{"start_line":17,"start_character":0,"end_line":18,"end_character":24},"in_reply_to":"5f93b717_cfdadb49","updated":"2018-01-30 19:10:51.000000000","message":"Argh, sorry. I\u0027m used to thinking only of the FilterScheduler.","commit_id":"c98ac6adc561d70d34c724703a437b8435e6ddfa"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a1678dc1f799618aef55213fb0164369bffc7b6e","unresolved":false,"context_lines":[{"line_number":33,"context_line":"This removes the global host state cache from the scheduler HostManager"},{"line_number":34,"context_line":"and instead generates a fresh host state map per request and uses that"},{"line_number":35,"context_line":"to return hosts from the generator. Because we\u0027re filtering the"},{"line_number":36,"context_line":"ComputeNodeList based on a placement query per request, each request"},{"line_number":37,"context_line":"can have a completely different set of compute nodes that can fulfill"},{"line_number":38,"context_line":"it, so we\u0027re not gaining much by caching host states anyway."},{"line_number":39,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"5f93b717_4feecbed","line":36,"range":{"start_line":36,"start_character":27,"end_line":36,"end_character":54},"updated":"2018-01-30 16:35:44.000000000","message":"Again, not true for the CachingScheduler.","commit_id":"c98ac6adc561d70d34c724703a437b8435e6ddfa"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"84ba93cdf73db25f792dfd5c109351cb3eb05cdd","unresolved":false,"context_lines":[{"line_number":33,"context_line":"This removes the global host state cache from the scheduler HostManager"},{"line_number":34,"context_line":"and instead generates a fresh host state map per request and uses that"},{"line_number":35,"context_line":"to return hosts from the generator. Because we\u0027re filtering the"},{"line_number":36,"context_line":"ComputeNodeList based on a placement query per request, each request"},{"line_number":37,"context_line":"can have a completely different set of compute nodes that can fulfill"},{"line_number":38,"context_line":"it, so we\u0027re not gaining much by caching host states anyway."},{"line_number":39,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"5f93b717_24eda18a","line":36,"range":{"start_line":36,"start_character":27,"end_line":36,"end_character":54},"in_reply_to":"5f93b717_4feecbed","updated":"2018-01-30 19:10:51.000000000","message":"Same.","commit_id":"c98ac6adc561d70d34c724703a437b8435e6ddfa"}],"nova/scheduler/host_manager.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7147d1d73e27f39724232ec2280eaa4be6faa86c","unresolved":false,"context_lines":[{"line_number":676,"context_line":"        Also updates the HostStates internal mapping for the HostManager."},{"line_number":677,"context_line":"        \"\"\""},{"line_number":678,"context_line":"        # Get resource usage across the available compute nodes:"},{"line_number":679,"context_line":"        host_state_map \u003d {}"},{"line_number":680,"context_line":"        seen_nodes \u003d set()"},{"line_number":681,"context_line":"        for cell_uuid, computes in compute_nodes.items():"},{"line_number":682,"context_line":"            for compute in computes:"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_39d2155e","line":679,"range":{"start_line":679,"start_character":8,"end_line":679,"end_character":22},"updated":"2018-08-07 14:23:56.000000000","message":"Why do we even need this anymore? The key to the map is the host/node combo and we can\u0027t have more than one of those can we?","commit_id":"c98ac6adc561d70d34c724703a437b8435e6ddfa"}]}
