On 04/16/2015 12:45 AM, Ratnaker Katipally wrote:
> Hi,
> 
> In the API.py of /nova/compute/
> 
> We are checking for compute service status in evacuate(..) method.
> 
>         if/self/.servicegroup_api.service_is_up(service):
>             msg = (_(/'Instance compute service state on %s '/
>                      /'expected to be down, but it was up.'/) % inst_host)
>             LOG.error(msg)
>             raiseexception.ComputeServiceUnavailable(msg)
> 
> But It is not necessarily required for the compute service to be down
> but we can consider compute service is still up when host is
> down/dead/powered-off.

You are correct.  We ran into this issue when working on an automated
evacuation solution for dead hosts [1].

evacuate should still work here, though.  If you're using the default
servicegroup API backend, the service will eventually be seen as down,
but it will take some time (depending on a configured timeout).

It's possible that some external monitoring system already knows that
the host is down.  If that system had a way to tell Nova that it knows
the host is gone, this could be sped up.  There is a spec for a proposed
API that would allow this [2].

[1]
http://blog.russellbryant.net/2015/04/08/implementation-of-pacemaker-managed-openstack-vm-recovery/

[2] https://review.openstack.org/#/c/169836/

-- 
Russell Bryant

__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to