placement/placement/conf
Chris Dent f7f5231677 Add register_opts param to PlacementFixture
There are scenarios where it is useful to create a ConfigOpts
and register_opts on it before ever calling the PlacementFixture.
If that is done we don't want to re-register the opts within
the fixture as this can lead to errors (especially when CLI
opts are involved).

The scenario that discovered this problem is in nova in a regression
test [1] where a ConfigOpts is created and registered, the placement
DatabaseFixture is started and then that same config is used in
multiple instances of the PlacementFixture, each of which again
register_opts(). Until commit b647919666
this wasn't a problem because the default opts in placement did
not include any CLI options. Adding logging opts brought some in.

This change adds a flag to the constructor for PlacementFixture,
register_opts, defaulting to True, which lets the caller say
no, I don't want do register.

It also reverts the revert of b647919666
to perform oslo_log.log.register_opts() from a central location.

[1] test_bug_1679750.TestLocalDeleteAllocations.test_local_delete_removes_allocations_after_compute_restart

Change-Id: I360a306b5d05ada75274733038b73ec2f2bdc4d4
Needed-By: I042e41ac8c41c0e5f0389904eb548e0e97d54c60
Related-Bug: #1821092
2019-03-20 22:34:21 +00:00
..
__init__.py Add register_opts param to PlacementFixture 2019-03-20 22:34:21 +00:00
api.py Remove pep8 whitespace ignores 2019-03-05 18:18:30 -06:00
base.py Remove unused conf opts 2018-09-13 10:20:30 -06:00
database.py Optionally migrate database at service startup 2019-02-25 20:19:14 +00:00
opts.py Get rid of backslash continuations in code 2019-03-15 17:12:27 -05:00
paths.py Remove pep8 whitespace ignores 2019-03-05 18:18:30 -06:00
placement.py Remove keystoneauth1 opts from placement config group 2018-11-27 16:56:32 -05:00