[et-mgmt-tools] [PATCH 1/1] Enhance mange_dns to optionally not (re)start bind

Marcel Haerry haerry+et at puzzle.ch
Wed Jun 25 18:00:46 UTC 2008


From: Marcel Haerry <haerry at puzzle.ch>

Use case: We'd like to manage our bind zone files by cobbler,
however on the cobbler server itself, no dhcp server should be
running as they are copied on a specific dns server.

With the following changes, you can set a settings variable
manage_dns_mode to remote, and cobbler won't anymore (re)start
bind nor check its status.
The default setting is local, which is the current behaviour. If
nothing is set, the current behaviour is respected. So it only
changes something if you set manage_dns_mode to remote.

Signed-off-by: Marcel Haerry <haerry at puzzle.ch>
---
 cobbler/action_check.py           |    3 ++-
 config/settings                   |    6 ++++++
 triggers/restart-services.trigger |    3 ++-
 3 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/cobbler/action_check.py b/cobbler/action_check.py
index 3f7c8fc..03cde91 100644
--- a/cobbler/action_check.py
+++ b/cobbler/action_check.py
@@ -49,7 +49,8 @@ class BootCheck:
 
        if self.settings.manage_dns:
            mode = self.config.api.get_sync().dns.what()
-           if mode == "bind":
+           mode_dns = self.settings.manage_dns_mode
+           if (mode == "bind") and (mode_dns != "remote"):
                self.check_bind_bin(status)
                self.check_service(status,"named")
            elif mode == "dnsmasq" and not self.settings.manage_dhcp:
diff --git a/config/settings b/config/settings
index 221241a..fe5c633 100644
--- a/config/settings
+++ b/config/settings
@@ -84,6 +84,12 @@ manage_dhcp: 0
 # the choice of DNS mangement engine is in /etc/cobbler/modules.conf
 manage_dns: 0
 
+# set to remote to disable named (re)starting.
+# This option can be interesting if you'd like to manage dns zone files
+# by cobbler but aren't running named on the cobbler server itself.
+# Values: local, remote
+manage_dns_mode: local
+
 # if using BIND (named) for DNS management in /etc/cobbler/modules.conf
 # and manage_dns is enabled (above), this lists which zones are managed
 # See the Wiki (https://fedorahosted.org/cobbler/wiki/ManageDns) for more info
diff --git a/triggers/restart-services.trigger b/triggers/restart-services.trigger
index d586f46..7b04efc 100644
--- a/triggers/restart-services.trigger
+++ b/triggers/restart-services.trigger
@@ -11,6 +11,7 @@ settings = bootapi.settings()
 manage_dhcp = str(settings.manage_dhcp).lower()
 manage_dhcp_mode = str(settings.manage_dhcp_mode).lower()
 manage_dns = str(settings.manage_dns).lower()
+manage_dns_mode = str(settings.manage_dns_mode).lower()
 omapi_enabled = settings.omapi_enabled
 omapi_port = settings.omapi_port
 
@@ -25,7 +26,7 @@ if manage_dhcp != "0":
         print "- error: unknown DHCP engine: %s" % manage_dhcp_mode
         rc = 411
 
-if manage_dns != "0":
+if (manage_dns != "0") and (manage_dns_mode != "remote"):
     rc = os.system("/sbin/service named restart")
 
 sys.exit(rc)
-- 
1.5.5.1




More information about the et-mgmt-tools mailing list