diff --git a/monitoring-for-openstack/oschecks/ceilometer.py b/monitoring-for-openstack/oschecks/ceilometer.py index 50002d2..18ace02 100644 --- a/monitoring-for-openstack/oschecks/ceilometer.py +++ b/monitoring-for-openstack/oschecks/ceilometer.py @@ -35,11 +35,12 @@ def _check_ceilometer_api(): def meters_list(): try: - result = client.meters.list() + return client.meters.list() except exceptions.Gone as ex: msg = json.loads(ex.response.content) utils.warning(re.sub(r'\s\s*', ' ', msg['error_message'])) - return result + except Exception as ex: + utils.critical(str(ex)) elapsed, meters = utils.timeit(meters_list) if not meters: diff --git a/monitoring-for-openstack/oschecks/cinder.py b/monitoring-for-openstack/oschecks/cinder.py index 19d86ee..0df01ca 100644 --- a/monitoring-for-openstack/oschecks/cinder.py +++ b/monitoring-for-openstack/oschecks/cinder.py @@ -39,7 +39,10 @@ def _check_cinder_api(): options, args, client = cinder.setup() def quotas_list(): - return client.quotas.get(options.os_tenant_name) + try: + return client.quotas.get(options.os_tenant_name) + except Exception as ex: + utils.critical(str(ex)) elapsed, quotas = utils.timeit(quotas_list) if not quotas: diff --git a/monitoring-for-openstack/oschecks/glance.py b/monitoring-for-openstack/oschecks/glance.py index a7f84eb..67f985f 100644 --- a/monitoring-for-openstack/oschecks/glance.py +++ b/monitoring-for-openstack/oschecks/glance.py @@ -30,7 +30,10 @@ def _check_glance_api(): options, args, client = glance.setup() def images_list(): - return list(client.images.list()) + try: + return list(client.images.list()) + except Exception as ex: + utils.critical(str(ex)) elapsed, images = utils.timeit(images_list) if not images: diff --git a/monitoring-for-openstack/oschecks/keystone.py b/monitoring-for-openstack/oschecks/keystone.py index 7ea3db7..41e804a 100644 --- a/monitoring-for-openstack/oschecks/keystone.py +++ b/monitoring-for-openstack/oschecks/keystone.py @@ -25,7 +25,10 @@ def _check_keystone_api(): keystone = utils.Keystone() def check_token(): - return keystone.run() + try: + return keystone.run() + except Exception as ex: + utils.critical(str(ex)) elapsed, result = utils.timeit(check_token) rc, out = result diff --git a/monitoring-for-openstack/oschecks/neutron.py b/monitoring-for-openstack/oschecks/neutron.py index c347968..a910840 100644 --- a/monitoring-for-openstack/oschecks/neutron.py +++ b/monitoring-for-openstack/oschecks/neutron.py @@ -39,7 +39,13 @@ def _check_neutron_api(): help='Critical timeout for neutron APIs calls') options, args, client = neutron.setup() - elapsed, networks = utils.timeit(client.list_networks) + def network_list(): + try: + return client.list_networks() + except Exception as ex: + utils.critical(str(ex)) + + elapsed, networks = utils.timeit(network_list) if not networks or len(networks.get('networks', [])) <= 0: utils.critical("Unable to contact neutron API.") diff --git a/monitoring-for-openstack/oschecks/nova.py b/monitoring-for-openstack/oschecks/nova.py index f86b037..05d679d 100644 --- a/monitoring-for-openstack/oschecks/nova.py +++ b/monitoring-for-openstack/oschecks/nova.py @@ -40,7 +40,10 @@ def _check_nova_api(): options, args, client = nova.setup() def flavors_list(): - return list(client.flavors.list()) + try: + return list(client.flavors.list()) + except Exception as ex: + utils.critical(str(ex)) elapsed, flavors = utils.timeit(flavors_list) if not flavors: