diff options
author | Michael DeHaan <mdehaan@mdehaan.rdu.redhat.com> | 2007-06-22 19:09:21 -0400 |
---|---|---|
committer | Michael DeHaan <mdehaan@mdehaan.rdu.redhat.com> | 2007-06-22 19:09:21 -0400 |
commit | 6c78a6d899e03498273b25a48e66c0b3e97c7857 (patch) | |
tree | 80cd2ef5f2ae60bd44c1b48b13a256b37f8f1f91 /cobbler/cobblerd.py | |
parent | ed59c9218b327dfdd38ec14e3e91d78c89cdfaec (diff) | |
download | third_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.py | 9 |
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)) |