]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
LBaaS: update DB pool stats received from lbaas agent
authorOleg Bondarev <obondarev@mirantis.com>
Tue, 16 Jul 2013 09:02:02 +0000 (13:02 +0400)
committerOleg Bondarev <obondarev@mirantis.com>
Tue, 16 Jul 2013 09:02:02 +0000 (13:02 +0400)
Fixes bug 1201401

Change-Id: I84e2fbdb3e6368529c1d829d4e8134e6b0b54311

neutron/db/loadbalancer/loadbalancer_db.py
neutron/services/loadbalancer/drivers/haproxy/plugin_driver.py
neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py

index b207e3f8a1b79c4f57a92763bcadc45e88ebe7f8..3dae00dfa87f9b719534ad4c18a023566770cb0e 100644 (file)
@@ -459,7 +459,7 @@ class LoadBalancerPluginDb(LoadBalancerPluginBase,
 
         return self._fields(res, fields)
 
-    def _update_pool_stats(self, context, pool_id, data=None):
+    def update_pool_stats(self, context, pool_id, data=None):
         """Update a pool with new stats structure."""
         with context.session.begin(subtransactions=True):
             pool_db = self._get_resource(context, Pool, pool_id)
index cf27dfdd74830e7b3c96296c9892dc12c72d7973..ff804769d43f186780587b929d72f64703378997 100644 (file)
@@ -179,8 +179,7 @@ class LoadBalancerCallbacks(object):
             LOG.debug(msg, port_id)
 
     def update_pool_stats(self, context, pool_id=None, stats=None, host=None):
-        # TODO(markmcclain): add stats collection
-        pass
+        self.plugin.update_pool_stats(context, pool_id, data=stats)
 
 
 class LoadBalancerAgentApi(proxy.RpcProxy):
index 750441f2cba38bed97b8a7dbe19daeada642bd93..eb4a6e530357cec7aaa8c255808ea4d901c283cd 100644 (file)
@@ -931,7 +931,7 @@ class TestLoadBalancer(LoadBalancerPluginDbTestCase):
         with self.pool() as pool:
             pool_id = pool['pool']['id']
             ctx = context.get_admin_context()
-            self.plugin._update_pool_stats(ctx, pool_id)
+            self.plugin.update_pool_stats(ctx, pool_id)
             pool_obj = ctx.session.query(ldb.Pool).filter_by(id=pool_id).one()
             for key in keys:
                 self.assertEqual(pool_obj.stats.__dict__[key], 0)
@@ -948,7 +948,7 @@ class TestLoadBalancer(LoadBalancerPluginDbTestCase):
         with self.pool() as pool:
             pool_id = pool['pool']['id']
             ctx = context.get_admin_context()
-            self.assertRaises(ValueError, self.plugin._update_pool_stats,
+            self.assertRaises(ValueError, self.plugin.update_pool_stats,
                               ctx, pool_id, {k: v})
 
     def test_update_pool_stats(self):
@@ -959,7 +959,7 @@ class TestLoadBalancer(LoadBalancerPluginDbTestCase):
         with self.pool() as pool:
             pool_id = pool['pool']['id']
             ctx = context.get_admin_context()
-            self.plugin._update_pool_stats(ctx, pool_id, stats_data)
+            self.plugin.update_pool_stats(ctx, pool_id, stats_data)
             pool_obj = ctx.session.query(ldb.Pool).filter_by(id=pool_id).one()
             for k, v in stats_data.items():
                 self.assertEqual(pool_obj.stats.__dict__[k], v)