On Sat, Feb 04, 2012 at 03:44:45PM +0100, Patrick Mézard wrote:
> Le 04/02/12 15:01, Baptiste a écrit :
> > Hi everybody,
> > 
> > Please find in attachment a patch which provides IMAP health checking.
> > 
> > Note that it provides also a clean application logout :)
> > 
> > it applies on HAProxy HEAD git.
> > 
> > I've tested it on my courier IMAP server and it works as expected.
> > You can test it with the simple conf below:
> > listen imap
> >         bind 0.0.0.0:1143
> >         mode tcp
> >         option imapchk
> >         server imapserver <IP>:143 check
> > 
> > Your feedback are welcome.
> 
> Some remarks about the documentation :
> - It would be great if Willy could pronounce on the options naming: *chk / 
> *-check / *-chk

I agree with Patrick here. We're trying to get rid of shortened names which
are too confusing even if shorter to type. Baptiste, could you please rename
it "imap-check" so that it follows the new naming convention ?

(...)
> Sidenote: it would be great to unify all the health checks descriptions. All
> of them describe the check with more or less details, then sometimes add
> consideration about logging and whatnots.

Yes, I think we should have a full section dedicated to health checks and
tracking in the doc. This would also reduce cross-references. Anyone volunteer
for contributing this ? We need to address the following points in the check
section :

- health checks : introduction / why performing health checks. Some of
  this is already present in other sections.
- describe the 4 (?) server states : UP, DOWN, NOLB, MAINT and their
  transistions
- describe the slowstart mechanism
- describe the disable-on-404 mechanism which introduces the NOLB state
- describe the server tracking mechanism and possibilities
- explain how timeout connect and timeout check influence the checks
- describe the impacts of the global "spread-checks" setting
- explain how a health check uses "source" and "port" parameters to
  establish a connection
- reminder that checks are per-process
- enumerate all the currently supported health checks methods with their
  parameters

Right now, I *think* that all the text exists at other places in the doc
and has to be moved. There will obviously have to be some glue to tie all
this together, and to place reference to this section into places where
the text ws stolen (at least to give pointers for full descriptions of
some options). What is really missing right now are examples for all
concepts and methods, but with a dedicated section it would be much more
suited to provide them.

If someone is interested in doing this work, it would be really great and
I would be happy to help with it.

Thanks,
Willy


Reply via email to