<tt><font size=2>Doug Wiegley <dougw@a10networks.com> wrote on 07/16/2014
04:58:52 PM:<br>
<br>
> On 7/16/14, 2:43 PM, "Clint Byrum" <clint@fewbar.com>
wrote:<br>
> <br>
> >Excerpts from Mike Spreitzer's message of 2014-07-16 10:50:42
-0700:<br>
> ...<br>
> >> I noticed that health checking in AWS goes beyond convergence.
In AWS<br>
> >>an <br>
> >> ELB can be configured with a URL to ping, for application-level
health<br>
> >> checking. And an ASG can simply be *told* the health
of a member by a<br>
> >> user's own external health system. I think we should
have analogous<br>
> >> functionality in OpenStack. Does that make sense to
you? If so, do<br>
> >>you <br>
> >> have any opinion on the right way to integrate, so that we
do not have<br>
> >> three completely independent health maintenance systems?<br>
> ><br>
> >The check url is already a part of Neutron LBaaS IIRC.</font></tt>
<br>
<br><tt><font size=2>Yep. LBaaS is a work in progress, right? Those
of use using Nova networking are not feeling the love, unfortunately.</font></tt>
<br>
<br><tt><font size=2>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.</font></tt>
<br>
<br><tt><font size=2>> >
What
may not be<br>
> >a part is notifications for when all members are reporting down
(which<br>
> >might be something to trigger scale-up).</font></tt>
<br>
<br><tt><font size=2>I do not think we want an ASG to react only when all
members are down;</font></tt>
<br><tt><font size=2>I think an ASG should maintain at least its minimum
size</font></tt>
<br><tt><font size=2>(although I have to admit that I do not understand
why the current code</font></tt>
<br><tt><font size=2>has an explicit exception to that).<br>
<br>
> You do recall correctly, and there are currently no mechanisms for<br>
> notifying anything outside of the load balancer backend when the health<br>
> monitor/member state changes.</font></tt>
<br>
<br><tt><font size=2>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.</font></tt>
<br><tt><font size=2><br>
> There is also currently no way for an external system to inject health<br>
> information about an LB or its members.<br>
> <br>
> Both would be interesting additions.<br>
> <br>
> doug<br>
> <br>
> <br>
> ><br>
> >If we don't have push checks in our auto scaling implementation
then we<br>
> >don't have a proper auto scaling implementation.<br>
</font></tt>
<br><tt><font size=2>I am not sure what is meant by push checks.</font></tt>
<br>
<br><tt><font size=2>Thanks,</font></tt>
<br><tt><font size=2>Mike</font></tt>
<br>
<br>