[Freeipa-devel] [PATCH 0044] Update only selected attributes for winsync agreement

Tomas Babej tbabej at redhat.com
Tue Apr 16 09:16:26 UTC 2013


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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: freeipa-tbabej-0044-3-Update-only-selected-attributes-for-winsync-agreemen.patch
Type: text/x-patch
Size: 7280 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/freeipa-devel/attachments/20130416/4c859c1e/attachment.bin>


More information about the Freeipa-devel mailing list