summaryrefslogtreecommitdiffstats
path: root/cobbler/cobblerd.py
diff options
context:
space:
mode:
authorMichael DeHaan <mdehaan@mdehaan.rdu.redhat.com>2007-06-22 19:09:21 -0400
committerMichael DeHaan <mdehaan@mdehaan.rdu.redhat.com>2007-06-22 19:09:21 -0400
commit6c78a6d899e03498273b25a48e66c0b3e97c7857 (patch)
tree80cd2ef5f2ae60bd44c1b48b13a256b37f8f1f91 /cobbler/cobblerd.py
parented59c9218b327dfdd38ec14e3e91d78c89cdfaec (diff)
downloadthird_party-cobbler-6c78a6d899e03498273b25a48e66c0b3e97c7857.tar.gz
third_party-cobbler-6c78a6d899e03498273b25a48e66c0b3e97c7857.tar.xz
third_party-cobbler-6c78a6d899e03498273b25a48e66c0b3e97c7857.zip
Update config on each XMLRPC call so restarting cobblerd will not
be required. Needs to be a bit more efficient.
Diffstat (limited to 'cobbler/cobblerd.py')
-rw-r--r--cobbler/cobblerd.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/cobbler/cobblerd.py b/cobbler/cobblerd.py
index 20e157c..82d08c9 100644
--- a/cobbler/cobblerd.py
+++ b/cobbler/cobblerd.py
@@ -74,6 +74,9 @@ def do_syslog(bootapi, settings, port):
logfile.write("\n")
logfile.close()
+# FIXME: somewhat inefficient as it reloads the configs each time
+# better to watch files for changes?
+
class CobblerXMLRPCInterface:
def __init__(self,api):
@@ -83,6 +86,7 @@ class CobblerXMLRPCInterface:
return cmp(a["name"],b["name"])
def __get_all(self,collection):
+ self.api.deserialize()
data = collection.to_datastruct()
data.sort(self.__sorter)
return self.fix_none(data)
@@ -97,6 +101,7 @@ class CobblerXMLRPCInterface:
return self.__get_all(self.api.systems())
def __get_specific(self,collection,name):
+ self.api.deserialize()
if name is None:
return self.fix_none({})
name = name.lower()
@@ -119,24 +124,28 @@ class CobblerXMLRPCInterface:
return self.__get_specific(self.api.repos(),name)
def get_distro_for_koan(self,name):
+ self.api.deserialize()
obj = cobbler_api.distros().find(name)
if obj is not None:
return self.fix_none(utils.blender(True, obj))
return self.fix_none({})
def get_profile_for_koan(self,name):
+ self.api.deserialize()
obj = self.api.profiles().find(name)
if obj is not None:
return self.fix_none(utils.blender(True, obj))
return self.fix_none({})
def get_system_for_koan(self,name):
+ self.api.deserialize()
obj = self.api.systems().find(name)
if obj is not None:
return self.fix_none(utils.blender(True, obj))
return self.fix_none({})
def get_repo_for_koan(self,name):
+ self.api.deserialize()
obj = self.api.repos().find(name)
if obj is not None:
return self.fix_none(utils.blender(True, obj))