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
This commit is contained in:
David Shrewsbury 2012-11-12 17:40:00 -05:00
parent 11be8881aa
commit deadd932bf
2 changed files with 6 additions and 3 deletions

View File

@ -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

View File

@ -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