diff options
author | Michael DeHaan <mdehaan@mdehaan.rdu.redhat.com> | 2007-08-03 12:00:46 -0400 |
---|---|---|
committer | Michael DeHaan <mdehaan@mdehaan.rdu.redhat.com> | 2007-08-03 12:00:46 -0400 |
commit | b08e850d7a38f3ba75eab394faddb474a94d8193 (patch) | |
tree | a07be94d164154fe054cdf44f5535a9d75c0ddfc /cobbler/cobblerd.py | |
parent | e722459eb6b483d71dd71c2b2c80a72b9ab52ef3 (diff) | |
download | third_party-cobbler-b08e850d7a38f3ba75eab394faddb474a94d8193.tar.gz third_party-cobbler-b08e850d7a38f3ba75eab394faddb474a94d8193.tar.xz third_party-cobbler-b08e850d7a38f3ba75eab394faddb474a94d8193.zip |
Implement PXE boot loop prevention feature using a CGI script that speaks to a special
function in cobblerd.
Diffstat (limited to 'cobbler/cobblerd.py')
-rw-r--r-- | cobbler/cobblerd.py | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/cobbler/cobblerd.py b/cobbler/cobblerd.py index c796567..54294cb 100644 --- a/cobbler/cobblerd.py +++ b/cobbler/cobblerd.py @@ -104,6 +104,28 @@ class CobblerXMLRPCInterface: def __sorter(self,a,b): return cmp(a["name"],b["name"]) + def get_settings(self): + self.api.clear() + self.api.deserialize() + data = self.api.settings().to_datastruct() + return self.fix_none(data) + + def disable_netboot(self,name): + # used by nopxe.cgi + self.api.clear() + self.api.deserialize() + if not self.api.settings().pxe_just_once: + # feature disabled! + return False + systems = self.api.systems() + obj = systems.find(name) + if obj == None: + # system not found! + return False + obj.set_netboot_enabled(0) + systems.add(obj,with_copy=True) + return True + def __get_all(self,collection): self.api.clear() self.api.deserialize() |