[openstack-dev] Compute node stats sent to the scheduler

Russell Bryant rbryant at redhat.com
Mon Jun 17 14:49:34 UTC 2013


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



More information about the OpenStack-dev mailing list