Tomas Babej wrote:
On 04/09/2013 11:47 PM, Rob Crittenden wrote:
Tomas Babej wrote:
Hi,

Trying to insert nsDS5ReplicatedAttributeListTotal and
nsds5ReplicaStripAttrs to winsync agreements caused upgrade errors.
With this patch, these attributes are skipped for winsync agreements.

Made find_ipa_replication_agreements() in replication.py more
corresponding to find_replication_agreements. It returns list of
entries instead of unicode strings now.

https://fedorahosted.org/freeipa/ticket/3522

Tomas

This will still do some work against a winsync agreement. Do we need
to do that at all? I'm not sure we do.

rob

I removed the nsds5replicahost attribute update for winsync agreements
after discussion.

Updated patch attached.

Tomas

This looks ok. The backup/restore patch added two more calls to find_ipa_replication_agreements so a rebase is needed. I think these are the required changes:

diff --git a/ipaserver/install/ipa_restore.py b/ipaserver/install/ipa_restore.py
index 04d4210..760da0b 100644
--- a/ipaserver/install/ipa_restore.py
+++ b/ipaserver/install/ipa_restore.py
@@ -373,7 +373,10 @@ class Restore(admintool.AdminTool):

             services_cns = [s.single_value('cn') for s in services]

-            hosts = repl.find_ipa_replication_agreements()
+            host_entries = repl.find_ipa_replication_agreements()
+            hosts = [rep.single_value('nsds5replicahost', None)
+                     for rep in host_entries]
+
             for host in hosts:
self.log.info('Disabling replication agreement on %s to %s' % (
master, host))
                 repl.disable_agreement(host)
@@ -385,7 +388,9 @@ class Restore(admintool.AdminTool):
                 except Exception, e:
self.log.critical("Unable to disable agreement on %s: %s" %
 (master, e))

-                hosts = repl.find_ipa_replication_agreements()
+                host_entries = repl.find_ipa_replication_agreements()
+                hosts = [rep.single_value('nsds5replicahost', None)
+                         for rep in host_entries]
                 for host in hosts:
self.log.info('Disabling CA replication agreement on %s to
%s' % (master, host))
                     repl.hostnames = [master, host]


_______________________________________________
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel

Reply via email to