From 7786eb2dc0c30282b3257a96b152d418d6b17d87 Mon Sep 17 00:00:00 2001 From: zhurong Date: Tue, 7 Mar 2017 17:07:49 +0800 Subject: [PATCH] Add WSGI support script for murano API This patch add scripts for running API serces via WSGI. The follow-up patch will add the devstack install support. Change-Id: I3b836041559004a629f2cb2a506e53bf04fbdf23 Partially-Implements: blueprint murano-api-wsgi --- murano/httpd/__init__.py | 0 murano/httpd/murano_api.py | 46 ++++++++++++++++++++++++++++++++++++++ setup.cfg | 2 ++ 3 files changed, 48 insertions(+) create mode 100644 murano/httpd/__init__.py create mode 100644 murano/httpd/murano_api.py diff --git a/murano/httpd/__init__.py b/murano/httpd/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/murano/httpd/murano_api.py b/murano/httpd/murano_api.py new file mode 100644 index 000000000..c10904c9e --- /dev/null +++ b/murano/httpd/murano_api.py @@ -0,0 +1,46 @@ +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +"""WSGI script for murano-api. + +Script for running murano-api under Apache2. +""" + + +from oslo_config import cfg +import oslo_i18n as i18n +from oslo_log import log as logging + +from murano.api.v1 import request_statistics +from murano.common import app_loader +from murano.common import config +from murano.common.i18n import _ +from murano.common import policy + + +def init_application(): + i18n.enable_lazy() + + LOG = logging.getLogger('murano.api') + + logging.register_options(cfg.CONF) + cfg.CONF(project='murano') + logging.setup(cfg.CONF, 'murano') + config.set_middleware_defaults() + request_statistics.init_stats() + policy.init() + + port = cfg.CONF.bind_port + host = cfg.CONF.bind_host + LOG.info(_('Starting Murano REST API on %(host)s:%(port)s'), + {'host': host, 'port': port}) + return app_loader.load_paste_app('murano') diff --git a/setup.cfg b/setup.cfg index 8edf3a648..ea8444bcd 100644 --- a/setup.cfg +++ b/setup.cfg @@ -53,6 +53,8 @@ console_scripts = murano-cfapi-db-manage = murano.cmd.cfapi_db_manage:main murano-test-runner = murano.cmd.test_runner:main murano-cfapi = murano.cmd.cfapi:main +wsgi_scripts = + murano-wsgi-api = murano.httpd.murano_api:init_application oslo.config.opts = murano = murano.opts:list_opts keystone_authtoken = keystonemiddleware.opts:list_auth_token_opts