The 2.4 to 2.5 migration clearly explains the requirement and the rational behind needing
to do a slapcat with 2.4 binaries followed by slapadd with 2.5 binaries:
This can all be automated with the use of Ansible or Puppet (or a long list of other
automation tools), however all would require a bit of development work. Seems like
Ansible would be a better fit for the upgrade given it's a 1 time change likely
spanning multiple nodes in most environments (i.e. Puppet wouldn't be a great fit for
the data upgrade bits IMO).
From: Ulrich Windl <Ulrich.Windl(a)rz.uni-regensburg.de>
Sent: Monday, August 2, 2021 2:06 AM
To: openldap-technical(a)openldap.org; michael(a)stroeder.com
Subject: Antw: [EXT] migrate from 2.4 to 2.5, determine existing MDB format
Warning: This email is from outside the company. Be careful clicking links or
>> Michael Ströder <michael(a)stroeder.com> schrieb am
>> 18:05 in
As far as I understood the MDB disk format changed. So the MDB files
have to be re-created (either by simply removing/replicating or
AFAIK; Sleepycat DB could do that conversion on the fly.
At least there should be some smarter conversion utility than export old DB with old
binary and re-import with new binary. MHO.
Now I'm wondering how to automate things (with ansible and puppet) in
a truly idempotent way. Ideally I could determine whether existing MDB
files were last maintained by OpenLDAP 2.4.x or whether they already
have the 2.5 format.
Can I find out the disk format version in any way, e.g. with python-lmdb?
The information contained in this message may be privileged, confidential and protected
from disclosure. If the reader of this message is not the intended recipient, or an
employee or agent responsible for delivering this message to the intended recipient, you
are hereby notified that any dissemination, distribution or copying of this communication
is strictly prohibited. If you have received this communication in error, please notify
your representative immediately and delete this message from your computer. Thank you.