[openstack-dev] [heat] health maintenance in autoscaling groups

Mike Spreitzer mspreitz at us.ibm.com
Thu Jul 17 04:22:51 UTC 2014


Doug Wiegley <dougw at a10networks.com> wrote on 07/16/2014 04:58:52 PM:

> On 7/16/14, 2:43 PM, "Clint Byrum" <clint at fewbar.com> wrote:
> 
> >Excerpts from Mike Spreitzer's message of 2014-07-16 10:50:42 -0700:
> ...
> >> I noticed that health checking in AWS goes beyond convergence.  In 
AWS
> >>an 
> >> ELB can be configured with a URL to ping, for application-level 
health
> >> checking.  And an ASG can simply be *told* the health of a member by 
a
> >> user's own external health system.  I think we should have analogous
> >> functionality in OpenStack.  Does that make sense to you?  If so, do
> >>you 
> >> have any opinion on the right way to integrate, so that we do not 
have
> >> three completely independent health maintenance systems?
> >
> >The check url is already a part of Neutron LBaaS IIRC.

Yep.  LBaaS is a work in progress, right?  Those of use using Nova 
networking are not feeling the love, unfortunately.

As far as Heat goes, there is no LBaaS resource type.  The 
OS::Neutron::LoadBalancer resource type does not have any health checking 
properties.  The AWS::ElasticLoadBalancing::LoadBalancer does have a 
parameter that prescribes health checking --- but, as far as I know, there 
is no way to ask such a load balancer for its opinion of a member's 
health.

> >                                                        What may not be
> >a part is notifications for when all members are reporting down (which
> >might be something to trigger scale-up).

I do not think we want an ASG to react only when all members are down;
I think an ASG should maintain at least its minimum size
(although I have to admit that I do not understand why the current code
has an explicit exception to that).

> You do recall correctly, and there are currently no mechanisms for
> notifying anything outside of the load balancer backend when the health
> monitor/member state changes.

This is true in AWS as well.  The AWS design is that you can configure the 
ASG to poll the ELB for its opinion of member health.  The idea seems to 
be that an ASG can get health information from three kinds of sources 
(polling status in EC2, polling ELB, and being explicitly informed), 
synthesizes its own summary opinion, and reacts in due time.

> There is also currently no way for an external system to inject health
> information about an LB or its members.
> 
> Both would be interesting additions.
> 
> doug
> 
> 
> >
> >If we don't have push checks in our auto scaling implementation then we
> >don't have a proper auto scaling implementation.

I am not sure what is meant by push checks.

Thanks,
Mike

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20140717/e46aebae/attachment.html>


More information about the OpenStack-dev mailing list