#!/usr/bin/python2 # PBR Generated from u'wsgi_scripts' import threading from nova.api.openstack.placement.wsgi import init_application if __name__ == "__main__": import argparse import netaddr import socket import sys import wsgiref.simple_server as wss parser = argparse.ArgumentParser( description=init_application.__doc__, formatter_class=argparse.ArgumentDefaultsHelpFormatter, usage='%(prog)s [-h] [--port PORT] [--host IP] -- [passed options]') parser.add_argument('--port', '-p', type=int, default=8000, help='TCP port to listen on') parser.add_argument('--host', '-b', default='', help='IP to bind the server to') parser.add_argument('args', nargs=argparse.REMAINDER, metavar='-- [passed options]', help="'--' is the separator of the arguments used " "to start the WSGI server and the arguments passed " "to the WSGI application.") args = parser.parse_args() if args.args: if args.args[0] == '--': args.args.pop(0) else: parser.error("unrecognized arguments: %s" % ' '.join(args.args)) sys.argv[1:] = args.args # WRS: In order to support IPv6, server_class.address_family must be set # to the correct address family. Determine this from specified address. class server_class(wss.WSGIServer): pass if netaddr.valid_ipv4(args.host): server_class.address_family = socket.AF_INET else: server_class.address_family = socket.AF_INET6 server = wss.make_server(args.host, args.port, init_application(), server_class=server_class) print("*" * 80) print("STARTING test server nova.api.openstack.placement.wsgi.init_application") url = "http://%s:%d/" % (server.server_name, server.server_port) print("Available at %s" % url) print("*" * 80) sys.stdout.flush() server.serve_forever() else: application = None app_lock = threading.Lock() with app_lock: if application is None: application = init_application()