From 90b771efd7809e3dd0121343432d5241190b4c08 Mon Sep 17 00:00:00 2001 From: varun_lodaya Date: Tue, 1 Mar 2016 17:22:28 -0800 Subject: [PATCH] Fixing loadbalancer nodemgr code This fix changes the way nodemgr code iterates over all pools. Currently its falsely iterating over haproxy.conf, etc files instead of pool_ids Change-Id: I463dd30d3afb00f7eb7dd9440e31c44def83e990 Closes-Bug: #1530200 --- src/nodemgr/loadbalancer_stats.py | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/nodemgr/loadbalancer_stats.py b/src/nodemgr/loadbalancer_stats.py index f4f470c9dc2..436770ec0a5 100644 --- a/src/nodemgr/loadbalancer_stats.py +++ b/src/nodemgr/loadbalancer_stats.py @@ -3,17 +3,19 @@ from haproxy_stats import HaproxyStats from vrouter.loadbalancer.ttypes import \ - UveLoadbalancerTrace, UveLoadbalancer, UveLoadbalancerStats + UveLoadbalancerTrace, UveLoadbalancer, UveLoadbalancerStats LB_BASE_DIR = '/var/lib/contrail/loadbalancer/' class LoadbalancerStats(object): def __init__(self): - self.driver = HaproxyStats() - try: - self.old_pool_uuids = os.listdir(LB_BASE_DIR) - except OSError: - self.old_pool_uuids = [] + self.driver = HaproxyStats() + try: + haproxy_files = os.listdir(LB_BASE_DIR) + self.old_pool_uuids = [f.split('.')[0] for f in haproxy_files \ + if f.endswith('conf')] + except OSError: + self.old_pool_uuids = [] def _uve_get_stats(self, stats): obj_stats = UveLoadbalancerStats() @@ -44,7 +46,9 @@ def _uve_get_member_stats(self, stats): def _send_loadbalancer_uve(self): try: - pool_uuids = os.listdir(LB_BASE_DIR) + haproxy_files = os.listdir(LB_BASE_DIR) + pool_uuids = [f.split('.')[0] for f in haproxy_files \ + if f.endswith('conf')] except OSError: return