]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
ceph-volume: show a nice error message when ceph.conf is not loaded
authorAndrew Schoen <aschoen@redhat.com>
Mon, 2 Jul 2018 20:58:44 +0000 (15:58 -0500)
committerAndrew Schoen <aschoen@redhat.com>
Mon, 2 Jul 2018 21:06:22 +0000 (16:06 -0500)
If the ceph configuration file is not loaded correctly and then values
from it are used then an undescript error message is shown, e.g.

AttributeError: 'property' object has no attribute 'get'

With this change that same error condition shows the message:

RuntimeError: No valid ceph configuration file was loaded.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
src/ceph-volume/ceph_volume/__init__.py

index f5500015c35518dccc832b7c215f3b30d7faef0d..6550db415572af84ba9d61de72a29043a4a8fc9c 100644 (file)
@@ -1,5 +1,16 @@
 from collections import namedtuple
 
+
+class UnloadedConfig(object):
+    """
+    This class is used as the default value for conf.ceph so that if
+    a configuration file is not successfully loaded then it will give
+    a nice error message when values from the config are used.
+    """
+    def __getattr__(self, *a):
+        raise RuntimeError("No valid ceph configuration file was loaded.")
+
 conf = namedtuple('config', ['ceph', 'cluster', 'verbosity', 'path', 'log_path'])
+conf.ceph = UnloadedConfig()
 
 __version__ = "1.0.0"