octavia/bin/octavia-api.py
Brandon Logan 9786021205 Implementing simple operator API
Setup executable to use wsgiref.simple_server
Simple setup of pecan
Defined controllers that define the API resources
Implemented all controllers to manipulate database and send to handler
Added repository methods required for creating multiple items in one transaction
Defined a few API exceptions based of wsme exceptions
Defined the wsme types that define the resource response and request bodies
Defined an abstract handler that all handlers should subclass
Defined a simple handler that is responsible for sending to controller
Added some wsme type tests

Implements: bp/operator-api

Change-Id: I0d91934db47a6e45f0c9ac22089f8689957bd239
2014-12-11 20:22:14 -06:00

40 lines
1.2 KiB
Python
Executable File

#!/usr/bin/env python
# Copyright 2014 Rackspace
#
# 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.
import sys
from wsgiref import simple_server
from oslo.config import cfg
from octavia.api import app as api_app
from octavia.common import service as octavia_service
from octavia.i18n import _LI
from octavia.openstack.common import log as logging
LOG = logging.getLogger(__name__)
if __name__ == '__main__':
octavia_service.prepare_service(sys.argv)
app = api_app.setup_app()
host, port = cfg.CONF.bind_host, cfg.CONF.bind_port
LOG.info(_LI("Starting API server on %(host)s:%(port)s") %
{"host": host, "port": port})
srv = simple_server.make_server(host, port, app)
srv.serve_forever()