self.putSubHandler('results', RHTSResults(main)) self.putSubHandler('test', RHTSTest(main)) xmlrpc.addIntrospection(self) def catch_xmlrpc(self, method, *args): """Handler for unhandled requests.""" log.error("ERROR: Missing method: %s%r", method, args) #raise xmlrpc.Fault(123, "Undefined procedure %s." % method) self.main.send_evt( event.output(("ERROR: UNHANDLED RPC", method, args), out_handle='xmlrpc')) return "Error: Server can not handle command %s" % method twmisc.serveAnyChild(RHTSHandler) twmisc.serveAnyRequest(RHTSHandler, 'catch_xmlrpc', xmlrpc.XMLRPC) class RHTSServer(server.Site): def __init__(self, main, logPath=None, timeout=60 * 60 * 12): self.main = main self.handler = RHTSHandler(main) server.Site.__init__(self, self.handler, logPath=logPath, timeout=timeout) def startFactory(self): server.Site.startFactory(self)
def xmlrpc_result_upload_file(self, result_id, path, name, size, digest, offset, data): return self.Return( do_result_upload_file("result_upload_file", result_id, path, name, size, digest, offset, data)) def catch_xmlrpc(self, method, *args): """Handler for unhandled requests.""" log.error("Missing method: %r", [method] + list(args)) # This is likely to break the test, but it does not matter now... return "--- ERROR: Server can not handle command %s" % method serveAnyChild(LCHandler) serveAnyRequest(LCHandler, 'catch_xmlrpc', xmlrpc.XMLRPC) ################################################################################ # RECIPE DEFINITIONS: ################################################################################ def build_recipe(fqdn): global conf log.debug("build_recipe(%r)", fqdn) if fqdn is None: return None if not fqdn: fqdn = os.environ["HOSTNAME"] if fqdn_recipes.has_key(fqdn): return fqdn_recipes[fqdn] return recipe_builder(conf['job_id'], conf['recipeset_id'], conf['recipe'],
self.putSubHandler('workflows', RHTSWorkflows(main)) self.putSubHandler('watchdog', RHTSWatchdog(main)) self.putSubHandler('results', RHTSResults(main)) self.putSubHandler('test', RHTSTest(main)) xmlrpc.addIntrospection(self) def catch_xmlrpc(self, method, *args): """Handler for unhandled requests.""" log.error("ERROR: Missing method: %s%r", method, args) #raise xmlrpc.Fault(123, "Undefined procedure %s." % method) self.main.send_evt(event.output(("ERROR: UNHANDLED RPC" , method, args), out_handle='xmlrpc')) return "Error: Server can not handle command %s" % method twmisc.serveAnyChild(RHTSHandler) twmisc.serveAnyRequest(RHTSHandler, 'catch_xmlrpc', xmlrpc.XMLRPC) class RHTSServer(server.Site): def __init__(self, main, logPath=None, timeout=60 * 60 * 12): self.main = main self.handler = RHTSHandler(main) server.Site.__init__(self, self.handler, logPath=logPath, timeout=timeout) def startFactory(self): server.Site.startFactory(self) ################################################################################ # MAIN: ################################################################################ class RHTSMain(object):
return self.Return(do_task_upload_file("task_upload_file", task_id, path, name, size, digest, offset, data)) def xmlrpc_result_upload_file(self, result_id, path, name, size, digest, offset, data): return self.Return(do_result_upload_file("result_upload_file", result_id, path, name, size, digest, offset, data)) def catch_xmlrpc(self, method, *args): """Handler for unhandled requests.""" log.error("Missing method: %r", [method] + list(args)) # This is likely to break the test, but it does not matter now... return "--- ERROR: Server can not handle command %s" % method serveAnyChild(LCHandler) serveAnyRequest(LCHandler, 'catch_xmlrpc', xmlrpc.XMLRPC) ################################################################################ # RECIPE DEFINITIONS: ################################################################################ def build_recipe(fqdn): global conf log.debug("build_recipe(%r)", fqdn) if fqdn is None: return None if not fqdn: fqdn = os.environ["HOSTNAME"] if fqdn_recipes.has_key(fqdn): return fqdn_recipes[fqdn] return recipe_builder(conf['job_id'], conf['recipeset_id'], conf['recipe'], conf['variables'], fqdn)