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

Jay Pipes jaypipes at gmail.com
Thu Dec 12 17:44:24 UTC 2013


On 12/12/2013 12:36 PM, Clint Byrum wrote:
> 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.

++

-jay




More information about the OpenStack-dev mailing list