summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--nova/common/cfg.py2
-rw-r--r--nova/tests/test_cfg.py5
2 files changed, 6 insertions, 1 deletions
diff --git a/nova/common/cfg.py b/nova/common/cfg.py
index 54940e7d9..58d17d99f 100644
--- a/nova/common/cfg.py
+++ b/nova/common/cfg.py
@@ -229,7 +229,7 @@ class ArgsAlreadyParsedError(Error):
return ret
-class NoSuchOptError(Error):
+class NoSuchOptError(Error, AttributeError):
"""Raised if an opt which doesn't exist is referenced."""
def __init__(self, opt_name, group=None):
diff --git a/nova/tests/test_cfg.py b/nova/tests/test_cfg.py
index b70b7838a..440b7acc7 100644
--- a/nova/tests/test_cfg.py
+++ b/nova/tests/test_cfg.py
@@ -598,6 +598,11 @@ class SadPathTestCase(BaseTestCase):
self.assertFalse(hasattr(self.conf, 'foo'))
self.assertRaises(NoSuchOptError, getattr, self.conf, 'foo')
+ def test_unknown_attr_is_attr_error(self):
+ self.conf([])
+ self.assertFalse(hasattr(self.conf, 'foo'))
+ self.assertRaises(AttributeError, getattr, self.conf, 'foo')
+
def test_unknown_group_attr(self):
self.conf.register_group(OptGroup('blaa'))