diff options
author | Amrith Kumar <amrith@amrith.org> | 2017-04-10 19:25:28 -0400 |
---|---|---|
committer | Amrith Kumar <amrith@amrith.org> | 2017-04-25 06:54:29 -0400 |
commit | 20d51467c7e02b51445778d704900df117423ec2 (patch) | |
tree | 1d45071693552a770bcebe34ecff4de44d905b21 /trove/cmd | |
parent | 191e3036e1384efc3438487674a442e43503999a (diff) | |
download | trove-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.wsgi | 40 |
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() |