summaryrefslogtreecommitdiffstats
path: root/cobbler/cobblerd.py
diff options
context:
space:
mode:
authorMichael DeHaan <mdehaan@mdehaan.rdu.redhat.com>2007-07-02 17:04:49 -0400
committerMichael DeHaan <mdehaan@mdehaan.rdu.redhat.com>2007-07-02 17:04:49 -0400
commitd8bb2c9c4ed991ed643eb0b44769e74b37289cec (patch)
tree772f7207ce209f6f09a56639729173e2779493b6 /cobbler/cobblerd.py
parent6b45668dde8d84b5e10fe9f42fcbb96d2e592c99 (diff)
downloadthird_party-cobbler-d8bb2c9c4ed991ed643eb0b44769e74b37289cec.tar.gz
third_party-cobbler-d8bb2c9c4ed991ed643eb0b44769e74b37289cec.tar.xz
third_party-cobbler-d8bb2c9c4ed991ed643eb0b44769e74b37289cec.zip
Add logging for cobblerd + logrotate script.
Bumped revision to 0.5.1.
Diffstat (limited to 'cobbler/cobblerd.py')
-rw-r--r--cobbler/cobblerd.py26
1 files changed, 19 insertions, 7 deletions
diff --git a/cobbler/cobblerd.py b/cobbler/cobblerd.py
index b26aae1..0699632 100644
--- a/cobbler/cobblerd.py
+++ b/cobbler/cobblerd.py
@@ -10,6 +10,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+import sys
import socket
import time
import os
@@ -21,8 +22,10 @@ import utils
from rhpl.translate import _, N_, textdomain, utf8
import xmlrpclib
-
def main():
+ core(logger=None)
+
+def core(logger=None):
bootapi = cobbler_api.BootAPI()
settings = bootapi.settings()
@@ -32,21 +35,29 @@ def main():
pid = os.fork()
if pid == 0:
- do_xmlrpc(bootapi, settings, xmlrpc_port)
+ do_xmlrpc(bootapi, settings, xmlrpc_port, logger)
+ else:
+ do_syslog(bootapi, settings, syslog_port, logger)
+
+def log(logger,msg):
+ if logger is not None:
+ logger.info(msg)
else:
- do_syslog(bootapi, settings, syslog_port)
+ print >>sys.stderr, msg
-def do_xmlrpc(bootapi, settings, port):
+def do_xmlrpc(bootapi, settings, port, logger):
- xinterface = CobblerXMLRPCInterface(bootapi)
+ xinterface = CobblerXMLRPCInterface(bootapi,logger)
server = CobblerXMLRPCServer(('', port))
+ log(logger, "XMLRPC running on %s" % port)
server.register_instance(xinterface)
server.serve_forever()
-def do_syslog(bootapi, settings, port):
+def do_syslog(bootapi, settings, port, logger):
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.bind(("0.0.0.0", port))
+ log(logger, "syslog running on %s" % port)
buf = 1024
@@ -79,8 +90,9 @@ def do_syslog(bootapi, settings, port):
class CobblerXMLRPCInterface:
- def __init__(self,api):
+ def __init__(self,api,logger):
self.api = api
+ self.logger = logger
def __sorter(self,a,b):
return cmp(a["name"],b["name"])