diff options
Diffstat (limited to 'bin/reddwarf-api-os-database')
-rwxr-xr-x | bin/reddwarf-api-os-database | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/bin/reddwarf-api-os-database b/bin/reddwarf-api-os-database new file mode 100755 index 00000000..611bb81a --- /dev/null +++ b/bin/reddwarf-api-os-database @@ -0,0 +1,70 @@ +#!/usr/bin/env python +# vim: tabstop=4 shiftwidth=4 softtabstop=4 + +# Copyright 2010 United States Government as represented by the +# Administrator of the National Aeronautics and Space Administration. +# All Rights Reserved. +# +# 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 Nova OS API.""" + +import eventlet +eventlet.monkey_patch() + +import os +import sys + + +possible_topdir = os.path.normpath(os.path.join(os.path.abspath( + sys.argv[0]), os.pardir, os.pardir)) +if os.path.exists(os.path.join(possible_topdir, "nova", "__init__.py")): + sys.path.insert(0, possible_topdir) + +from nova import flags +from nova import log as logging +from nova import service +from nova import utils +from nova import wsgi +from nova.openstack.common import cfg + +SERVICE_NAME="reddwarfapi_database" + +reddwarf_opts = [ + cfg.StrOpt('reddwarf_api_paste_config', + default='reddwarf-api-paste.ini', + help='Reddwarf API paste config'), + # port magic in service.WSGIService the name of the app has to be the same + # as the name of the service + cfg.IntOpt('%s_listen_port' % SERVICE_NAME, + default=8779, + help='Reddwarf API default port'), + cfg.MultiStrOpt('reddwarf_api_extension', + default=[ + 'reddwarf.api.database.contrib.standard_extensions' + ], + help='osapi compute extension to load'), + ] +FLAGS = flags.FLAGS +FLAGS.register_opts(reddwarf_opts) + + +if __name__ == '__main__': + utils.default_flagfile() + flags.FLAGS(sys.argv) + logging.setup() + utils.monkey_patch() + loader = wsgi.Loader(config_path=FLAGS.reddwarf_api_paste_config) + server = service.WSGIService(SERVICE_NAME, loader=loader) + service.serve(server) + service.wait() |