summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2017-01-09 20:11:05 +0000
committerGerrit Code Review <review@openstack.org>2017-01-09 20:11:05 +0000
commit3ffb18ea600dd2e8455683e20dea79d871a221e2 (patch)
treee2e65bdc520198c60fe3e81bc5b0efa3fbe84b73
parent978522a8b2980f982b34be94a8eabd5f8631c19d (diff)
parent71075cec205afbaa61836b20f1b2704f2c2e6e3b (diff)
downloadoslo-config-3ffb18ea600dd2e8455683e20dea79d871a221e2.tar.gz
Merge "fix interpolation of None value"
-rw-r--r--oslo_config/cfg.py2
-rw-r--r--oslo_config/tests/test_cfg.py11
2 files changed, 13 insertions, 0 deletions
diff --git a/oslo_config/cfg.py b/oslo_config/cfg.py
index f98f799..1047bf6 100644
--- a/oslo_config/cfg.py
+++ b/oslo_config/cfg.py
@@ -3284,6 +3284,8 @@ class ConfigOpts(collections.Mapping):
if isinstance(value, self.conf.GroupAttr):
raise TemplateSubstitutionError(
'substituting group %s not supported' % key)
+ if value is None:
+ return ''
return value
diff --git a/oslo_config/tests/test_cfg.py b/oslo_config/tests/test_cfg.py
index 8c3fb0c..6a46884 100644
--- a/oslo_config/tests/test_cfg.py
+++ b/oslo_config/tests/test_cfg.py
@@ -3635,6 +3635,17 @@ class SadPathTestCase(BaseTestCase):
def test_conf_file_bad_float(self):
self._do_test_conf_file_bad_value(cfg.FloatOpt)
+ def test_str_sub_none_value(self):
+ self.conf.register_cli_opt(cfg.StrOpt('oo'))
+ self.conf.register_cli_opt(cfg.StrOpt('bar', default='$oo'))
+ self.conf.register_cli_opt(cfg.StrOpt('barbar', default='foo $oo foo'))
+
+ self.conf([])
+
+ self.assertTrue(hasattr(self.conf, 'bar'))
+ self.assertEqual('', self.conf.bar)
+ self.assertEqual("foo foo", self.conf.barbar)
+
def test_str_sub_from_group(self):
self.conf.register_group(cfg.OptGroup('f'))
self.conf.register_cli_opt(cfg.StrOpt('oo', default='blaa'), group='f')