Merge "fix an issue with looking up deprecated option names in code"
This commit is contained in:
commit
11c39ac065
|
@ -3068,6 +3068,8 @@ class ConfigOpts(collections.Mapping):
|
|||
real_opt_name = None
|
||||
real_group_name = None
|
||||
group_name = group or 'DEFAULT'
|
||||
if hasattr(group_name, 'name'):
|
||||
group_name = group_name.name
|
||||
dep_group = self._deprecated_opts.get(group_name)
|
||||
if dep_group:
|
||||
real_opt_dict = dep_group.get(opt_name)
|
||||
|
|
|
@ -2527,6 +2527,22 @@ class OptNameSeparatorTestCase(BaseTestCase):
|
|||
self.assertNotIn(self.opt_dest, self.conf)
|
||||
self.assertNotIn(self.broken_opt_dest, self.conf)
|
||||
|
||||
def test_deprecated_name_alternate_group(self):
|
||||
self.conf.register_opt(
|
||||
cfg.StrOpt('foobar',
|
||||
deprecated_name=self.opt_name,
|
||||
deprecated_group='testing'),
|
||||
group=cfg.OptGroup('testing'),
|
||||
)
|
||||
|
||||
self.assertTrue(hasattr(self.conf.testing, 'foobar'))
|
||||
# TODO(mtreinish): Add a check on the log message
|
||||
self.assertTrue(hasattr(self.conf.testing, self.opt_dest))
|
||||
self.assertFalse(hasattr(self.conf.testing, self.broken_opt_dest))
|
||||
self.assertIn('foobar', self.conf.testing)
|
||||
self.assertNotIn(self.opt_dest, self.conf.testing)
|
||||
self.assertNotIn(self.broken_opt_dest, self.conf.testing)
|
||||
|
||||
def test_deprecated_name_cli(self):
|
||||
self.conf.register_cli_opt(cfg.BoolOpt('foobar',
|
||||
deprecated_name=self.opt_name))
|
||||
|
|
Loading…
Reference in New Issue