Bug 23114 - UDM-Update-Skript für LDAP-Schemaerweiterungen
UDM-Update-Skript für LDAP-Schemaerweiterungen
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: UDM (Generic)
UCS 3.0
Other Linux
: P5 normal (vote)
: UCS 3.0 - MS1
Assigned To: Janek Walkenhorst
Andreas Büsching
:
Depends on: 23111
Blocks: 23115 23167 23496
  Show dependency treegraph
 
Reported: 2011-07-28 14:19 CEST by Alexander Kläser
Modified: 2011-12-13 15:50 CET (History)
2 users (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander Kläser univentionstaff 2011-07-28 14:19:14 CEST
Für die Schemaerweiterungen in Bug# 23111 sollte für das Update ein Skript vorbereitet werden, dass für alle entsprechenden UDM-Objekte ihren UDM-Objekttyp in das LDAP einträgt.
Comment 1 Janek Walkenhorst univentionstaff 2011-08-04 13:44:29 CEST
univention-directory-manager-modules (7.0.39-1) unstable; urgency=low

  * add univention-object-type-migrate (Bug #23114)
Comment 2 Janek Walkenhorst univentionstaff 2011-08-04 14:12:06 CEST
Changelog angepasst
Comment 3 Andreas Büsching univentionstaff 2011-08-10 14:51:45 CEST
Das Skript funktioniert.

root@master:/etc/ldap/schema# /usr/share/univention-directory-manager-tools/univention-object-type-migrate -v -n

-> wird ein Fehler gefunden steigt das Skript mit einem Traceback aus. Ich denke hier sollte nur eine Fehlermeldung angezeigt werden und der Rest des LDAP-Verzeichnissen ebenfalls geprüft werden.

Zusätzlich gab es auf meinem Testsystem den Fall, dass "irgendwie" an cn=univention der objectType container/cn geschrieben wurde anstelle von settings/cn. Das werde ich noch prüfen. Laut der verify-Funktion weiss das Skript, dass settings/cn richtig ist.
Comment 4 Janek Walkenhorst univentionstaff 2011-08-10 15:11:42 CEST
univention-directory-manager-modules (7.0.52-1) unstable; urgency=low
  * univention-object-type-migrate: improve -v (Bug #23114)

Es wird jetzt nicht mehr beim -v beim ersten Fehler abgebrochen, sondern alle Fehler ausgegeben.
Zusätzlich wird mit 1 beendet, wenn es Fehler beim -v gab.
Comment 5 Andreas Büsching univentionstaff 2011-08-10 16:23:09 CEST
-v funktioniert jetzt wunderbar und wurde auch verwendet um die identify-Funktionen der UDM-Module zu testen.

Sobald Bug #23111 verifiziert ist kann dieser auch auf VERIFIED
Comment 6 Felix Botner univentionstaff 2011-11-03 09:40:57 CET
Durch Bug #22436 gibt es auf einem aktualisiertem UCS 3.0 beim Aufruf von univention-object-type-migrate (mit oder ohne "-v") einen Traceback, das Skript steigt dort dann aus.

-> /usr/share/univention-directory-manager-tools/univention-object-type-migrate -a -v
...
Traceback (most recent call last):
  File "/usr/share/univention-directory-manager-tools/univention-object-type-migrate", line 116, in <module>
    if not main(options):
  File "/usr/share/univention-directory-manager-tools/univention-object-type-migrate", line 103, in main
    uldap.modify(dn, changes)
  File "/usr/lib/pymodules/python2.6/univention/uldap.py", line 474, in modify
    self.lo.modify_s(dn, ml)
  File "/usr/lib/python2.6/dist-packages/ldap/ldapobject.py", line 322, in modify_s
    return self.result(msgid,all=1,timeout=self.timeout)
  File "/usr/lib/python2.6/dist-packages/ldap/ldapobject.py", line 422, in result
    res_type,res_data,res_msgid = self.result2(msgid,all,timeout)
  File "/usr/lib/python2.6/dist-packages/ldap/ldapobject.py", line 426, in result2
    res_type, res_data, res_msgid, srv_ctrls = self.result3(msgid,all,timeout)
  File "/usr/lib/python2.6/dist-packages/ldap/ldapobject.py", line 432, in result3
    ldap_result = self._ldap_call(self._l.result3,msgid,all,timeout)
  File "/usr/lib/python2.6/dist-packages/ldap/ldapobject.py", line 96, in _ldap_call
    result = func(*args,**kwargs)
ldap.OBJECT_CLASS_VIOLATION: {'info': "attribute 'kolabHomeServer' not allowed", 'desc': 'Object class violation'}

Bitte nochmal klären, wie hier das gewünschte Verhalten ist, soll das Skript trotzdem weitermachen, oder Zumindest eine hübschere Fehlermeldung anzeigen ... ?
Comment 7 Janek Walkenhorst univentionstaff 2011-11-03 15:18:26 CET
(In reply to comment #6)
> Durch Bug #22436 gibt es auf einem aktualisiertem UCS 3.0 beim Aufruf von
> univention-object-type-migrate (mit oder ohne "-v") einen Traceback, das Skript
> steigt dort dann aus.
> 
> Bitte nochmal klären, wie hier das gewünschte Verhalten ist, soll das Skript
> trotzdem weitermachen, oder Zumindest eine hübschere Fehlermeldung anzeigen ...
Hierbei handelt es sich um ein kaputtes LDAP - inkonsistenter Datenbestand im Vergleich zum Schema - darum kann das Skript hier nicht fortführen.
Weil dies ein UCS-interer-Bug ist, ist ein Traceback in solchen Fällen sinnvoll.
Comment 8 Andreas Büsching univentionstaff 2011-11-29 13:59:53 CET
(In reply to comment #7)
> Hierbei handelt es sich um ein kaputtes LDAP - inkonsistenter Datenbestand im
> Vergleich zum Schema - darum kann das Skript hier nicht fortführen.
> Weil dies ein UCS-interer-Bug ist, ist ein Traceback in solchen Fällen
> sinnvoll.

Finde ich korrekt so
Comment 9 Sönke Schwardt-Krummrich univentionstaff 2011-12-13 15:50:25 CET
UCS 3.0-0 wurde veröffentlicht. Sollte der hier beschriebene Bug mit einer
neueren Version von UCS erneut auftreten, so sollte dieser Bug dupliziert
werden: "Clone This Bug"