summaryrefslogtreecommitdiffstats
path: root/cobbler
diff options
context:
space:
mode:
authorMichael DeHaan <mdehaan@redhat.com>2008-05-05 14:36:36 -0400
committerMichael DeHaan <mdehaan@redhat.com>2008-05-05 14:36:36 -0400
commit3b447a659ddd9c8ee97ece470c876dd36aa32914 (patch)
tree12677b98e2418047c8025caf18021932e42c3b2b /cobbler
parent17e2579f3bd7c14dab0e14ed2a808fe9546f556d (diff)
downloadthird_party-cobbler-3b447a659ddd9c8ee97ece470c876dd36aa32914.tar.gz
third_party-cobbler-3b447a659ddd9c8ee97ece470c876dd36aa32914.tar.xz
third_party-cobbler-3b447a659ddd9c8ee97ece470c876dd36aa32914.zip
Apply jeckersb's patch to allow per-zone templates
Diffstat (limited to 'cobbler')
-rw-r--r--cobbler/modules/manage_bind.py29
-rw-r--r--cobbler/webui/master.py7
2 files changed, 26 insertions, 10 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
diff --git a/cobbler/webui/master.py b/cobbler/webui/master.py
index 7e54a2d..cdde14d 100644
--- a/cobbler/webui/master.py
+++ b/cobbler/webui/master.py
@@ -33,9 +33,10 @@ VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.0.1'
__CHEETAH_versionTuple__ = (2, 0, 1, 'final', 0)
-__CHEETAH_genTime__ = 1209057202.737108
-__CHEETAH_genTimestamp__ = 'Thu Apr 24 13:13:22 2008'
-__CHEETAH_srcLastModified__ = 'Thu Apr 24 12:59:37 2008'
+__CHEETAH_genTime__ = 1209998447.8930521
+__CHEETAH_genTimestamp__ = 'Mon May 5 10:40:47 2008'
+__CHEETAH_src__ = 'webui_templates/master.tmpl'
+__CHEETAH_srcLastModified__ = 'Thu May 1 13:51:29 2008'
__CHEETAH_docstring__ = 'Autogenerated by CHEETAH: The Python-Powered Template Engine'
if __CHEETAH_versionTuple__ < RequiredCheetahVersionTuple: