[Crowbar] using external dns forwarders

Byron Pezan BPezan at secureworks.com
Fri Jan 13 15:16:42 CST 2012

my statement about the bug possibly still existing in master was based on the contents of the named.conf.options.erb, redhat-sysconfig-named.erb and the default.rb recipe as they appear on github.  there could certainly be something happening elsewhere in the code to make it work out of the box, i don't know.  perhaps someone on the list running a recent version of the stock code can test?

sorry, i just assumed that one would have a public interface before attempting to enable external forwarders.  since i'm running from the Dell Hadoop RA, this was already the case for me.

just sharing what worked for me.


-----Original Message-----
From: Gregory_Althaus at Dell.com [mailto:Gregory_Althaus at Dell.com] 
Sent: Friday, January 13, 2012 3:10 PM
To: Andi_Abes at Dell.com; Byron Pezan; crowbar at lists.us.dell.com
Subject: RE: using external dns forwarders

Strange, because Randy testes this in the last release.

These might be needed.  There are files that get pulled in from all over.

It might still be needed.  Also, remember that the admin node needs a public interface (or path) to get to the external providers.


-----Original Message-----
From: crowbar-bounces On Behalf Of Abes, Andi
Sent: Friday, January 13, 2012 1:11 PM
To: SW-Michael Pezan; crowbar
Subject: Re: [Crowbar] using external dns forwarders

This looks pretty good. Could you packages this as a pull request on github?

-----Original Message-----
From: crowbar-bounces On Behalf Of SW-Michael Pezan
Sent: Friday, January 13, 2012 2:06 PM
To: crowbar
Subject: [Crowbar] using external dns forwarders

i was unable to get external dns forwarders to work when just editing and re-applying the dns proposal.  upon further investigation i found that the proposal modified the file /etc/bind/named.conf.options to include the forwarders, but bind is configured to use /etc/named.conf.local and as such doesn't know anything about the named.conf.options file.  in addition, the named.conf.options file references /var/cache/bind, which doesn't exist, instead of /etc/bind.  i was able to work through this with some minor modifications to the bind recipe and the named.conf.options template.  granted i'm using the Dell RA and not the latest version from github, but after perusing the github code, i think this bug might still exist.

here are my notes for anyone interested.
Enable external DNS server:

1 - Modify the bind9 recipe to add the include directive to /etc/bind/named.conf.local (/opt/dell/barclamps/dns/chef/cookbooks/bind9/recipes/default.rb):
[root at pvd1lab3b1-a01 recipes]# diff -u default.rb.org default.rb
--- default.rb.org	2012-01-03 23:59:31.000000000 +0000
+++ default.rb	2012-01-04 21:10:31.000000000 +0000
@@ -97,6 +97,7 @@
     rm -f boot.cacheonly conf.cacheonly db.127.0.0 named.boot dns.hosts
     sed -i 's/"db/"\\/etc\\/bind\\/db/' named.conf.local
     grep zone named.conf.local | grep -v "zone \\".\\"" | grep -v "0.0.127" > named.conf.new
+    echo 'include "/etc/bind/named.conf.options";' >> named.conf.new
     mv named.conf.new named.conf.local
     cp * /etc/bind

2 - Edit the named.conf.options template to point to the correct directory for includes (/opt/dell/barclamps/dns/chef/cookbooks/bind9/templates/default/named.conf.options.erb):
[root at admin01 default]# diff -u named.conf.options.erb.org named.conf.options.erb
--- named.conf.options.erb.org  2011-12-23 16:46:35.000000000 +0000
+++ named.conf.options.erb      2011-12-23 16:46:42.000000000 +0000
@@ -1,5 +1,5 @@
 options {
-       directory "/var/cache/bind";
+       directory "/etc/bind";

        // If there is a firewall between you and nameservers you want
        // to talk to, you may need to fix the firewall to allow multiple

3 - If modified after crowbar was install you will need to run the barclamp install script for changes to take affect /opt/dell/bin/barclamp_install.rb /opt/dell/barclamps/dns

4 - Edit the dns barclamp proposal and add the server ip to the forwarders attribute, save then apply:
"forwarders": [

5 - Update the timestamp on one of the bind config files to trigger the modifications to the recipe above:
# touch /etc/bind/hosts

6 - Run the chef client to make your changes live:
# chef-client


Crowbar mailing list
Crowbar at dell.com
For more information: https://github.com/dellcloudedge/crowbar/wiki

Crowbar mailing list
Crowbar at dell.com
For more information: https://github.com/dellcloudedge/crowbar/wiki

More information about the Crowbar mailing list