1st IPv6 Project
Last year I did a presentation about my 1st IPv6 project. After writing a post titled IPv6 is hard, where I told people that they shouldn’t do IPv6 if they don’t take it seriously, here is a post about how it can be done.
June 5th 2012, around five in the afternoon#
The team lead walks into the office with a crate of beer and asks if we are done with the IPv6 project. We are (we think) and have a beer.
All public facing services (web, mail, DNS) are IPv6 capable. Applications can handle IPv6 and also the monitoring works. The networks for sysadmin/ devops people and developers are also dual-stacked.
Four months earlier#
I got an email and was offered a project. Their customer was looking for someone with IPv6, Cisco, Linux and Puppet skills. And it was just 30min drive from home[^1]. One month later I started the project.
IPv6 in three months? Can’t be done. You are crazy.#
No I’m not, and yes it can be done. And nobody worked full time on implementing IPv6, including me. I also worked on implementing a fully automated monitoring environment based on Icinga and Puppet.
Why did it work?#
- Management supported it and accepted the risk of failure
- Even if not everybody fully supported the project, nobody worked against it
- Network admins knew their network, devops people knew their servers, developers knew their code
- Server infrastructure was fully automated, so it was easy to set up test environments
- Whenever code or a configuration was touched people looked for IPv6 support.
- They were all nerds.
Why the 5th of June?#
I started with the 5th of June, because June 6th was World IPv6 launch day, where several of the big content providers turned on IPv6.
Did something go wrong?#
Of course, something went wrong. Two problems were well hidden and weren’t visible externally:
- IPv6 addresses don’t fit into a database that is set up to handle IPv4 addresses
- A regex matching IPv4 addresses does not match IPv6 addresses
One problem caused the loss of some emails:
Even back then, some people were using IPv6 for SMTP and checked for proper IPv6 reverse DNS. Unfortunately the mail server had a static address and an autoconfigured address and Postfix used the autoconfigured address to send out mails.
Conclusion#
Because of this project, I always find it hard to understand why IPv6 is considered complicated. And I worked in a lot of projects that claimed to do devops over the years, but this was one of the few where ops and dev really worked together and devops was not just “we automate our infrastructure”.
And yes, they still have IPv6.
[^1] At least until the massive construction work on the A10 began. And it was one of the few cases in Berlin where public transport would have taken way longer.