From 5e36759d2775d89cb03f04c3eed7b48736308410 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Martin=20Sl=C3=A5en?= Date: Fri, 22 Apr 2011 18:01:49 +0200 Subject: [PATCH] created script to export dhcp configuration --- scripts/dhcp_synchronizer.py | 46 ++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100755 scripts/dhcp_synchronizer.py diff --git a/scripts/dhcp_synchronizer.py b/scripts/dhcp_synchronizer.py new file mode 100755 index 0000000..9d86f21 --- /dev/null +++ b/scripts/dhcp_synchronizer.py @@ -0,0 +1,46 @@ +#!/usr/bin/env python +# coding: utf-8 + +import os,sys +from commands import getstatusoutput + +from django.core.management import setup_environ +from django.core.mail import mail_admins +from dns_mdb import settings + +setup_environ(settings) + +from mdb.models import * + +debugging = False + +dhcpd_init = "/etc/init.d/dhcp3-server %s" + +dhcpd_config = "/etc/dhcp3/dhcpd.conf" +#dhcpd_config = "dhcpd.conf" + + +config = DhcpConfig.objects.filter(name = "default").get() + + +if config.serial == config.active_serial and not debugging: + sys.exit(0) + +dhcpd_file = open(dhcpd_config , "w") +dhcpd_file.write(config.dhcpd_configuration()) +dhcpd_file.close() + +config.active_serial = config.serial +config.save() + +status, output = getstatusoutput(dhcpd_init % "restart") +if status != 0: + mail_admins("Failed to restart dhcp3-server", \ + "Failed to restart dhcp3-server, plase inspect...\n\n" + output) + sys.exit(1) +else: + mail_admins("Update dhcpd configuration success!", \ + "Updated dhcpd configuration to serial %d." % \ + config.active_serial) + sys.exit(0) +