From c12eebd4c6765a8707edc6cbf10fa7f979054d93 Mon Sep 17 00:00:00 2001 From: Balazs Gibizer Date: Thu, 17 Apr 2025 16:45:06 +0200 Subject: [PATCH] Remove WSGIServer related config options As [1] removed the possibility to use the Eventlet based API servers this patch can clean up the configuration options from the [wsgi] section that are only used by that code path. The remaining two options [wsgi]api_paste_config and [wsgi]secure_proxy_ssl_header are still in use by the WSGI application code path. [1]I79b725f3b3569e9c1460a93ac40ca92269e7d003 Change-Id: Ia113daabab399e8db8edb1a2402ccae6fca351d5 --- nova/conf/wsgi.py | 147 ------------------------------------ nova/tests/fixtures/conf.py | 5 -- 2 files changed, 152 deletions(-) diff --git a/nova/conf/wsgi.py b/nova/conf/wsgi.py index 50e653d083..1d92ee7b21 100644 --- a/nova/conf/wsgi.py +++ b/nova/conf/wsgi.py @@ -35,38 +35,6 @@ This option represents a file name for the paste.deploy config for nova-api. Possible values: * A string representing file name for the paste.deploy config. -"""), -# TODO(sfinucan): It is not possible to rename this to 'log_format' -# yet, as doing so would cause a conflict if '[DEFAULT] log_format' -# were used. When 'deprecated_group' is removed after Ocata, this -# should be changed. - cfg.StrOpt( - 'wsgi_log_format', - default='%(client_ip)s "%(request_line)s" status: %(status_code)s' - ' len: %(body_length)s time: %(wall_seconds).7f', - deprecated_group='DEFAULT', - deprecated_for_removal=True, - deprecated_since='16.0.0', - deprecated_reason=""" -This option only works when running nova-api under eventlet, and -encodes very eventlet specific pieces of information. Starting in Pike -the preferred model for running nova-api is under uwsgi or apache -mod_wsgi. -""", - help=""" -It represents a python format string that is used as the template to generate -log lines. The following values can be formatted into it: client_ip, -date_time, request_line, status_code, body_length, wall_seconds. - -This option is used for building custom request loglines when running -nova-api under eventlet. If used under uwsgi or apache, this option -has no effect. - -Possible values: - -* '%(client_ip)s "%(request_line)s" status: %(status_code)s ' - 'len: %(body_length)s time: %(wall_seconds).7f' (default) -* Any formatted string formed by specific values. """), cfg.StrOpt( 'secure_proxy_ssl_header', @@ -99,121 +67,6 @@ values from the example above): for requests that originally come in via HTTPS. If any of those are not true, you should keep this setting set to None. -"""), - cfg.StrOpt( - 'ssl_ca_file', - deprecated_group='DEFAULT', - help=""" -This option allows setting path to the CA certificate file that should be used -to verify connecting clients. - -Possible values: - -* String representing path to the CA certificate file. - -Related options: - -* enabled_ssl_apis -"""), - cfg.StrOpt( - 'ssl_cert_file', - deprecated_group='DEFAULT', - help=""" -This option allows setting path to the SSL certificate of API server. - -Possible values: - -* String representing path to the SSL certificate. - -Related options: - -* enabled_ssl_apis -"""), - cfg.StrOpt( - 'ssl_key_file', - deprecated_group='DEFAULT', - help=""" -This option specifies the path to the file where SSL private key of API -server is stored when SSL is in effect. - -Possible values: - -* String representing path to the SSL private key. - -Related options: - -* enabled_ssl_apis -"""), - cfg.IntOpt( - 'tcp_keepidle', - min=0, - default=600, - deprecated_group='DEFAULT', - help=""" -This option sets the value of TCP_KEEPIDLE in seconds for each server socket. -It specifies the duration of time to keep connection active. TCP generates a -KEEPALIVE transmission for an application that requests to keep connection -active. Not supported on OS X. - -Related options: - -* keep_alive -"""), - cfg.IntOpt( - 'default_pool_size', - min=0, - default=1000, - deprecated_group='DEFAULT', - deprecated_name='wsgi_default_pool_size', - help=""" -This option specifies the size of the pool of greenthreads used by wsgi. -It is possible to limit the number of concurrent connections using this -option. -"""), - cfg.IntOpt( - 'max_header_line', - min=0, - default=16384, - deprecated_group='DEFAULT', - help=""" -This option specifies the maximum line size of message headers to be accepted. -max_header_line may need to be increased when using large tokens (typically -those generated by the Keystone v3 API with big service catalogs). - -Since TCP is a stream based protocol, in order to reuse a connection, the HTTP -has to have a way to indicate the end of the previous response and beginning -of the next. Hence, in a keep_alive case, all messages must have a -self-defined message length. -"""), - cfg.BoolOpt( - 'keep_alive', - default=True, - deprecated_group='DEFAULT', - deprecated_name='wsgi_keep_alive', - help=""" -This option allows using the same TCP connection to send and receive multiple -HTTP requests/responses, as opposed to opening a new one for every single -request/response pair. HTTP keep-alive indicates HTTP connection reuse. - -Possible values: - -* True : reuse HTTP connection. -* False : closes the client socket connection explicitly. - -Related options: - -* tcp_keepidle -"""), - cfg.IntOpt( - 'client_socket_timeout', - min=0, - default=900, - deprecated_group='DEFAULT', - help=""" -This option specifies the timeout for client connections' socket operations. -If an incoming connection is idle for this number of seconds it will be -closed. It indicates timeout on individual read/writes on the socket -connection. To wait forever set to 0. """), ] diff --git a/nova/tests/fixtures/conf.py b/nova/tests/fixtures/conf.py index f7a8e64ffc..bc8dab147d 100644 --- a/nova/tests/fixtures/conf.py +++ b/nova/tests/fixtures/conf.py @@ -52,11 +52,6 @@ class ConfFixture(config_fixture.Config): self.conf.set_default('api_paste_config', paths.state_path_def('etc/nova/api-paste.ini'), group='wsgi') - # The functional tests run wsgi API services using fixtures and - # eventlet and we want one connection per request so things don't - # leak between requests from separate services in concurrently running - # tests. - self.conf.set_default('keep_alive', False, group="wsgi") # api group self.conf.set_default('response_validation', 'error', group='api')