From: Zack Cerza Date: Tue, 1 Aug 2017 18:20:15 +0000 (-0700) Subject: Allow importing the module without side-effects X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=b6358699abb5882706bcf51e0d1d92a7e5843acd;p=cephmetrics.git Allow importing the module without side-effects For testing purposes. Signed-off-by: Zack Cerza --- diff --git a/cephmetrics/__init__.py b/cephmetrics/__init__.py index 324c620..5684e45 100644 --- a/cephmetrics/__init__.py +++ b/cephmetrics/__init__.py @@ -1,8 +1,16 @@ #!/usr/bin/env python +import sys +TEST_MODE = (sys.argv[0].split('/')[-1] == 'py.test') + import os import glob import logging -import collectd + +try: + import collectd +except ImportError: + if not TEST_MODE: + raise from collectors.mon import Mon from collectors.rgw import RGW @@ -72,7 +80,6 @@ class Ceph(object): def write_stats(role_metrics, stats): flat_stats = flatten_dict(stats, '.') - for key_name in flat_stats: attr_name = key_name.split('.')[-1] @@ -160,16 +167,9 @@ def read_callback(): write_stats(ISCSIGateway.metrics, iscsi_stats) - -if __name__ == '__main__': - - # run interactively or maybe test the code - +if TEST_MODE: pass - else: - CEPH = Ceph() - collectd.register_config(configure_callback) collectd.register_read(read_callback)