← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1734491] [NEW] placement keystonemiddleware_authtoken ignores OS_PLACEMENT_CONFIG_DIR

 

Public bug reported:

In placement master, late November 2017, the deploy.py file is
responsible for building the WSGI middleware stack, including loading
the keystonemiddleware.

           auth_middleware = auth_token.filter_factory(
            {}, oslo_config_project=project_name)

This mode of loading means that the middleware itself is responsible for
finding and reading the project conf file (nova.conf for now).

Whereas the general the conf loading done in wsgi.py is aware of an
OS_PLACEMENT_CONFIG_DIR env, the filter_factory loading above is not.

This can lead to some pretty confusing situations where custom config,
for things like the database, from custom locations are visible in the
placement service, but authtoken config is not.

Only after pulling all hair from head does it become clear what's
happening.

So we should fix that. It _may_ be as simple as adding similar file
handling as used in wsgi.py, but it's not clear if the arg will get
passed through. Further experimentation required.

** Affects: nova
     Importance: Undecided
     Assignee: Chris Dent (cdent)
         Status: New


** Tags: placement

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1734491

Title:
  placement keystonemiddleware_authtoken ignores OS_PLACEMENT_CONFIG_DIR

Status in OpenStack Compute (nova):
  New

Bug description:
  In placement master, late November 2017, the deploy.py file is
  responsible for building the WSGI middleware stack, including loading
  the keystonemiddleware.

             auth_middleware = auth_token.filter_factory(
              {}, oslo_config_project=project_name)

  This mode of loading means that the middleware itself is responsible
  for finding and reading the project conf file (nova.conf for now).

  Whereas the general the conf loading done in wsgi.py is aware of an
  OS_PLACEMENT_CONFIG_DIR env, the filter_factory loading above is not.

  This can lead to some pretty confusing situations where custom config,
  for things like the database, from custom locations are visible in the
  placement service, but authtoken config is not.

  Only after pulling all hair from head does it become clear what's
  happening.

  So we should fix that. It _may_ be as simple as adding similar file
  handling as used in wsgi.py, but it's not clear if the arg will get
  passed through. Further experimentation required.

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1734491/+subscriptions


Follow ups