[Pdns-users] First draft of roadmap 4.0

bert hubert bert.hubert at powerdns.com
Wed Jun 17 12:44:47 UTC 2015

Hi everybody,

Some weeks ago we asked you for your input on our roadmap, and you sure
delivered! We got dozens of comments, many of which resulted in additions to
the roadmap, or the moving around of features. Thank you!

Here is the provisional plan for 4.0. Before you read on, we'd like to
clarify one thing. This list is what we think we'll be doing, but it is not
a promise with a date attached to it. We understand that your deployment may
require promises with dates on it, and if so, please contact us via
https://www.powerdns.com/contact.html or off-list. 

If you miss anything on the roadmap that you suggested, it may be allocated
to 4.2 or 4.3 which have not yet been defined that well. Please also contact
us in case you miss something we told you we would do!

Finally, all other feedback is welcome too. Here goes.

The broad description of 4.0:

"The 4.0 version of PowerDNS has been announced as a ‘spring cleanup’ and
that is indeed what is happening. Lots of infrastructure is being replaced,
simplified and enhanced. To concentrate the ‘pain’ of all these upheavals,
everything that is impactful from an infrastructure perspective has been
concentrated in 4.0.

Running 4.0 may be somewhat scary since so much changed. Because of that,
anyone who actually does deploy it will get smothered in support love so we
can learn from them."

This last sentence IS a promise from us. Feel free to experiment with 4.0,
and experience super rapid responses to issues and questions.  To get 4.0
snapshots, please head to https://repo.powerdns.com/ or build from github.

Here is what we plan to deliver for 4.0. Note that some of this is already

Visible new features:
  DNSSEC *aware* recursor
    Note: this is not yet validation, but it will enable you to validate DNSSEC through PowerDNS
  Software repositories for all products and popular distributions - first only for git master
  Metaslaving over AXFR (minimum viable product)
    this means one server ‘slaves’ an entire master server
    classical slaving is per zone not per server & sucks
      See this is an improved supermaster
  pdns_control add-zone, remove-zone, add-record, remove-record, change-record
  (Packet)cache in recursor in reverse order so we can support wiping subdomains
  In 4.0 time frame: dnsdist 0.9 release
    Packages for all popular platforms, plus repos

Infrastructure work:
  port PowerDNS Recursor to “libco” (we rely on some outdated deprecated threading APIs now)
  EDNS probing outgoing recursor
  Unix domain socket APIs actually become the HTTP API
  rec_control / pdns_control moves to that HTTP API over Unix Domain
  Allow multiple simultaneous outstanding questions (solve the A/AAAA problem)
  DNSName all the things (we treat DNS as human readable ASCII internally)
  DNSResourceRecord out of the flow of Recursor - it is just silly 
  Replace distributor (pipe based)
  Plus “solve” the startup problem
    This is where you have a giant database of domains that is 'cold' after
    a boot and can't service PowerDNS fast enough, leading to frequent restarts
    until the cache is sufficiently warm

Documentation deliverables:
  Document “the startup problem” for auth (DNSDIST, warm up the database etc)
  Document the Lua hooks (prequery) in Authoritative for people who really want ‘dns control’ versus ‘write a backend’?
  Remove all <4.0 remarks from documentation, archive current version with <4.0 data
  Separately, as tarball? 
  geobackend (replaced by geoip)

For 4.1, we plan to build on the newly delivered infratructure to deliver:

  Prefetching recursor: win the ‘google namebench latency contest’
    Plus associated moderately scary infrastructure
  EDNS Subnet support outgoing: please Akamai
  Cache awareness included & cache upheavals
  DNSSEC-enable the API
    Create key, add key, remove key etc + resign, rectify, the works
  “DNSflow async/tcp stream of all queries (qname, qtype, ip)”: preparation for our analytics
  Generic Key-Value-Range DB for the million-million challenge
    Million records, million queries/second
  Dyndns http wrapper
  Validator testing ready for the DNSSEC awareness of 4.0

Good luck and please let us know your thoughts! And if you made it this far:
when will 4.0 happen?  We have written down December 2 2015 as the 'formal
launch date', but conceivably it will be earlier. 


More information about the Pdns-users mailing list