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

Pavel Březina pbrezina at redhat.com
Fri Apr 5 11:43:16 UTC 2013


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.



-------------- 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/20130405/9360ece1/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/20130405/9360ece1/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/20130405/9360ece1/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: 18617 bytes
Desc: not available
URL: <https://lists.fedorahosted.org/pipermail/sssd-devel/attachments/20130405/9360ece1/attachment-0003.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0005-DNS-sites-support-replace-SRV-lookup-code-with-a-plu.patch
Type: text/x-patch
Size: 16697 bytes
Desc: not available
URL: <https://lists.fedorahosted.org/pipermail/sssd-devel/attachments/20130405/9360ece1/attachment-0004.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0006-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/20130405/9360ece1/attachment-0005.bin>


More information about the sssd-devel mailing list