Issue 8859 - Support backends without a database
Summary: Support backends without a database
Status: VERIFIED FIXED
Alias: None
Product: OpenLDAP
Classification: Unclassified
Component: slapd (show other issues)
Version: unspecified
Hardware: All All
: --- normal
Target Milestone: 2.5.0
Assignee: OpenLDAP project
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-05-21 15:07 UTC by Ondřej Kuzník
Modified: 2020-10-14 21:16 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description Ondřej Kuzník 2018-05-21 15:07:06 UTC
Full_Name: Ondrej Kuznik
Version: master
OS: 
URL: https://github.com/mistotebe/openldap/tree/ITS8859
Submission from: (NULL) (82.10.24.68)


In order to support the load balancer within the slapd process and integrate
correctly, we declare it to be a backend as that is the best match - allows us
to register all the callbacks that a subsystem like this needs. The only problem
is that slapd will skip startup for backends that are not used by at least one
database.

The linked patch deals with this limitation and a few bugs encountered along the
way (some code has not been exercised in a long time and has suffered from some
bitrot).

The support to provide backend global configuration was nominally present but
has never worked with cn=config. The first two patches deal with that. The last
patch introduces a new backend flag that indicates that it should be started up
even if there is no database using it.

IPR notice:

The linked files are derived from OpenLDAP Software. All of the modifications to
OpenLDAP Software represented in the following patches were developed Symas
corp. Symas corp. has not assigned rights and/or interest in this work to any
party. I, Ondrej Kuznik am authorized by Symas corp. to release this work under
the following terms.

Symas corp. hereby place the following modifications to OpenLDAP Software (and
only these modifications) into the public domain. Hence, these modifications may
be freely used and/or redistributed for any purpose with or without attribution
and/or other notice.
Comment 1 Hallvard Furuseth 2018-05-22 09:03:17 UTC
On 21. mai 2018 17:07, ondra@openldap.org wrote:
> In order to support the load balancer within the slapd process and integrate
> correctly, we declare it to be a backend as that is the best match - allows us
> to register all the callbacks that a subsystem like this needs. (...)

Please comment SLAP_BFLAG_STANDALONE, explaining this, even though that goes
against the surrounding coding style:-(  Also maybe struct BackendInfo could
use a comment about database backends vs database-less backends.

-- 
Hallvard

Comment 2 Ondřej Kuzník 2018-05-22 09:15:44 UTC
On Tue, May 22, 2018 at 09:03:28AM +0000, h.b.furuseth@usit.uio.no wrote:
> On 21. mai 2018 17:07, ondra@openldap.org wrote:
>> In order to support the load balancer within the slapd process and integrate
>> correctly, we declare it to be a backend as that is the best match - allows us
>> to register all the callbacks that a subsystem like this needs. (...)
> 
> Please comment SLAP_BFLAG_STANDALONE, explaining this, even though that goes
> against the surrounding coding style:-(  Also maybe struct BackendInfo could
> use a comment about database backends vs database-less backends.

I've put a comment there. As for BackendInfo, there should be no
difference as far as I understand. But there is probably quite a bit of
context I'm still missing.

-- 
Ondřej Kuzník
Senior Software Engineer
Symas Corporation                       http://www.symas.com
Packaged, certified, and supported LDAP solutions powered by OpenLDAP

Comment 3 OpenLDAP project 2018-11-01 18:14:53 UTC
Added to master
Comment 4 Quanah Gibson-Mount 2018-11-01 18:14:53 UTC
changed notes
changed state Open to Test
moved from Incoming to Software Enhancements