From: Oleg Bondarev Date: Tue, 16 Jul 2013 09:02:02 +0000 (+0400) Subject: LBaaS: update DB pool stats received from lbaas agent X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=dab95c486180bdd23ead4c916cbccece052b57fa;p=openstack-build%2Fneutron-build.git LBaaS: update DB pool stats received from lbaas agent Fixes bug 1201401 Change-Id: I84e2fbdb3e6368529c1d829d4e8134e6b0b54311 --- diff --git a/neutron/db/loadbalancer/loadbalancer_db.py b/neutron/db/loadbalancer/loadbalancer_db.py index b207e3f8a..3dae00dfa 100644 --- a/neutron/db/loadbalancer/loadbalancer_db.py +++ b/neutron/db/loadbalancer/loadbalancer_db.py @@ -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) diff --git a/neutron/services/loadbalancer/drivers/haproxy/plugin_driver.py b/neutron/services/loadbalancer/drivers/haproxy/plugin_driver.py index cf27dfdd7..ff804769d 100644 --- a/neutron/services/loadbalancer/drivers/haproxy/plugin_driver.py +++ b/neutron/services/loadbalancer/drivers/haproxy/plugin_driver.py @@ -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): diff --git a/neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py b/neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py index 750441f2c..eb4a6e530 100644 --- a/neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py +++ b/neutron/tests/unit/db/loadbalancer/test_db_loadbalancer.py @@ -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)