Exemple #1
0
def main():
    try:
        logging.register_options(cfg.CONF)
        cfg.CONF(project='heat',
                 prog='heat-api',
                 version=version.version_info.version_string())
        logging.setup(cfg.CONF, 'heat-api')
        messaging.setup()

        app = config.load_paste_app()

        port = cfg.CONF.heat_api.bind_port
        host = cfg.CONF.heat_api.bind_host
        LOG.info(_LI('Starting Heat REST API on %(host)s:%(port)s'), {
            'host': host,
            'port': port
        })
        profiler.setup('heat-api', host)
        gmr.TextGuruMeditation.setup_autorun(version)
        server = wsgi.Server('heat-api', cfg.CONF.heat_api)
        server.start(app, default_port=port)
        systemd.notify_once()
        server.wait()
    except RuntimeError as e:
        msg = six.text_type(e)
        sys.exit("ERROR: %s" % msg)
Exemple #2
0
def launch_cfn_api(setup_logging=True):
    if setup_logging:
        logging.register_options(cfg.CONF)
    cfg.CONF(project='heat',
             prog='heat-api-cfn',
             version=version.version_info.version_string())
    if setup_logging:
        logging.setup(cfg.CONF, 'heat-api-cfn')
        logging.set_defaults()
    config.set_config_defaults()
    messaging.setup()

    app = config.load_paste_app()

    port = cfg.CONF.heat_api_cfn.bind_port
    host = cfg.CONF.heat_api_cfn.bind_host
    LOG.info('Starting Heat API on %(host)s:%(port)s', {
        'host': host,
        'port': port
    })
    profiler.setup('heat-api-cfn', host)
    gmr.TextGuruMeditation.setup_autorun(version)
    server = wsgi.Server('heat-api-cfn', cfg.CONF.heat_api_cfn)
    server.start(app, default_port=port)
    return server
Exemple #3
0
def launch_api(setup_logging=True):
    if setup_logging:
        logging.register_options(CONF)
    CONF(project='heat',
         prog='heat-api',
         version=version.version_info.version_string())
    if setup_logging:
        logging.setup(CONF, CONF.prog)
    LOG = logging.getLogger(CONF.prog)
    config.set_config_defaults()
    messaging.setup()

    app = config.load_paste_app()

    port = CONF.heat_api.bind_port
    host = CONF.heat_api.bind_host
    LOG.info('Starting Heat REST API on %(host)s:%(port)s', {
        'host': host,
        'port': port
    })
    profiler.setup(CONF.prog, host)
    gmr.TextGuruMeditation.setup_autorun(version)
    server = wsgi.Server(CONF.prog, CONF.heat_api)
    server.start(app, default_port=port)
    return server
Exemple #4
0
 def test_correct_configure_socket(self):
     mock_socket = mock.Mock()
     self.useFixture(
         fixtures.MonkeyPatch('heat.common.wsgi.ssl.wrap_socket',
                              mock_socket))
     self.useFixture(
         fixtures.MonkeyPatch('heat.common.wsgi.eventlet.listen',
                              lambda *x, **y: mock_socket))
     server = wsgi.Server(name='heat-api', conf=cfg.CONF.heat_api)
     server.default_port = 1234
     server.configure_socket()
     self.assertIn(
         mock.call.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1),
         mock_socket.mock_calls)
     self.assertIn(
         mock.call.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1),
         mock_socket.mock_calls)
     if hasattr(socket, 'TCP_KEEPIDLE'):
         self.assertIn(
             mock.call().setsockopt(socket.IPPROTO_TCP, socket.TCP_KEEPIDLE,
                                    wsgi.cfg.CONF.heat_api.tcp_keepidle),
             mock_socket.mock_calls)