[Freeipa-devel] [PATCH 0044] Update only selected attributes for winsync agreement
Rob Crittenden
rcritten at redhat.com
Tue Apr 16 14:18:44 UTC 2013
Tomas Babej wrote:
> On 04/15/2013 11:58 PM, Rob Crittenden wrote:
>> 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]
>>
>>
> I added the calls and rebased the patch. I also found one missed call in
> ipa-replica-csmanage.
>
> Updated patch attached.
ACK, pushed to master
rob
More information about the Freeipa-devel
mailing list