def start(self, host=None, port=None, wait=True): """Starts the Keystone server :param host: the IP address to listen on :param port: the TCP/IP port to listen on :param wait: whether to wait (block) for the server to terminate or return to the caller without waiting """ logger.debug("Starting API server") conf, app = config.load_paste_app( self.config, self.options, self.args) debug = self.options.get('debug') or conf.get('debug', False) debug = debug in [True, "True", "1"] verbose = self.options.get('verbose') or conf.get('verbose', False) verbose = verbose in [True, "True", "1"] if debug or verbose: config_file = config.find_config_file(self.options, self.args) logger.info("Starting '%s' with config: %s" % (self.config, config_file)) if port is None: if self.config == 'admin': # Legacy port = int(self.options.get('bind_port') or conf.get('admin_port', 35357)) else: port = int(self.options.get('bind_port') or conf.get('service_port', 5000)) if host is None: host = self.options.get('bind_host', conf.get('service_host', '0.0.0.0')) self.key = "%s-%s:%s" % (self.name, host, port) # Safely get SSL options service_ssl = conf.get('service_ssl', False) service_ssl = service_ssl in [True, "True", "1"] # Load the server if service_ssl: cert_required = conf.get('cert_required', False) cert_required = cert_required in [True, "True", "1"] certfile = conf.get('certfile') keyfile = conf.get('keyfile') ca_certs = conf.get('ca_certs') self.server = wsgi.SslServer() self.server.start(app, port, host, certfile=certfile, keyfile=keyfile, ca_certs=ca_certs, cert_required=cert_required, key=self.key) self.protocol = 'https' else: self.server = wsgi.Server() self.server.start(app, port, host, key="%s-%s:%s" % (self.config, host, port)) self.protocol = 'http' self.port = port self.host = host logger.info("%s listening on %s://%s:%s" % ( self.name, ['http', 'https'][service_ssl], host, port)) if not (debug or verbose): print "%s listening on %s://%s:%s" % ( self.name, ['http', 'https'][service_ssl], host, port) # Wait until done if wait: self.server.wait()
def start(self, host=None, port=None, wait=True): """Starts the Keystone server :param host: the IP address to listen on :param port: the TCP/IP port to listen on :param wait: whether to wait (block) for the server to terminate or return to the caller without waiting """ logger.debug("Starting API server") conf, app = common_config.load_paste_app(self.config, self.options, self.args) debug = CONF.debug in [True, "True", "1"] verbose = CONF.verbose in [True, "True", "1"] if debug or verbose: config_file = common_config.find_config_file(self.options, self.args) logger.info("Starting '%s' with config: %s" % (self.config, config_file)) if port is None: if self.config == 'admin': # Legacy port = int(CONF.admin_port or 35357) else: port = int(CONF.service_port or CONF.bind_port or 5000) if host is None: host = CONF.bind_host or CONF.service_host or "0.0.0.0" self.key = "%s-%s:%s" % (self.name, host, port) # Safely get SSL options service_ssl = CONF.service_ssl in [True, "True", "1"] # Load the server if service_ssl: cert_required = conf.get('cert_required', False) cert_required = cert_required in [True, "True", "1"] certfile = conf.get('certfile') keyfile = conf.get('keyfile') ca_certs = conf.get('ca_certs') self.server = wsgi.SslServer() self.server.start(app, port, host, certfile=certfile, keyfile=keyfile, ca_certs=ca_certs, cert_required=cert_required, key=self.key) self.protocol = 'https' else: self.server = wsgi.Server() self.server.start(app, port, host, key="%s-%s:%s" % (self.config, host, port)) self.protocol = 'http' self.port = port self.host = host logger.info("%s listening on %s://%s:%s" % ( self.name, ['http', 'https'][service_ssl], host, port)) # Wait until done if wait: self.server.wait()
def start(self, host=None, port=None, wait=True): """Starts the Keystone server :param host: the IP address to listen on :param port: the TCP/IP port to listen on :param wait: whether to wait (block) for the server to terminate or return to the caller without waiting """ logger.debug("Starting API server") conf, app = common_config.load_paste_app(self.config, self.options, self.args) debug = CONF.debug in [True, "True", "1"] verbose = CONF.verbose in [True, "True", "1"] if debug or verbose: config_file = common_config.find_config_file(self.options, self.args) logger.info("Starting '%s' with config: %s" % (self.config, config_file)) if port is None: if self.config == "admin": # Legacy port = int(CONF.admin_port or 35357) else: port = int(CONF.service_port or CONF.bind_port or 5000) if host is None: host = CONF.bind_host or CONF.service_host or "0.0.0.0" self.key = "%s-%s:%s" % (self.name, host, port) # Safely get SSL options service_ssl = CONF.service_ssl in [True, "True", "1"] # Load the server if service_ssl: cert_required = conf.get("cert_required", False) cert_required = cert_required in [True, "True", "1"] certfile = conf.get("certfile") keyfile = conf.get("keyfile") ca_certs = conf.get("ca_certs") self.server = wsgi.SslServer() self.server.start( app, port, host, certfile=certfile, keyfile=keyfile, ca_certs=ca_certs, cert_required=cert_required, key=self.key, ) self.protocol = "https" else: self.server = wsgi.Server() self.server.start(app, port, host, key="%s-%s:%s" % (self.config, host, port)) self.protocol = "http" self.port = port self.host = host logger.info("%s listening on %s://%s:%s" % (self.name, ["http", "https"][service_ssl], host, port)) # Wait until done if wait: self.server.wait()