puppetboard/app.py: Protecting against ZeroDivisionErrors on calculations (#244)

This (re-)fixes https://github.com/voxpupuli/puppetboard/issues/220

Corner cases where new installations or empty environments will return
zero resources and zero nodes, this will result in a ZeroDivisionError.
Now if this happens setting the average-resources-per-node to zero.
This commit is contained in:
Corey Hammerton
2016-05-21 16:00:32 -04:00
parent 54fb258b06
commit eb893ffef5

View File

@@ -174,8 +174,11 @@ def index(env):
env))
metrics['num_nodes'] = num_nodes[0]['count']
metrics['num_resources'] = num_resources[0]['count']
metrics['avg_resources_node'] = "{0:10.0f}".format(
(num_resources[0]['count'] / num_nodes[0]['count']))
try:
metrics['avg_resources_node'] = "{0:10.0f}".format(
(num_resources[0]['count'] / num_nodes[0]['count']))
except ZeroDivisionError:
metrics['avg_resources_node'] = 0
nodes = get_or_abort(puppetdb.nodes,
query=query,