Univention Bugzilla – Bug 16155
slapd Update auf dem DC Backup
Last modified: 2023-04-01 21:00:31 CEST
Stopping ldap server(s): slapd. Dumping to /var/backups/slapd-2.3.30-8.42.200907081544: - directory dc=auto,dc=update,dc=test... /var/lib/univention-ldap/schema.conf: line 13: Inconsistent duplicate attributeType: "olcBackend" slapcat: bad configuration file! failed. dpkg: error processing /var/cache/apt/archives/slapd_2.4.15-1.1.18.200910061727_amd64.deb (--unpack): subprocess pre-installation script returned error exit status 1 Backing up /etc/ldap/slapd.conf in /var/backups/slapd-2.4.15-1.1.18.200910061727... done. Check database: done Starting ldap server(s): slapd/var/lib/univention-ldap/schema.conf: line 13: Inconsistent duplicate attributeType: "olcBackend" . Found failed.ldif. Importing ... failed. Please check /var/log/univention/listener.log invoke-rc.d: initscript slapd, action "start" failed. dpkg: error while cleaning up: subprocess post-installation script returned error exit status 1
Created attachment 1947 [details] updater.log Scheinbar ist univention-directory-replication zu dem Zeitpunkt nocht nicht aktualisiert. Hatten wir das sonst nicht direkt im slapd-inst gefixt?
Der 30_postinst.patch wurde analog zu den Änderungen an univention-directory-replication auf die neuen internen OIDs in openldap 2.4 angepasst.
Aus den Auto Updates von heute Nacht: [amd64][domaincontroller_slave][ucs-auto-update] Update failed Preparing to replace slapd 2.3.30-8.42.200907081544 (using .../slapd_2.4.15-1.1.19.200910291738_amd64.deb) ... Stopping ldap server(s): slapd. Dumping to /var/backups/slapd-2.3.30-8.42.200907081544: - directory dc=auto,dc=update,dc=test... /var/lib/univention-ldap/schema.conf: line 13: Inconsistent duplicate attributeType: "olcBackend" slapcat: bad configuration file! failed. dpkg: error processing /var/cache/apt/archives/slapd_2.4.15-1.1.19.200910291738_amd64.deb (--unpack): subprocess pre-installation script returned error exit status 1 Backing up /etc/ldap/slapd.conf in /var/backups/slapd-2.4.15-1.1.19.200910291738... done. Check database: done Starting ldap server(s): slapd/var/lib/univention-ldap/schema.conf: line 13: Inconsistent duplicate attributeType: "olcBackend" . Found failed.ldif. Importing ... failed. Please check /var/log/univention/listener.log invoke-rc.d: initscript slapd, action "start" failed. dpkg: error while cleaning up: subprocess post-installation script returned error exit status 1
Das ist nicht so gut, das Attribut olcBackend und einige mehr, die schon in openldap 2.3 intern waren haben eine neue OID erhalten. Dadurch werden sie nicht durch den OID Filter vom Replication Listener herausgefiltert. Der openldap 2.3 slapd finde dann wohl das interne Attribut anhand seines Namens im Schema und meldet 'Inconsistent duplicate attributeType'. Konkret kommt hier die Meldung von slapcat aufruf im preinst vom openldap 2.4 slapd -- aber zu dem Zeitpunkt ist noch das slapcat aus openldap 2.3 installiert.
Die OIDs für die olc* Attribute und Objektklassen wurden von den in OpenLDAP 2.4 offiziellen [1.3.6.1.4.1.4203.1.12.2.(3|4)] auf die in OpenLDAP 2.3 verwendeten OIDs im experimental Bereich [1.3.6.1.4.1.4203.666.11.1.(3|4)] zurück geändert, damit die neuen OIDs nicht am Filter des replication Listener Moduls vorbei in die schema.conf von Systemen mit OpenLDAP 2.3 wandern und zu Kollisionen mit den eincompilierten (operational) Attributen führen. Es ist nur eine Zeile im slapd Source Code geändert, aber dafür mussten dann alle 120 veränderten OIDs im slapd.postinst und in univention-directory-replication ebenfalls entsprechend angepasst werden. Die Tests werden zeigen ob das hilft.
Update von letzter Nacht, DC Backup und DC Slave: Preparing to replace slapd 2.3.30-8.42.200907081544 (using .../slapd_2.4.15-1.1.20.200910301407_amd64.deb) ... Stopping ldap server(s): slapd. Dumping to /var/backups/slapd-2.3.30-8.42.200907081544: - directory dc=auto,dc=update,dc=test... /var/lib/univention-ldap/schema.conf: line 48: attribute type "1.3.6.1.1.20" is operational slapcat: bad configuration file! failed. dpkg: error processing /var/cache/apt/archives/slapd_2.4.15-1.1.20.200910301407_amd64.deb (--unpack): subprocess pre-installation script returned error exit status 1 Backing up /etc/ldap/slapd.conf in /var/backups/slapd-2.4.15-1.1.20.200910301407... done. Check database: done Starting ldap server(s): slapd/var/lib/univention-ldap/schema.conf: line 48: attribute type "1.3.6.1.1.20" is operational .
Die OID von entryDN wurde ebenfalls in OpenLDAP 2.4 geändert. Auch diese OID wurde jetzt auf den alten Wert gepatched. univention-directory-replication enthielt im Filter schon alte und neue OID von entryDN. Zusätzlich wurden die neuen OIDs von olc* mit eingetragen, damit man diese Patches in einem kommenden Release einfach wieder entfernen kann.
1) Die alten und neuen OID's werden im replication Listener ignoriert. 2) slapd 2.4 nutzt für entryDN und die olc* Attribute weiterhin die alten OID's 3) Das postinst des slapd entfernt alle alten (aktuellen) OIDS der buildIn Attribute olc und entryDN aus /var/lib/univention-ldap/schema.conf
UCS 2.3 wurde veröffentlicht. Sollte der hier beschriebene Bug mit einer neueren Version von UCS erneut auftreten, so sollte der Bug dupliziert werden: "Clone This Bug".