Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in / Register
O
OpenLDAP
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Bugzilla
    • Bugzilla
  • Labels
  • Merge Requests 4
    • Merge Requests 4
  • Requirements
    • Requirements
    • List
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Security & Compliance
    • Security & Compliance
    • Dependency List
    • License Compliance
  • Operations
    • Operations
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Container Registry
  • Analytics
    • Analytics
    • CI / CD
    • Code Review
    • Insights
    • Issue
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Jobs
  • Commits
  • openldap
  • OpenLDAP
  • Merge Requests
  • !189

Merged
Opened Oct 06, 2020 by Ondřej Kuzník@ondraOwner16 of 16 tasks completed16/16 tasks

ITS#8747 Load balancer (lloadd)

  • 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
Reviewer
Request review from
None
Milestone
None
Assign milestone
Time tracking
Reference: openldap/openldap!189
Source branch: lloadd