diff options
author | Jenkins <jenkins@review.openstack.org> | 2017-07-19 06:13:29 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2017-07-19 06:13:29 +0000 |
commit | 11c39ac065c36259af6ff688abe3383fab7b2f1a (patch) | |
tree | 7f4d0813f0b43b795971a7bc350ddfca347aa62e /oslo_config | |
parent | 8e9761755d808661e3a98137e62cda9e14ddcd66 (diff) | |
parent | 204faeb1d395652389931e5e6ce9ea9c33702cc8 (diff) | |
download | oslo-config-11c39ac065c36259af6ff688abe3383fab7b2f1a.tar.gz |
Merge "fix an issue with looking up deprecated option names in code"4.10.0
Diffstat (limited to 'oslo_config')
-rw-r--r-- | oslo_config/cfg.py | 2 | ||||
-rw-r--r-- | oslo_config/tests/test_cfg.py | 16 |
2 files changed, 18 insertions, 0 deletions
diff --git a/oslo_config/cfg.py b/oslo_config/cfg.py index 61e708c..e5f2b91 100644 --- a/oslo_config/cfg.py +++ b/oslo_config/cfg.py @@ -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) diff --git a/oslo_config/tests/test_cfg.py b/oslo_config/tests/test_cfg.py index 26093e3..9c3767b 100644 --- a/oslo_config/tests/test_cfg.py +++ b/oslo_config/tests/test_cfg.py @@ -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)) |