Browse Source
This creates a server entrypoint for running the Pecan+WSME infrastructure. Change-Id: I58bdeea7971f0f562e3d7a5542740283cb910a7bchanges/10/135410/3
7 changed files with 137 additions and 1 deletions
@ -0,0 +1,29 @@
|
||||
# -*- coding: utf-8 -*- |
||||
# |
||||
# Copyright 2013 - Noorul Islam K M |
||||
# |
||||
# 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. |
||||
|
||||
# Pecan Application Configurations |
||||
app = { |
||||
'root': 'magnum.api.controllers.root.RootController', |
||||
'modules': ['magnum.api'], |
||||
'debug': False |
||||
} |
||||
|
||||
# Custom Configurations must be in Python dictionary format:: |
||||
# |
||||
# foo = {'bar':'baz'} |
||||
# |
||||
# All configurations are accessible at:: |
||||
# pecan.conf |
@ -0,0 +1,54 @@
|
||||
# Copyright 2013 - Red Hat, Inc. |
||||
# |
||||
# 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. |
||||
|
||||
"""Starter script for the Magnum API service.""" |
||||
|
||||
import logging as std_logging |
||||
import os |
||||
import sys |
||||
from wsgiref import simple_server |
||||
|
||||
from oslo.config import cfg |
||||
|
||||
from magnum.api import app as api_app |
||||
from magnum.common import service |
||||
from magnum.openstack.common._i18n import _ |
||||
from magnum.openstack.common import log as logging |
||||
|
||||
|
||||
LOG = logging.getLogger(__name__) |
||||
|
||||
|
||||
def main(): |
||||
service.prepare_service(sys.argv) |
||||
|
||||
app = api_app.setup_app() |
||||
|
||||
# Create the WSGI server and start it |
||||
host, port = cfg.CONF.api.host, cfg.CONF.api.port |
||||
srv = simple_server.make_server(host, port, app) |
||||
|
||||
LOG.info(_('Starting server in PID %s') % os.getpid()) |
||||
LOG.debug("Configuration:") |
||||
cfg.CONF.log_opt_values(LOG, std_logging.DEBUG) |
||||
|
||||
if host == '0.0.0.0': |
||||
LOG.info(_('serving on 0.0.0.0:%(port)s, ' |
||||
'view at http://127.0.0.1:%(port)s') % |
||||
dict(port=port)) |
||||
else: |
||||
LOG.info(_('serving on http://%(host)s:%(port)s') % |
||||
dict(host=host, port=port)) |
||||
|
||||
srv.serve_forever() |
@ -0,0 +1,23 @@
|
||||
# Copyright 2013 - Red Hat, Inc. |
||||
# |
||||
# 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. |
||||
|
||||
from oslo.config import cfg |
||||
|
||||
from magnum.openstack.common import log as logging |
||||
|
||||
|
||||
def prepare_service(argv=[]): |
||||
cfg.CONF(argv[1:], project='magnum') |
||||
logging.setup('magnum') |
||||
# may make sense to load DB here |
Loading…
Reference in new issue