On 06/16/2013 11:25 PM, Dugger, Donald D wrote: > Looking into the scheduler a bit there's an issue of duplicated effort that > is a little puzzling. The database table `compute_nodes' is being updated > periodically with data about capabilities and resources used (memory, vcpus, > ...) while at the same time a periodic RPC call is being made to the > scheduler sending pretty much the same data. > > Does anyone know why we are updating the same data in two different place > using two different mechanisms? Also, assuming we were to remove one of > these updates, which one should go? (I thought at one point in time there > was a goal to create a database free compute node which would imply we should > remove the DB update.)
Have you looked around to see if any code is using the data from the db? Having schedulers hit the db for the current state of all compute nodes all of the time would be a large additional db burden that I think we should avoid. So, it makes sense to keep the rpc fanout_cast of current stats to schedulers. The scheduler also does a fanout_cast to all compute nodes when it starts up to trigger the compute nodes to populate the cache in the scheduler. It would be nice to never fanout_cast to all compute nodes (given that there may be a *lot* of them). We could replace this with having the scheduler populate its cache from the database. Removing the db usage completely would be nice if nothing is actually using it, but we'd have to look into an alternative solution for removing the scheduler fanout_cast to compute. -- Russell Bryant _______________________________________________ OpenStack-dev mailing list [email protected] http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
