You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 10 Next »

HostDB and DNS project

what is the situation?

  • DNS and HostDB module have some small problmes:
    1. TS-313: DNS and resolvers improvements --FIXED
    2. TS-435: SplitDNS doesn't work --FIXING
    3. TS-?: need a api to set hostdb map data directly
    4. TS-492: Allow use of client supplied IP address for origin server. --PATCH on wccp branch
  • DNS and HostDB require for enhancement:
    1. SplitDNS need to get cleanup, we need to keep SplitDNS under DNS only, not mess up with hostdb.
    2. DNS codes a little mess, should get more localization, regarding for the old libresolv like codes
    3. way to passthrough HostDB cache
    4. easy way to setup Origin Source server IP, maybe something like Hosts.
    5. need to get a way for DNS and(or) HostDB pluginable, can hooking somewhere.
    6. need prepare for health check design, get HostDB ready.

what is our target:

HostDB is currently a fundamental under proxy/http2, it is really need to get clean and clear, we want to keep it clean in logical.
we will treat DNS module a little complex, it may have many Handler under one or more Processor:

  • default DNS resolver Handler
  • SplitDNS resolver Handler
  • hosts resolver Handler
  • and any other in require.
    when we get a clean start, we can forward to make a healthy check for Origin Source servers, maybe based in HostDB structure, that is another project then.

what are we planning:

  1. Fix SplitDNS: TS-435. in_progress
  2. cleanup SplitDNS: keep SplitDNS under DNS only, not mess up with codes in proxy/http2.
  3. make dns more flex:
    • way to passthrough HostDB cache
    • easy way to setup Origin Source server IP, maybe something like Hosts.
    • need to get a way for DNS and(or) HostDB pluginable, can hooking somewhere.
  4. cleanup old codes.

Questions and confusing:

SplitDNS cleanup:

  • Why should we care of the domain/search on SplitDNS server? when you setup an SplitDNS, you should know that the map is for strict map, not for wild map, right? so we should remove all these dumping configs/codes.
  • When we put SplitDNS handler all handled by DNSprocesser, we sure should kill the default SplitDNS config, as if all strict map in SplitDNS fails, it must go on with the standard DNS resolver. But when you have a SplitDNS config, and you can not resolve the hostname from the dns server provide by SplitDNS, you should not do fail over to any other dns server.
  • What is the hell of 127.0.0.1 in the resolver code? 127.0.0.1 will show up, only when you do not specify any dns server by records.config, nor /etc/resolv.conf, not SplitDNS, nor others. at that time, we should rise up a Fatal message too, or should we just refuse to work?
  • if we put all hostname<->nsserver mapping codes in DNS module, there maybe something strange when the current codes put these maps in HostDB too.

request for review

  • No labels