From a6fd395b51a624e4aa7d09b4960382784cefa8e8 Mon Sep 17 00:00:00 2001 From: Michael DeHaan Date: Fri, 2 May 2008 16:05:32 -0400 Subject: Working on moving DNS/DHCP management to cobbler/modules (uses modules.conf) In progress. --- cobbler/action_litesync.py | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) (limited to 'cobbler/action_litesync.py') diff --git a/cobbler/action_litesync.py b/cobbler/action_litesync.py index c2029d4..ba0a256 100644 --- a/cobbler/action_litesync.py +++ b/cobbler/action_litesync.py @@ -49,7 +49,7 @@ class BootLiteSync: self.systems = config.systems() self.settings = config.settings() self.repos = config.repos() - self.sync = action_sync.BootSync(self.config) + self.sync = config.api.get_sync() def add_single_distro(self, name): # get the distro record @@ -105,12 +105,22 @@ class BootLiteSync: if system is None: raise CX(_("error in system lookup for %s") % name) # rebuild system_list file in webdir - self.sync.dhcpgen.regen_ethers() # /etc/ethers, for dnsmasq & rarpd - self.sync.dhcpgen.regen_hosts() # /var/lib/cobbler/cobbler_hosts, pretty much for dnsmasq + self.sync.manager.regen_ethers() + self.sync.manager.regen_hosts() # write the PXE files for the system self.sync.pxegen.write_all_system_files(system) # per system kickstarts self.sync.yumgen.retemplate_yum_repos(system,False) + if self.settings.manage_dhcp: + if self.settings.omapi_enabled: + for (name,interface) in system.interfaces.iteritems(): + self.sync.manager.write_dhcp_lease( + self.settings.omapi_port, + interface["hostname"], + interface["mac-address"], + interface["ip-address"] + ) + def remove_single_system(self, name): bootloc = utils.tftpboot_location() @@ -122,6 +132,14 @@ class BootLiteSync: filename = utils.get_config_filename(system_record,interface=name) utils.rmtree(os.path.join(self.settings.webdir, "kickstarts_sys", filename)) + if self.settings.manage_dhcp: + if self.settings.omapi_enabled: + for (name,interface) in system_record.interfaces.iteritems(): + self.sync.manager.remove_dhcp_lease( + self.settings.omapi_port, + interface["hostname"] + ) + # unneeded #if not system_record.is_pxe_supported(): # # no need to go any further with PXE cleanup -- cgit