F43 Change Proposal: 389_Directory_Server_3.2.0 (self-contained)

389_Directory_Server_3.2.0

This is a proposed Change for Fedora Linux.
This document represents a proposed Change. As part of the Changes process, proposals are publicly announced in order to receive community feedback. This proposal will only be implemented if approved by the Fedora Engineering Steering Committee.

Wiki
Announced

:link: Summary

Starting from 389-ds-base version 3.2.0, the directory server does no longer supports the deprecated BerkeleyDB, so LDMB database must be used. Users still using BerkeleyDB will have to migrate their data.

:link: Owner

  • Name: 389 Directory Server Development Team

Primary contact:

:link: Detailed Description

389-ds-base support of BerkeleyDB is deprecated since F40: Changes/389_Directory_Server_3.0.0. In F43 with 389-ds-base version 3.2.0:

  • 389-ds-base dependency towards libdb is removed.
  • A new 389-ds-base-robdb-libs package implements a BerkeleyDb reader that allows exporting databases into ldif and performing the migration toward lmdb. This package should be supported until at least F45

:link: Feedback

No feedback yet.

:link: Benefit to Fedora

Yet another step on the way to remove a deprecated piece of software no longer supported by the upstream community. (See Changes/Libdb deprecated - Fedora Project Wiki) A final step is planned in Fedora 46 about removing the 389-ds-base-robdb-libs package and get fully rid of BerkeleyDB support in 389 Directory Server

:link: Scope

  • Proposal owners:

Limited change are needed (Proof of concept exists so what remains is mostly rebasing the pull request, reviewing the changes and testing them)

No coordination needed.

  • Policies and guidelines: N/A (not needed for this Change)

  • Trademark approval: N/A (not needed for this Change)

  • Alignment with the Fedora Strategy:

:link: Upgrade/compatibility impact

  • The directory server no longer support the BerkeleyDB implementation that is obsolete since Fedora 40 [1].
  • Directory server instances already using lmdb as database are not impacted. (typically those created with Fedora 40 and after)
  • freeipa is not impacted because it already uses lmdb since Fedora 40
  • The other applications that use the directory server through LDAP API are not impacted by the directory server database internal implementation.
  • Data migration is required if the Directory Server instances are still configured with BerkeleyDB.
  • In that case, the data migration should then be performed using dsctl dblib bdb2mdb command or manually following the 389ds Berkeley DB deprecation FAQ [2] instructions

:link: Early Testing (Optional)

N/A

Do you require ‘QA Blueprint’ support? N

:link: How To Test

Mainly the test will need to:

  • 389-ds-base package should build successfully
  • Check that starting instance configured with bdb is failing and logs an error message (both in dirsrv error log and in the system journal) telling that database should be upgraded
  • Run dsctl dblib bdb2mdb command
  • Check that instance can now be started

:link: User Experience

Directory server instances created since Fedora 40 and using the default lmdb database are not impacted (that is typically the case for freeipa users).

But users still using BerkeleyDB (either because they have not yet migrated or because they explicitly choose to use BerkeleyDB) are required to migrate to lmdb.

If this step is not done, the instance will not be able to start after the upgrade and the following error message is displayed in the dirsrv error log and in the system journal: bdb implementation is no longer supported. Directory server cannot be started without migrating to lmdb first. To migrate, please run: dsctl instanceName dblib bdb2mdb

User then needs to migrate the data either using the dsctl command or manually by following the 389 Directory Server - BerkeleyDB backend deprecation steps

:link: Dependencies

None

:link: Contingency Plan

  • Contingency mechanism: (What to do? Who will do it?) N/A (not a System Wide Change)
  • Contingency deadline: N/A (not a System Wide Change)
  • Blocks release? N/A (not a System Wide Change)

:link: Documentation

N/A (not a System Wide Change)

:link: Release Notes

Last edited by @amoloney 2025-06-24T09:49:21Z

Last edited by @amoloney 2025-06-24T09:49:21Z

How do you feel about the proposal as written?

  • Strongly in favor
  • In favor, with reservations
  • Neutral
  • Opposed, but could be convinced
  • Strongly opposed
0 voters

If you are in favor but have reservations, or are opposed but something could change your mind, please explain in a reply.

We want everyone to be heard, but many posts repeating the same thing actually makes that harder. If you have something new to say, please say it. If, instead, you find someone has already covered what you’d like to express, please simply give that post a :heart: instead of reiterating. You can even do this by email, by replying with the heart emoji or just “+1”. This will make long topics easier to follow.

Please note that this is an advisory “straw poll” meant to gauge sentiment. It isn’t a vote or a scientific survey. See About the Change Proposals category for more about the Change Process and moderation policy.