[openstack-dev] [Nova] [Neutron] How do we know a host is ready to have servers scheduled onto it?

Clint Byrum clint at fewbar.com
Thu Dec 12 17:36:28 UTC 2013

Excerpts from Russell Bryant's message of 2013-12-12 09:09:04 -0800:
> On 12/12/2013 12:02 PM, Clint Byrum wrote:
> > I've been chasing quite a few bugs in the TripleO automated bring-up
> > lately that have to do with failures because either there are no valid
> > hosts ready to have servers scheduled, or there are hosts listed and
> > enabled, but they can't bind to the network because for whatever reason
> > the L2 agent has not checked in with Neutron yet.
> > 
> > This is only a problem in the first few minutes of a nova-compute host's
> > life. But it is critical for scaling up rapidly, so it is important for
> > me to understand how this is supposed to work.
> > 
> > So I'm asking, is there a standard way to determine whether or not a
> > nova-compute is definitely ready to have things scheduled on it? This
> > can be via an API, or even by observing something on the nova-compute
> > host itself. I just need a definitive signal that "the compute host is
> > ready".
> If a nova compute host has registered itself to start having instances
> scheduled to it, it *should* be ready.  AFAIK, we're not doing any
> network sanity checks on startup, though.
> We already do some sanity checks on startup.  For example, nova-compute
> requires that it can talk to nova-conductor.  nova-compute will block on
> startup until nova-conductor is responding if they happened to be
> brought up at the same time.
> We could do something like this with a networking sanity check if
> someone could define what that check should look like.

Could we ask Neutron if our compute host has an L2 agent yet? That seems
like a valid sanity check.

More information about the OpenStack-dev mailing list