summaryrefslogtreecommitdiffstats
path: root/cobbler/action_litesync.py
diff options
context:
space:
mode:
authorMichael DeHaan <mdehaan@redhat.com>2008-05-02 16:05:32 -0400
committerMichael DeHaan <mdehaan@redhat.com>2008-05-02 16:05:32 -0400
commita6fd395b51a624e4aa7d09b4960382784cefa8e8 (patch)
tree6fdab90d58f4d673f1e5e58201a032cd9eb7386b /cobbler/action_litesync.py
parente4fce2b7321c880f8c1f1adbdf137fc4d66563de (diff)
downloadthird_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.py24
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