Exemplo n.º 1
0
def do_xmlrpc_rw(cobbler_api: CobblerAPI, port):
    """
    This trys to bring up the Cobbler xmlrpc_api and restart it if it fails.

    :param cobbler_api: The cobbler_api instance which is used for this method.
    :param port: The port where the xmlrpc api should run on.
    """
    xinterface = remote.ProxiedXMLRPCInterface(cobbler_api, remote.CobblerXMLRPCInterface)
    server = remote.CobblerXMLRPCServer(('127.0.0.1', port))
    server.logRequests = 0      # don't print stuff
    logger.debug("XMLRPC running on %s", port)
    server.register_instance(xinterface)
    start_time = ""
    try:
        import psutil
        p = psutil.Process(os.getpid())
        start_time = " in %s seconds" % str(time.time() - p.create_time())
    except ModuleNotFoundError:
        # This is not critical, but debug only - just install python3-psutil
        pass

    while True:
        try:
            logger.info("Cobbler startup completed %s", start_time)
            server.serve_forever()
        except IOError:
            # interrupted? try to serve again
            time.sleep(0.5)
Exemplo n.º 2
0
def do_xmlrpc_rw(cobbler_api, settings, port):

    xinterface = remote.ProxiedXMLRPCInterface(cobbler_api,
                                               remote.CobblerXMLRPCInterface)
    server = remote.CobblerXMLRPCServer(('127.0.0.1', port))
    server.logRequests = 0  # don't print stuff
    xinterface.logger.debug("XMLRPC running on %s" % port)
    server.register_instance(xinterface)

    while True:
        try:
            print("SERVING!")
            server.serve_forever()
        except IOError:
            # interrupted? try to serve again
            time.sleep(0.5)
Exemplo n.º 3
0
def do_xmlrpc_rw(cobbler_api: CobblerAPI, port):
    """
    This trys to bring up the Cobbler xmlrpc_api and restart it if it fails.

    :param cobbler_api: The cobbler_api instance which is used for this method.
    :param port: The port where the xmlrpc api should run on.
    """
    xinterface = remote.ProxiedXMLRPCInterface(cobbler_api, remote.CobblerXMLRPCInterface)
    server = remote.CobblerXMLRPCServer(('127.0.0.1', port))
    server.logRequests = 0      # don't print stuff
    logger.debug("XMLRPC running on %s", port)
    server.register_instance(xinterface)

    while True:
        try:
            logger.info("Cobbler startup complete")
            server.serve_forever()
        except IOError:
            # interrupted? try to serve again
            time.sleep(0.5)