From deadd932bf2b15ebb9c614762f28129728ad1ea9 Mon Sep 17 00:00:00 2001 From: David Shrewsbury Date: Mon, 12 Nov 2012 17:40:00 -0500 Subject: [PATCH] Fix for setting integer stats values in worker. Also extend the TypeError exception from lbstats.py to output the invalid value for easier debugging. Change-Id: Id6475ee754db1031968ff57b503eb0f957b391e6 --- libra/common/lbstats.py | 4 ++-- libra/worker/drivers/haproxy/ubuntu_services.py | 5 ++++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/libra/common/lbstats.py b/libra/common/lbstats.py index 0a8b060c..5313905f 100644 --- a/libra/common/lbstats.py +++ b/libra/common/lbstats.py @@ -28,7 +28,7 @@ class LBStatistics(object): @bytes_out.setter def bytes_out(self, value): if not isinstance(value, int): - raise TypeError("Must be an integer.") + raise TypeError("Must be an integer: '%s'" % value) self.stats['bytes_out'] = value @property @@ -38,5 +38,5 @@ class LBStatistics(object): @bytes_in.setter def bytes_in(self, value): if not isinstance(value, int): - raise TypeError("Must be an integer.") + raise TypeError("Must be an integer: '%s'" % value) self.stats['bytes_in'] = value diff --git a/libra/worker/drivers/haproxy/ubuntu_services.py b/libra/worker/drivers/haproxy/ubuntu_services.py index 54650eb4..55cb70d0 100644 --- a/libra/worker/drivers/haproxy/ubuntu_services.py +++ b/libra/worker/drivers/haproxy/ubuntu_services.py @@ -141,7 +141,10 @@ class UbuntuServices(ServicesBase): reader = csv.DictReader(csv_lines) for row in reader: if row['pxname'] == proxy_name and row['svname'] == service_name: - stats.bytes_out = row['bout'] + if row['bout']: + stats.bytes_out = int(row['bout']) + if row['bin']: + stats.bytes_in = int(row['bin']) break return stats