Skip to content

ITS#8747 Load balancer (lloadd)

Ondřej Kuzník requested to merge ondra/openldap:lloadd into master

Preview of the load balancer merge request.

Adds a new server lloadd in servers/ with slapd integration. There are two ways of building the balancer:

  • --enable-balancer(=yes) builds a standalone lloadd daemon, some advanced functionality is disabled in this mode
  • --enable-balancer=mod builds lloadd as a loadable module, allowing for runtime configuration and cn=monitor integration

TODO before removing WIP status while we can still rebase at will:

Known issues not handled at this point:

  • lloadd carries (near) copies of slapd code for main.c and config.c (taking stuff from config.c and bconfig.c), mostly to support standalone lloadd, but sometimes to deal with symbols being unavailable as they are declared static or because they would indirectly pull in the rest of slapd. This cannot be dealt with easily without invasive changes to slapd and has to remain a TODO for later
  • it is not possible to compile both lloadd and lloadd.so at the same time
  • if compiling lloadd but not slapd, its test suite is disabled, we cannot test lloadd without an LDAP server to put behind it

This work has been sponsored by Ericsson.

Edited by Ondřej Kuzník

Merge request reports