Add samples to serve API through Apache mod_wsgi
The default API service (ironic.cmd.api) uses the wsgiref library. Some deployers may want to serve the API through apache/httpd instead. This patch adds application hooks to use with mod_wsgi, and a sample apache2 config file to demonstrate its use with debian-based distros. Change-Id: I44cd8e0941c350a6e5c16cf2d068c3e8d684ab47 Related-bug: #1279206
This commit is contained in:
parent
7eb48adc82
commit
1da73ef2ba
37
etc/apache2/ironic
Normal file
37
etc/apache2/ironic
Normal file
@ -0,0 +1,37 @@
|
||||
# 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.
|
||||
|
||||
# This is an example Apache2 configuration file for using the
|
||||
# Ironic API through mod_wsgi. This version assumes you are
|
||||
# running devstack to configure the software.
|
||||
|
||||
Listen 6385
|
||||
|
||||
<VirtualHost *:6385>
|
||||
WSGIDaemonProcess ironic user=stack group=stack threads=10
|
||||
WSGIScriptAlias / /opt/stack/ironic/ironic/api/app.wsgi
|
||||
|
||||
SetEnv APACHE_RUN_USER stack
|
||||
SetEnv APACHE_RUN_GROUP stack
|
||||
WSGIProcessGroup ironic
|
||||
|
||||
ErrorLog /var/log/apache2/ironic_error.log
|
||||
LogLevel info
|
||||
CustomLog /var/log/apache2/ironic_access.log combined
|
||||
|
||||
<Directory /opt/stack/ironic/ironic/api>
|
||||
WSGIProcessGroup ironic
|
||||
WSGIApplicationGroup %{GLOBAL}
|
||||
AllowOverride All
|
||||
Require all granted
|
||||
</Directory>
|
||||
</VirtualHost>
|
27
ironic/api/app.wsgi
Normal file
27
ironic/api/app.wsgi
Normal file
@ -0,0 +1,27 @@
|
||||
# -*- mode: python -*-
|
||||
# -*- encoding: utf-8 -*-
|
||||
#
|
||||
# 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.
|
||||
"""
|
||||
Use this file for deploying the API service under Apache2 mod_wsgi.
|
||||
"""
|
||||
|
||||
from ironic.api import app
|
||||
from ironic.common import service
|
||||
from ironic.openstack.common import gettextutils
|
||||
|
||||
gettextutils.install('ironic')
|
||||
|
||||
service.prepare_service([])
|
||||
|
||||
application = app.VersionSelectorApplication()
|
Loading…
x
Reference in New Issue
Block a user