mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
Server Upgrade: do not sort updates by DN
Ticket: https://fedorahosted.org/freeipa/ticket/4904 Reviewed-By: David Kupka <dkupka@redhat.com>
This commit is contained in:
parent
d3f5d5d1ff
commit
bb1d7a741c
@ -784,22 +784,11 @@ class LDAPUpdate:
|
||||
raise RuntimeError("Offline updates are not supported.")
|
||||
|
||||
def _run_updates(self, all_updates):
|
||||
# For adds and updates we want to apply updates from shortest
|
||||
# to greatest length of the DN.
|
||||
# For deletes we want the reverse
|
||||
def update_sort_key(dn_update):
|
||||
dn, update = dn_update
|
||||
assert isinstance(dn, DN)
|
||||
return len(dn)
|
||||
|
||||
sorted_updates = sorted(all_updates.iteritems(), key=update_sort_key)
|
||||
|
||||
for dn, update in sorted_updates:
|
||||
for dn, update in all_updates.iteritems():
|
||||
self._update_record(update)
|
||||
|
||||
# Now run the deletes in reversed order
|
||||
sorted_updates.reverse()
|
||||
for dn, update in sorted_updates:
|
||||
for dn, update in all_updates.iteritems():
|
||||
self._delete_record(update)
|
||||
|
||||
def update(self, files, ordered=False):
|
||||
|
Loading…
Reference in New Issue
Block a user