[openstack-dev] [heat] health maintenance in autoscaling groups
Clint Byrum
clint at fewbar.com
Fri Jul 18 16:56:32 UTC 2014
Excerpts from Mike Spreitzer's message of 2014-07-18 09:12:21 -0700:
> Thomas Herve <thomas.herve at enovance.com> wrote on 07/17/2014 02:06:13 AM:
>
> > There are 4 resources related to neutron load balancing.
> > OS::Neutron::LoadBalancer is probably the least useful and the one
> > you can *not* use, as it's only there for compatibility with
> > AWS::AutoScaling::AutoScalingGroup. OS::Neutron::HealthMonitor does
> > the health checking part, although maybe not in the way you want it.
>
> OK, let's work with these. My current view is this: supposing the
> Convergence work delivers monitoring of health according to a member's
> status in its service and reacts accordingly, the gaps (compared to AWS
> functionality) are the abilities to (1) get member health from
> "application level pings" (e.g., URL polling) and (2) accept member health
> declarations from an external system, with consistent reaction to health
> information from all sources.
>
Convergence will not deliver monitoring, though I understand how one
might have that misunderstanding. Convergence will check with the API
that controls a physical resource to determine what Heat should consider
its status to be for the purpose of ongoing orchestration.
> Source (1) is what an OS::Neutron::HealthMonitor specifies, and an
> OS::Neutron::Pool is the thing that takes such a spec. So we could
> complete the (1) part if there were a way to tell a scaling group to poll
> the member health information developed by an OS::Neutron::Pool. Does
> that look like the right approach?
>
> For (2), this would amount to having an API that an external system (with
> proper authorization) can use to declare member health. In the grand and
> glorious future when scaling groups have true APIs rather than being Heat
> hacks, such a thing would be part of those APIs. In the immediate future
> we could simply add this to the Heat API. Such an operation would take
> somethings like a stack name or UUID, the name or UUID of a resource that
> is a scaling group, and the member name or UUID of the Resource whose
> health is being declared, and "health_status=unhealthy". Does that look
> about right?
>
Isn't (2) covered already by the cloudwatch API in Heat? I am going to
claim ignorance of it a bit, as I've never used it, but it seems like
the same thing.
More information about the OpenStack-dev
mailing list