[SSSD] [PATCH] DNS site support 1st wave - generic SRV lookup plugin

Pavel Březina pbrezina at redhat.com
Mon Apr 8 09:55:15 UTC 2013


On 04/05/2013 01:43 PM, Pavel Březina wrote:
> On 04/05/2013 12:41 PM, Pavel Březina wrote:
>> On 04/03/2013 11:48 AM, Pavel Březina wrote:
>>> On 04/02/2013 03:55 PM, Pavel Březina wrote:
>>>> On 03/27/2013 03:00 PM, Jakub Hrozek wrote:
>>>>> On Wed, Mar 27, 2013 at 11:22:49AM +0100, Pavel Březina wrote:
>>>>>> Later, we can place the plugin architecture inside a module that
>>>>>> knows about SSSD and is placed above resolver. You said you want to
>>>>>> decouple fail over to fail over -> cache -> resolver. This is nice
>>>>>> idea.
>>>>>>
>>>>>> The plugin architecture can be put inside the cache, because cache
>>>>>> is responsible for resolving expired uris and _srv_ and it does not
>>>>>> really say that is has to use resolver directly.
>>>>>
>>>>> OK, this would be the best approach. After more discussion on #sssd
>>>>> with Pavel and Simo we agreed that Pavel will carry on with this
>>>>> approach for the time being.
>>>>>
>>>>> The only two changes in these patches would be better namespacing of
>>>>> the functions used and unifying the resolver initialization with what
>>>>> I'm working on wrt dynamic DNS updates.
>>>>>
>>>>> In the next release, we will create the additional layer and move
>>>>> the plugins there. I moved https://fedorahosted.org/sssd/ticket/1083
>>>>> which is tracking that effort to NEEDS_TRIAGE so we can put it into
>>>>> an appropriate milestone tomorrow.
>>>>
>>>> Hi,
>>>> I'm sending new patch set.
>>>>
>>>> I created async_resolv_utils.c and put there functions for domain
>>>> detection and for resolving SRV with fallback discovery domains.
>>>> This is
>>>> similar to resolve_srv_send and resolve_get_domain_send from the first
>>>> patchset.
>>>>
>>>> resolve_srv_send() was renamed to fo_discover_srv_send() and it wraps
>>>> resolv_discover_srv_send() so that it returns fo_server_info instead of
>>>> ares.
>>>>
>>>> The plugin was renamed to fo_resolve_srv_dns_send(). It is a little bit
>>>> more complicated since it performs domain detection (originally in
>>>> resolve_srv_send()) if the domain is not provided from fail over.
>>>>
>>>> Hostname is passed via plugin context. It is currently retrieved via
>>>> gethostname() so the current behaviour does not change. Later, when the
>>>> plugin initialization will be moved to provider code, the provider will
>>>> decide what hostname will be used (ipa_hostname for example).
>>>
>>> Rebased on top of latest be_res patches.
>>
>> When working on IPA plugin I've done some changes to this code. Since it
>> is still review pending, I have squashed the changes to this patch set.
>>
>> 1. all SRV plugin related things are in a separate header file named
>> fail_over_srv.h. This way we don't have to #include the whole fail over
>> when developing new plugin. The only thing which remained in fail_over.h
>> is fo_set_srv_lookup_plugin(), because it should remain hidden for
>> providers, see #2
>>
>> 2. be_fo_set_srv_lookup_plugin() was added, to keep the fail over opaque
>> for providers.
>>
>> 3. the original sixth patch (set plugin for all providers) was meant to
>> be reverted, once we agreed on further steps. Now it is completely
>> rewritten to final solution on which we agreed with Jakub.
>>
>> I have the IPA plugin already written (not tested yet), so I believe
>> this is the final version if there won't be any review comments.
> //lists.fedorahosted.org/mailman/listinfo/sssd-devel
>
> OK. One more time :-)
> I have slightly enhanced debug messages.

I forgot to check if a server is already present in the list. The fifth
patch was split in two.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-resolv-add-resolv_get_domain-request-to-resolv-utils.patch
Type: text/x-patch
Size: 7182 bytes
Desc: not available
URL: <https://lists.fedorahosted.org/pipermail/sssd-devel/attachments/20130408/99be6c42/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-resolv-add-resolv_discover_srv-request-to-resolv-uti.patch
Type: text/x-patch
Size: 7109 bytes
Desc: not available
URL: <https://lists.fedorahosted.org/pipermail/sssd-devel/attachments/20130408/99be6c42/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0003-DNS-sites-support-SRV-lookup-plugin-interface.patch
Type: text/x-patch
Size: 9004 bytes
Desc: not available
URL: <https://lists.fedorahosted.org/pipermail/sssd-devel/attachments/20130408/99be6c42/attachment-0002.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0004-DNS-sites-support-SRV-DNS-lookup-plugin.patch
Type: text/x-patch
Size: 18702 bytes
Desc: not available
URL: <https://lists.fedorahosted.org/pipermail/sssd-devel/attachments/20130408/99be6c42/attachment-0003.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0005-fail-over-add-function-to-insert-multiple-servers-to.patch
Type: text/x-patch
Size: 4451 bytes
Desc: not available
URL: <https://lists.fedorahosted.org/pipermail/sssd-devel/attachments/20130408/99be6c42/attachment-0004.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0006-DNS-sites-support-replace-SRV-lookup-code-with-a-plu.patch
Type: text/x-patch
Size: 15190 bytes
Desc: not available
URL: <https://lists.fedorahosted.org/pipermail/sssd-devel/attachments/20130408/99be6c42/attachment-0005.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0007-DNS-sites-support-use-SRV-DNS-lookup-plugin-in-all-p.patch
Type: text/x-patch
Size: 3685 bytes
Desc: not available
URL: <https://lists.fedorahosted.org/pipermail/sssd-devel/attachments/20130408/99be6c42/attachment-0006.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0008-DNS-sites-support-make-fo_discover_srv-request-visib.patch
Type: text/x-patch
Size: 3672 bytes
Desc: not available
URL: <https://lists.fedorahosted.org/pipermail/sssd-devel/attachments/20130408/99be6c42/attachment-0007.bin>


More information about the sssd-devel mailing list