示例#1
0
def main():
    """Launch validator API """
    try:
        config.parse_args()
        logging.setup(CONF, 'validator_api')
        app = config.load_paste_app("validator_api")
        port, host = (CONF.bind_port, CONF.bind_host)
        LOG.info(_LI('Starting Validator ReST API on %(host)s:%(port)s'),
                 {'host': host, 'port': port})
        server = wsgi.Service(app, port, host)
        server.start()
        server.wait()
    except RuntimeError as e:
        msg = six.text_type(e)
        sys.exit("ERROR: %s" % msg)

# If ../validator/__init__.py exists, add ../ to Python search path,
# so that it will override what happens to be installed in
# /usr/(local/)lib/python...
root = os.path.join(os.path.abspath(__file__), os.pardir, os.pardir, os.pardir)
if os.path.exists(os.path.join(root, 'validator', '__init__.py')):
    sys.path.insert(0, root)

i18n.enable_lazy()

LOG = logging.getLogger()
CONF = config.CONF

if __name__ == '__main__':
    try:
        logging.register_options(CONF)
        config.parse_args()
        logging.setup(CONF, 'validator_api')

        app = config.load_paste_app("validator_api")
        port, host = (CONF.bind_port, CONF.bind_host)
        LOG.info(_LI('Starting Chef Validator ReST API on %(host)s:%(port)s'),
                 {'host': host, 'port': port})
        server = wsgi.Service(app, port, host)
        server.start()
        server.wait()
    except RuntimeError as e:
        msg = six.text_type(e)
        sys.exit("ERROR: %s" % msg)