Update config generator to use new style list_opts discovery

Stop-gap until we move to oslo-config-generator. We need something
to get by the fatal_deprecation problem. The oslo-incubator
changeset referenced should be merged first.

Closes-Bug: #1424576
Depends-On: Ie6d1da242b79bb1dfd03494dee82fbb73eb94217
Change-Id: I7b9aa7588d91ee7b7d2faeb090b4e0ca6ced1c0a
This commit is contained in:
Davanum Srinivas
2015-02-26 17:46:28 -05:00
parent f0ad0759e4
commit 31622aeaf9
2 changed files with 13 additions and 2 deletions

View File

@@ -179,6 +179,10 @@ def _list_opts(obj):
not isinstance(o, cfg.SubCommandOpt))
opts = list()
if 'list_opts' in dir(obj):
return getattr(obj, 'list_opts')()
for attr_str in dir(obj):
attr_obj = getattr(obj, attr_str)
if is_opt(attr_obj):

View File

@@ -17,6 +17,7 @@
Helpers for comparing version strings.
"""
import copy
import functools
import inspect
import logging
@@ -32,13 +33,19 @@ LOG = logging.getLogger(__name__)
CONF = cfg.CONF
opts = [
deprecated_opts = [
cfg.BoolOpt('fatal_deprecations',
default=False,
help='Enables or disables fatal status of deprecations.'),
]
def list_opts():
"""Entry point for oslo.config-generator.
"""
return [(None, copy.deepcopy(deprecated_opts))]
class deprecated(object):
"""A decorator to mark callables as deprecated.
@@ -230,7 +237,7 @@ def report_deprecated_feature(logger, msg, *args, **kwargs):
fatal deprecations.
"""
stdmsg = _("Deprecated: %s") % msg
CONF.register_opts(opts)
CONF.register_opts(deprecated_opts)
if CONF.fatal_deprecations:
logger.critical(stdmsg, *args, **kwargs)
raise DeprecatedConfig(msg=stdmsg)