]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
Raise max header size to accommodate large tokens
authorzhhuabj <zhhuabj@cn.ibm.com>
Fri, 17 Jan 2014 10:21:01 +0000 (18:21 +0800)
committerThomas Goirand <thomas@goirand.fr>
Thu, 13 Mar 2014 07:20:29 +0000 (15:20 +0800)
The max header is exceeded in the following scenario
- Auth tokens built with a keystone v3 API catalog
- A catalog with approximately 8 or more endpoints defined

Change-Id: Ie815e457c0b25ab828e780b5d90233ba0ceff61f
Closes-Bug: #1251026

etc/neutron.conf
neutron/wsgi.py

index 59dd892c1a068a348260b9cb5e8fd062db05f881..6656117221ecde27c032a63c1191e63a1984c302 100644 (file)
@@ -266,6 +266,9 @@ notification_driver = neutron.openstack.common.notifier.rpc_notifier
 # Number of backlog requests to configure the socket with.
 # backlog = 4096
 
+# Max header line to accommodate large tokens
+# max_header_line = 16384
+
 # Enable SSL on the API server
 # use_ssl = False
 
index 862e3f69ac57d220a4974c028eda50c459e4f145..9cae97300909fe5df29b392620abeb630ef0b1e4 100644 (file)
@@ -58,6 +58,9 @@ socket_opts = [
     cfg.IntOpt('retry_until_window',
                default=30,
                help=_("Number of seconds to keep retrying to listen")),
+    cfg.IntOpt('max_header_line',
+               default=16384,
+               help=_("Max header line to accommodate large tokens")),
     cfg.BoolOpt('use_ssl',
                 default=False,
                 help=_('Enable SSL on the API server')),
@@ -110,6 +113,8 @@ class Server(object):
     """Server class to manage multiple WSGI sockets and applications."""
 
     def __init__(self, name, threads=1000):
+        # Raise the default from 8192 to accommodate large tokens
+        eventlet.wsgi.MAX_HEADER_LINE = CONF.max_header_line
         self.pool = eventlet.GreenPool(threads)
         self.name = name
         self._launcher = None