summaryrefslogtreecommitdiffstats
path: root/cobbler/modules/manage_bind.py
diff options
context:
space:
mode:
Diffstat (limited to 'cobbler/modules/manage_bind.py')
-rw-r--r--cobbler/modules/manage_bind.py29
1 files changed, 22 insertions, 7 deletions
diff --git a/cobbler/modules/manage_bind.py b/cobbler/modules/manage_bind.py
index 900a832..e14122a 100644
--- a/cobbler/modules/manage_bind.py
+++ b/cobbler/modules/manage_bind.py
@@ -184,21 +184,20 @@ zone "%(arpa)s." {
def __write_zone_files(self):
"""
- Write out the forward and reverse zone files for all the zones
- defined in manage_forward_zones and manage_reverse_zones
+ Write out the forward and reverse zone files for all configured zones
"""
- template_file = "/etc/cobbler/zone.template"
+ default_template_file = "/etc/cobbler/zone.template"
cobbler_server = self.settings.server
serial = int(time.time())
forward = self.__config_forward_zones()
reverse = self.__config_reverse_zones()
try:
- f2 = open(template_file,"r")
+ f2 = open(default_template_file,"r")
except:
- raise CX(_("error reading template from file: %s") % template_file)
- template_data = ""
- template_data = f2.read()
+ raise CX(_("error reading template from file: %s") % default_template_file)
+ default_template_data = ""
+ default_template_data = f2.read()
f2.close()
for (zone, hosts) in forward.iteritems():
@@ -208,6 +207,14 @@ zone "%(arpa)s." {
'host_record': ''
}
+ # grab zone-specific template if it exists
+ try:
+ fd = open('/etc/cobbler/zone_templates/%s' % zone)
+ template_data = fd.read()
+ fd.close()
+ except:
+ template_data = default_template_data
+
for host in hosts:
txt = '%s\tIN\tA\t%s\n' % host
metadata['host_record'] = metadata['host_record'] + txt
@@ -221,6 +228,14 @@ zone "%(arpa)s." {
'host_record': ''
}
+ # grab zone-specific template if it exists
+ try:
+ fd = open('/etc/cobbler/zone_templates/%s' % zone)
+ template_data = fd.read()
+ fd.close()
+ except:
+ template_data = default_template_data
+
for host in hosts:
txt = '%s\tIN\tPTR\t%s\n' % host
metadata['host_record'] = metadata['host_record'] + txt