summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2014-07-07 20:16:34 +0000
committerGerrit Code Review <review@openstack.org>2014-07-07 20:16:34 +0000
commita5750d58391777da23c7d8dd5553ed9b5ca425b7 (patch)
treef7bf3fb2bd2e7881f1573500d9b046ff1a610204
parent5d68935e0f5a7b8bfb32f52fc08eeb461ba42cc3 (diff)
parent970f2281869128086373c428536d1c633d178c6f (diff)
downloadoslo-config-a5750d58391777da23c7d8dd5553ed9b5ca425b7.tar.gz
Merge "generator: remove the default sanitizer feature"
-rw-r--r--oslo/config/generator.py51
-rw-r--r--tests/test_generator.py28
2 files changed, 2 insertions, 77 deletions
diff --git a/oslo/config/generator.py b/oslo/config/generator.py
index 5e8e9ef..57c70bd 100644
--- a/oslo/config/generator.py
+++ b/oslo/config/generator.py
@@ -101,29 +101,6 @@ facilitate this, options can be supplied with a 'sample_default' attribute::
cfg.StrOpt('base_dir'
default=os.getcwd(),
sample_default='/usr/lib/myapp')
-
-Alternatively, applications can supply their own 'sanitizer' function via
-the 'oslo.config.sanitizer' entry point namespace. For example::
-
- def sanitize_default(self, opt, default_str):
- if opt.dest == 'base_dir' and default_str == os.getcwd():
- return '.'
- else:
- return default_str
-
-the callable is registered as a entry point::
-
- [entry_points]
- oslo.config.opts =
- myapp = myapp.opts:list_opts
-
- oslo.config.sanitizer
- myapp = myapp.opts:sanitize_default
-
-before being passed via the --sanitizer command line option:
-
- $> oslo-config-generator --namespace myapp \
- --sanitizer myapp > myapp.conf
"""
import logging
@@ -145,11 +122,6 @@ _generator_opts = [
cfg.MultiStrOpt('namespace',
help='Option namespace under "oslo.config.opts" in which '
'to query for options.'),
- cfg.StrOpt('sanitizer',
- help='An entry point name under "oslo.config.sanitizer" for a '
- 'sanitize_default(opt, default_str) callable which will '
- 'sanitize the stringified default value of an option '
- 'before outputting it.'),
]
@@ -179,15 +151,13 @@ class _OptFormatter(object):
cfg.MultiStrOpt: 'multi valued',
}
- def __init__(self, output_file=None, sanitize_default=None, wrap_width=70):
+ def __init__(self, output_file=None, wrap_width=70):
"""Construct an OptFormatter object.
:param output_file: a writeable file object
- :param sanitize_default: a sanitize_default(opt, default_str) callable
:param wrap_width: The maximum length of help lines, 0 to not wrap
"""
self.output_file = output_file or sys.stdout
- self.sanitize_default = sanitize_default or (lambda o, d: d)
self.wrap_width = wrap_width
def format(self, opt):
@@ -244,7 +214,6 @@ class _OptFormatter(object):
defaults = [default_str]
for default_str in defaults:
- default_str = self.sanitize_default(opt, default_str)
if default_str.strip() != default_str:
default_str = '"%s"' % default_str
lines.append('#%s = %s\n' % (opt.dest, default_str))
@@ -266,21 +235,6 @@ class _OptFormatter(object):
self.output_file.writelines(l)
-def _get_sanitizer(name):
- """Look up a sanitizer entry point name.
-
- Look up the supplied name under the 'oslo.config.sanitizer' entry point
- namespace and return the callable found there.
-
- :param name: the entry point name, or None
- :returns: the callable found, or None
- """
- if name is None:
- return None
- return stevedore.driver.DriverManager('oslo.config.sanitizer',
- name=name).driver
-
-
def _list_opts(namespaces):
"""List the options available via the given namespaces.
@@ -306,10 +260,7 @@ def generate(conf):
output_file = (open(conf.output_file, 'w')
if conf.output_file else sys.stdout)
- sanitizer = _get_sanitizer(conf.sanitizer)
-
formatter = _OptFormatter(output_file=output_file,
- sanitize_default=sanitizer,
wrap_width=conf.wrap_width)
groups = {'DEFAULT': []}
diff --git a/tests/test_generator.py b/tests/test_generator.py
index a126933..aa274e0 100644
--- a/tests/test_generator.py
+++ b/tests/test_generator.py
@@ -431,18 +431,6 @@ class GeneratorTestCase(base.BaseTestCase):
#multi_opt = 5
#multi_opt = 6
''')),
- ('sanitizer',
- dict(opts=[('test', [(None, [opts['str_opt']])])],
- sanitizer=lambda o, s: s.replace(' ', 'ish'),
- expected='''[DEFAULT]
-
-#
-# From test
-#
-
-# a string (string value)
-#str_opt = fooishbar
-''')),
]
output_file_scenarios = [
@@ -477,9 +465,8 @@ class GeneratorTestCase(base.BaseTestCase):
return self._capture_stream('stdout')
@mock.patch('stevedore.named.NamedExtensionManager')
- @mock.patch('stevedore.driver.DriverManager')
@mock.patch.object(generator, 'LOG')
- def test_generate(self, mock_log, driver_mgr, named_mgr):
+ def test_generate(self, mock_log, named_mgr):
generator.register_cli_opts(self.conf)
namespaces = [i[0] for i in self.opts]
@@ -502,12 +489,6 @@ class GeneratorTestCase(base.BaseTestCase):
mock_eps.append(mock_ep)
named_mgr.return_value = mock_eps
- sanitizer = getattr(self, 'sanitizer', None)
- if sanitizer is not None:
- self.config(sanitizer='test_sanitizer')
- driver = mock.Mock(driver=sanitizer)
- driver_mgr.return_value = driver
-
generator.generate(self.conf)
if self.stdout:
@@ -520,13 +501,6 @@ class GeneratorTestCase(base.BaseTestCase):
names=namespaces,
invoke_on_load=True)
- if sanitizer is not None:
- driver_mgr.assert_called_once_with('oslo.config.sanitizer',
- name='test_sanitizer')
- pass
- else:
- self.assertFalse(driver_mgr.called)
-
log_warning = getattr(self, 'log_warning', None)
if log_warning is not None:
mock_log.warning.assert_called_once_with(*log_warning)