Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Register
  • Sign in
  • O OpenLDAP
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
    • Locked files
  • Bugzilla
    • Bugzilla
  • Merge requests 6
    • Merge requests 6
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Container Registry
    • Terraform modules
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Jobs
  • Commits
Collapse sidebar
  • openldap
  • OpenLDAP
  • Merge requests
  • !189

ITS#8747 Load balancer (lloadd)

  • Review changes

  • Download
  • Patches
  • Plain diff
Merged Ondřej Kuzník requested to merge ondra/openldap:lloadd into master Oct 06, 2020
  • Overview 11
  • Commits 222
  • Pipelines 9
  • Changes 57

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:

  • reformat to get a consistent starting point
    • probably drop unnecessary K&R macros in servers/lloadd that phase most tools that try to operate on source code
  • integrate in our CI
  • adapt to latest changes landed in 2.5 since last proper rebase
    • fix ITS#7926 fallout on standalone lloadd (!110 (merged))
      • reorder and cleanup config tables (and renumber OIDs to make more sense)
    • !54 (merged)
    • !62 (merged)
    • !103 (merged)
    • !121 (merged)
    • !125 (merged)
    • !138 (merged)
    • !140 (merged)
    • !166 (merged)
    • !175 (merged)
    • !187 (merged)

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 Nov 13, 2020 by Ondřej Kuzník
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: lloadd