Now Pecan is sharing the same debug configration with Ceilometer, but DebugMiddleware of Pecan doesn't support multi processes. That means user can't enable the Ceilometer debug mode if he is using multi process mode for mod_wsgi config. Closes-Bug: 1352088 Change-Id: I6e83fbcbee23a519fe26c3036f42cc619848a989
2.5 KiB
Installing the API Behind mod_wsgi
Ceilometer comes with a few example files for configuring the API
service to run behind Apache with mod_wsgi
.
app.wsgi
The file ceilometer/api/app.wsgi
sets up the V2 API WSGI
application. The file is installed with the rest of the ceilometer
application code, and should not need to be modified.
etc/apache2/ceilometer
The etc/apache2/ceilometer
file contains example
settings that work with a copy of ceilometer installed via devstack.
../../../etc/apache2/ceilometer
Copy or symlink the file to
/etc/apache2/sites-avilable
.Modify the
VirtualHost
directive, setting a hostname or IP for the service. The default settings assume that the ceilometer API is the only service running on the local Apache instance, which conflicts with Horizon's default configuration.Modify the
WSGIDaemonProcess
directive to set theuser
andgroup
values to a user available on your server.Modify the
APACHE_RUN_USER
andAPACHE_RUN_GROUP
values to the name of a user and group available on your server.Enable the ceilometer site.
$ a2ensite ceilometer $ service apache2 reload
Limitation
As Ceilometer is using Pecan and Pecan's DebugMiddleware doesn't support multiple processes, there is no way to set debug mode in the multiprocessing case. So user will run into HTTP 500 error if the mod_wsgi's multiprocessing is enabled and the Ceilometer debug mode is enabled at the same time. There is no good way to make both of them work, since Pecan is sharing the debug mode with Ceilometer, see[1]. If you really need to enable both, a possible workaround is hacking that line and hardcode the debug configration to False.
[1] https://github.com/openstack/ceilometer/blob/master/ceilometer/api/app.py