BIND DLZ on Rails RC1 tagged and iced

Posted by Kenneth Kalmer on July 27, 2008

It is with great excitement, and sadness that I announce the tag of BIND DLZ on Rails RC1.

We were very motivated as a team to get this product, and the accompanying infrastructure in place so would could continue to enhance and expand our DNS infrastructure. We made two fatal mistakes in trying to achieve this goal:

Understand your existing infrastructure

We used the easy way out and blamed PowerDNS for some of our DNS does, where it ended up being out woes with TUPA, not PowerDNS. Typical I guess, since everyone else uses BIND, we’ll use BIND as well. We never went out to fully understand the problems not the solutions. We just decided to blindly drop an entire stack of services for a new one. Thats bad.

Understand your new infrastructure

Same goes for this. We checked out the BIND-DLZ patches, heard it was accepted into BIND itsef, and got excited. We could run everyone’s dream DNS server with a flexible MySQL 5 backend. Boy, what a mistake. We should have evaluated BIND DLZ first, before building an entire UI for it and then only testing it.

The whole of last week was spent trying to get BIND to behave. It would random crash without warning. I discussed this with the bind-dlz-testers list over at SourceForge, who argued I should downgrade the MySQL client libraries to MySQL 4. For us this was easily possible since the MySQL slaves and DNS servers were different boxes, for others this might not be the case. As part of this excercise I had to learn how to update Gentoo ebuild’s, so I could submit a fix to Gentoo as well for their net-dns/bind-9.5.1-p1 ebuild.

Who’s to blame? Well, us. Not BIND, or the guys who developed the DLZ patches. There are plenty reports out there of issues with the MySQL client libs, but some very clever people have found ingenious ways of working around it. I personally think we have an odd combination of Hardened Gentoo & BIND issues.

What happens next?

Well, we’ll be sticking to PowerDNS for the time being, or maybe permanently. We’ll be planning our DNS offerings out in full, and then start to see how PowerDNS can accomodate us. If, and only if, it cannot, we’ll dive into the alternatives.

All the work is not lost, I’ve basically made a copy (not a fork) of the git repo and modified the entire application to run on the PowerDNS schema. So keep an eye out for PowerDNS on Rails.

I won’t try to juggle branches, the differences are too big. However, I’ll be porting changes implemented in PowerDNS on Rails back to BIND DLZ on Rails. My hope is that someone picks up BIND DLZ on Rails and runs with it further.

Thanks to everyone for their interest in the project.

BIND DLZ Update: Nearing in on RC1

Posted by Kenneth Kalmer on July 18, 2008

UPDATE (Jul 22, 2008): I don’t have connectivity at home at the moment, so I’ll roll our production systems over to BIND (and BIND DLZ on Rails) from PowerDNS and Tupa in the morning. Based on the initial feedback from our support team I’ll either address small bugs we overlooked, or tag RC1, whichever comes first.

Just a quick update, we’re closing the gap rapidly on pushing RC1 to Github. Hopefully that happens by the weekend. We’ll also be rolling it into production use to iron out any last remaining issues that didn’t surface from our lab tests/reviews.

We just have one issue to overcome with will_paginate and our custom scoped finders for Zones, then I’ll push to Github.

In preparation (and celebration) I’ve added the project to Ohloh as well for some added metrics and publicity. See the badge below, and on the updated project page.

Looking forward to a week of BIND DLZ hacking

Posted by Kenneth Kalmer on July 06, 2008

As part of keeping everyone up to date on the project, I’m posting this quick update on the coming week’s hacking on the project.

Last week we hit a critical bug in Tupa where we cannot use template records that use the %DOMAIN% token as the start of the content, appended by something else. As part of our current Postini integration process we have to change all our MX records to look something like this:

@ IN MX 100 %DOMAIN%.sb2001a1.psmtp.com

This is trivial, but Tupa chokes, and subsequently our technicians also choke. So while I’m busy updating existing DNS records by hand, Keegan will be picking up a lot of BIND DLZ work during this week to make sure we can get battle tested in production in a few short days.

Stay posted as Keegan and myself push plenty of updates during the coming days.

I’ve also updated the project page to reflect a Google Group I’ve setup specifically for this project. Feel free to assault the group with queries and feedback.

BIND DLZ Update

Posted by Kenneth Kalmer on June 30, 2008

Howdy all

Since we got mentioned on the Rails Envy Podcast #34, interest has been picking up in the project, and I’ve been drenched in other work… But not to worry, the project won’t die, and we actually desperately need it ourselves, even more now than ever.

Development will be picking up again near the end of the week to get the interfaces in some kinda shape before moving onto sample API clients, PowerDNS convertion tools, and macros!

Macros? Well, you see, we’ve been working brutally hard over the last couple of weeks to get Postini integrated tightly into ISP in a Box. Most of it is nearing completion now, but several thousand mailboxes still need to be integrated into Postini. One step of this integration process that has to happen for every domain is MX record updates. This is where the idea of macros came from, and after defining it in my head I quickly realized it will surely enjoy widespread use once implemented.

Pass me your thoughts on the ticket I opened at LightHouse.

Ciao

  • Tags

    activerecord air amqp analytics audits bash bind capistrano cheat convert couchdb daemon-kit dlz dns elsewhere gentoo gist git hoptoad linux macros mercurial messaging mysql nginx olympics plugins postfix postini powerdns presentations projects quickies rails rake review ruby ruby19 ruote security shoes sitemap ssl svn webby
  • Recent Posts

  • Archives

  • Alltop. Seriously?! I got in?