summaryrefslogtreecommitdiffstats
path: root/cobbler/cobblerd.py
diff options
context:
space:
mode:
authorMichael DeHaan <mdehaan@mdehaan.rdu.redhat.com>2007-08-03 12:00:46 -0400
committerMichael DeHaan <mdehaan@mdehaan.rdu.redhat.com>2007-08-03 12:00:46 -0400
commitb08e850d7a38f3ba75eab394faddb474a94d8193 (patch)
treea07be94d164154fe054cdf44f5535a9d75c0ddfc /cobbler/cobblerd.py
parente722459eb6b483d71dd71c2b2c80a72b9ab52ef3 (diff)
downloadthird_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.py22
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()