diff options
author | Michael DeHaan <mdehaan@redhat.com> | 2008-05-02 16:05:32 -0400 |
---|---|---|
committer | Michael DeHaan <mdehaan@redhat.com> | 2008-05-02 16:05:32 -0400 |
commit | a6fd395b51a624e4aa7d09b4960382784cefa8e8 (patch) | |
tree | 6fdab90d58f4d673f1e5e58201a032cd9eb7386b /cobbler/action_litesync.py | |
parent | e4fce2b7321c880f8c1f1adbdf137fc4d66563de (diff) | |
download | third_party-cobbler-a6fd395b51a624e4aa7d09b4960382784cefa8e8.tar.gz third_party-cobbler-a6fd395b51a624e4aa7d09b4960382784cefa8e8.tar.xz third_party-cobbler-a6fd395b51a624e4aa7d09b4960382784cefa8e8.zip |
Working on moving DNS/DHCP management to cobbler/modules (uses modules.conf)
In progress.
Diffstat (limited to 'cobbler/action_litesync.py')
-rw-r--r-- | cobbler/action_litesync.py | 24 |
1 files changed, 21 insertions, 3 deletions
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 |