apache2 neutron wsgi don't ack rabbitMQ messages
Hi guys,
another day, another problem :).
- Icehouse
- Apache2.4
- Ubuntu 14.04
I'm scaling our Neutron API endpoints to different servers to reach more throughput. In this case i decided to use apache2 with WSGI module to run the server in multi threaded mode to use optimal all CPU cores and handle more parallel requests.
I create a vHost and a wsgi startup script file
script:
from neutron.openstack.common import log as logging
from neutron.common import config
logging.setup('neutron')
config.parse(['--config-file', '/etc/neutron/neutron.conf', '--config-file', '/etc/neutron/plugins/ml2/ml2_conf.ini'])
application = config.load_paste_app("neutron")
vhost:
Listen *:9696
<VirtualHost *:9696>
WSGIScriptAlias / /var/www/cgi-bin/neutron
WSGIDaemonProcess neutron-public user=neutron group=neutron processes=3 threads=10
WSGIProcessGroup neutron-public
WSGIApplicationGroup %{GLOBAL}
WSGIPassAuthorization On
LogLevel info
ErrorLog /var/log/apache2/neutron-error.log
CustomLog /var/log/apache2/neutron-access.log combined
</VirtualHost>
So the server is running well, all requests are working well but i see on the messaging bus (rabbitmq) unack messages in two queues as far as the apache2 is running. The unack messages on both queues (n-lbaas-plugin & q-metering-plugin) is increasing over time. As soon as i switch to the build-IN webserver of Neutron all messages on both queues will ack and deliver.
Is there any trick or is that a problem with multi thread ?
Cheers and thanks Heiko