From: Andrew Schoen Date: Mon, 2 Jul 2018 20:58:44 +0000 (-0500) Subject: ceph-volume: show a nice error message when ceph.conf is not loaded X-Git-Tag: v14.0.1~959^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=e42ecb831914b07c7c8559d4556a8aabd2accd0c;p=ceph.git ceph-volume: show a nice error message when ceph.conf is not loaded 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 --- diff --git a/src/ceph-volume/ceph_volume/__init__.py b/src/ceph-volume/ceph_volume/__init__.py index f5500015c355..6550db415572 100644 --- a/src/ceph-volume/ceph_volume/__init__.py +++ b/src/ceph-volume/ceph_volume/__init__.py @@ -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"