summaryrefslogtreecommitdiff
path: root/trove/cmd
diff options
context:
space:
mode:
authorAmrith Kumar <amrith@amrith.org>2017-04-10 19:25:28 -0400
committerAmrith Kumar <amrith@amrith.org>2017-04-25 06:54:29 -0400
commit20d51467c7e02b51445778d704900df117423ec2 (patch)
tree1d45071693552a770bcebe34ecff4de44d905b21 /trove/cmd
parent191e3036e1384efc3438487674a442e43503999a (diff)
downloadtrove-20d51467c7e02b51445778d704900df117423ec2.tar.gz
enable trove-api behind mod-wsgi
This change enables behind mod-wsgi as part of the community pike goal goal-deploy-api-in-wsgi. The change includes: - the wsgi script files to run trove api under apache - updates to the devstack plugin - a basic deploy doc which explains this change Change-Id: Icdd39b47a1be426e87a5d09f9e9d567af1974a9c Depends-On: I3d6f6649430ee40879de15fee0b215dc32e8b666 Closes-Bug: #1681478
Diffstat (limited to 'trove/cmd')
-rw-r--r--trove/cmd/app.wsgi40
1 files changed, 40 insertions, 0 deletions
diff --git a/trove/cmd/app.wsgi b/trove/cmd/app.wsgi
new file mode 100644
index 00000000..097972e4
--- /dev/null
+++ b/trove/cmd/app.wsgi
@@ -0,0 +1,40 @@
+# Copyright 2017 Amrith Kumar.
+# 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.
+"""
+Used for deploying Trove API through mod-wsgi
+"""
+
+from oslo_log import log as logging
+from trove.cmd.common import with_initialize
+from trove.common import pastedeploy
+from trove.common import profile
+
+LOG = logging.getLogger('trove.cmd.app')
+
+@with_initialize
+def wsgimain(CONF):
+ from trove.common import cfg
+ from trove.common import notification
+ from trove.instance import models as inst_models
+
+ notification.DBaaSAPINotification.register_notify_callback(
+ inst_models.persist_instance_fault)
+ cfg.set_api_config_defaults()
+ profile.setup_profiler('api', CONF.host)
+ conf_file = CONF.find_file(CONF.api_paste_config)
+ LOG.debug("Trove started on %s", CONF.host)
+ return pastedeploy.paste_deploy_app(conf_file, 'trove', {})
+
+application = wsgimain()