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

