From e42ecb831914b07c7c8559d4556a8aabd2accd0c Mon Sep 17 00:00:00 2001 From: Andrew Schoen Date: Mon, 2 Jul 2018 15:58:44 -0500 Subject: [PATCH] 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 --- src/ceph-volume/ceph_volume/__init__.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/ceph-volume/ceph_volume/__init__.py b/src/ceph-volume/ceph_volume/__init__.py index f5500015c3551..6550db415572a 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" -- 2.39.5