summaryrefslogtreecommitdiff
path: root/bin/reddwarf-api-os-database
diff options
context:
space:
mode:
Diffstat (limited to 'bin/reddwarf-api-os-database')
-rwxr-xr-xbin/reddwarf-api-os-database70
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()