Support multiple config file with mod_wsgi

Unlike uwsgi, apache mod_wsgi does not support passing
commandline arguments to the python wsgi script it invokes.

As a result while you can pass --config-file when hosting the
api and metadata wsgi applications with uwsgi there is no
way to use multiple config files with mod_wsgi.

This change mirrors how this is supported in keystone today
by intoducing a new OS_NOVA_CONFIG_FILES env var to allow
operators to optional pass a ';' delimited list of config
files to load.

This change also add docs for this env var and the existing
undocumented OS_NOVA_CONFIG_DIR.

Closes-Bug: 1994056
Change-Id: I8e3ccd75cbb7f2e132b403cb38022787c2c0a37b
This commit is contained in:
Sean Mooney
2022-11-08 15:00:22 +00:00
committed by Balazs Gibizer
parent c97507dfcd
commit 73fe84fa0e
4 changed files with 43 additions and 5 deletions
+10 -4
View File
@@ -8,10 +8,16 @@ as Apache_ or nginx_).
The nova project provides two automatically generated entry points that
support this: ``nova-api-wsgi`` and ``nova-metadata-wsgi``. These read
``nova.conf`` and ``api-paste.ini`` and generate the required module-level
``application`` that most WSGI servers require. If nova is installed using pip,
these two scripts will be installed into whatever the expected ``bin``
directory is for the environment.
``nova.conf`` and ``api-paste.ini`` by default and generate the required
module-level ``application`` that most WSGI servers require.
If nova is installed using pip, these two scripts will be installed into
whatever the expected ``bin`` directory is for the environment.
The config files and config directory can be overridden via the
``OS_NOVA_CONFIG_FILES`` and ``OS_NOVA_CONFIG_DIR`` environment variables.
File paths listed in ``OS_NOVA_CONFIG_FILES`` are relative to
``OS_NOVA_CONFIG_DIR`` and delimited by ``;``.
The new scripts replace older experimental scripts that could be found in the
``nova/wsgi`` directory of the code repository. The new scripts are *not*