[Pkg-openldap-devel] Bug#595464: slapd: migration to new setup fails

Vincent Danjean vdanjean at debian.org
Sat Sep 4 07:04:04 UTC 2010


Package: slapd
Version: 2.4.23-4
Severity: important

  As my ldap server propose several database, I put them in sub directories
of /var/lib/ldap/ (in this test machine, there is only one database in
/var/lib/ldap/danjean instead of /var/lib/ldap by default)
  Migration scripts fail and tips they give to solve the problem also fail.

During upgrade:
[...]
Paramétrage de slapd (2.4.23-4) ...
Installation de la nouvelle version du fichier de configuration /etc/ldap/schema/README ...
[...]
Installation de la nouvelle version du fichier de configuration /etc/init.d/slapd ...
  Backing up /etc/ldap/slapd.conf in /var/backups/slapd-2.4.17-2.1... done.
  Moving old database directories to /var/backups:
  There are leftover files in /var/lib/ldap/danjean. This will probably break 
  creating the initial directory. If that's the case please move away
  stuff in there and retry the configuration.
  Loading from /var/backups/slapd-2.4.17-2.1: 
  Directory /var/lib/ldap/danjean for dc=danjean,dc=fr not empty, aborting.
dpkg : erreur de traitement de slapd (--configure) :
 le sous-processus script post-installation installé a retourné une erreur de sortie d'état 1
[...]

Then, I tried to move the database away as asked :
root at ogmios:/home/vdanjean# mv /var/lib/ldap/danjean /var/tmp
root at ogmios:/home/vdanjean# dpkg -a --configure
Paramétrage de slapd (2.4.23-4) ...
  Backing up /etc/ldap/slapd.conf in /var/backups/slapd-2.4.17-2.1... done.
  Moving old database directories to /var/backups:
  Loading from /var/backups/slapd-2.4.17-2.1: 
  - directory dc=danjean,dc=fr... failed.

Loading the database from the LDIF dump failed with the following
error while running slapadd:
    /etc/ldap/slapd.conf: line 83: invalid path: No such file or directory
    slapadd: bad configuration file!
dpkg : erreur de traitement de slapd (--configure) :
 le sous-processus script post-installation installé a retourné une erreur de sortie d'état 1
Des erreurs ont été rencontrées pendant l'exécution :
 slapd

I put it back:
root at ogmios:/home/vdanjean# mv /var/tmp/danjean /var/lib/ldap/

t at ogmios:/home/vdanjean# dpkg -a --configure
Paramétrage de slapd (2.4.23-4) ...
  Backing up /etc/ldap/slapd.conf in /var/backups/slapd-2.4.17-2.1... done.
  Moving old database directories to /var/backups:
  There are leftover files in /var/lib/ldap/danjean. This will probably break 
  creating the initial directory. If that's the case please move away
  stuff in there and retry the configuration.
  Loading from /var/backups/slapd-2.4.17-2.1: 
  Directory /var/lib/ldap/danjean for dc=danjean,dc=fr not empty, aborting.
dpkg : erreur de traitement de slapd (--configure) :
 le sous-processus script post-installation installé a retourné une erreur de sortie d'état 1
Des erreurs ont été rencontrées pendant l'exécution :
 slapd

Looking into slapd postinst, I see that debconf slapd/move_old_database can
help me. However, dpkg-reconfigure does not work on not-installed package:
root at ogmios:/home/vdanjean# dpkg-reconfigure slapd
/usr/sbin/dpkg-reconfigure: slapd est cassé ou partiellement installé

Reconfiguring debconf priority to low (depkg-reconfigure debconf) did not help
(I do not see the question when running "dpkg -a --configure")

The only working tip has been to manually edit /var/cache/debconf/config.dat
and set slapd/move_old_database to true.
And then:
root at ogmios:/home/vdanjean# dpkg -a --configure
Paramétrage de slapd (2.4.23-4) ...
  Backing up /etc/ldap/slapd.conf in /var/backups/slapd-2.4.17-2.1... done.
  Moving old database directories to /var/backups:
  - directory dc=danjean,dc=fr... done.
  Loading from /var/backups/slapd-2.4.17-2.1: 
  - directory dc=danjean,dc=fr... done.
  - chowning database directory (openldap:openldap)... done
  Migrating slapd.conf to slapd.d configuration style... done.
Starting OpenLDAP: slapd.

You should really propose easiest way to upgrade slapd when non standard
configuration is found (at least, a way to leave the package in a installed
state even if the config migration is not completed).
Perhaps, reasking the slapd/move_old_database question can be a solution (at
least for interactive upgrade)

  Regards,
    Vincent

-- System Information:
Debian Release: squeeze/sid
  APT prefers testing
  APT policy: (500, 'unstable'), (990, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.32-5-amd64 (SMP w/1 CPU core)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages slapd depends on:
ii  adduser                   3.112          add and remove users and groups
ii  coreutils                 8.5-1          GNU core utilities
ii  debconf [debconf-2.0]     1.5.35         Debian configuration management sy
ii  libc6                     2.11.2-2       Embedded GNU C Library: Shared lib
ii  libdb4.7                  4.7.25-9       Berkeley v4.7 Database Libraries [
ii  libgnutls26               2.8.6-1        the GNU TLS library - runtime libr
ii  libldap-2.4-2             2.4.23-4       OpenLDAP libraries
ii  libltdl7                  2.2.6b-2       A system independent dlopen wrappe
ii  libperl5.10               5.10.1-14      shared Perl library
ii  libsasl2-2                2.1.23.dfsg1-5 Cyrus SASL - authentication abstra
ii  libslp1                   1.2.1-7.7      OpenSLP libraries
ii  libwrap0                  7.6.q-19       Wietse Venema's TCP wrappers libra
ii  lsb-base                  3.2-23.1       Linux Standard Base 3.2 init scrip
ii  perl [libmime-base64-perl 5.10.1-14      Larry Wall's Practical Extraction 
ii  psmisc                    22.11-1        utilities that use the proc file s
ii  unixodbc                  2.2.14p2-1     ODBC tools libraries

Versions of packages slapd recommends:
ii  libsasl2-modules          2.1.23.dfsg1-5 Cyrus SASL - pluggable authenticat

Versions of packages slapd suggests:
ii  ldap-utils                    2.4.23-4   OpenLDAP utilities





More information about the Pkg-openldap-devel mailing list