From 686780846adf625194274f231b7d6b39b1e82774 Mon Sep 17 00:00:00 2001 From: Kobi Samoray Date: Tue, 25 Aug 2015 20:35:46 +0300 Subject: [PATCH] Cache lb_plugin in the loadbalancer driver Loadbalancer driver was retrieving the loadbalancer service plugin object on every call, while it could be cached. Change-Id: I7932aa18c73ed01b8c7f5f5aa3e750cbbeee37b8 --- .../plugins/vmware/vshield/edge_loadbalancer_driver.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/vmware_nsx/neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py b/vmware_nsx/neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py index b91920b355..6a62d072d9 100644 --- a/vmware_nsx/neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py +++ b/vmware_nsx/neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py @@ -256,11 +256,14 @@ class EdgeLbDriver(object): # self.vcns is initialized by subclass self.vcns = None self._fw_section_id = None + self._lb_plugin = None self._lb_driver_prop = None def _get_lb_plugin(self): - loaded_plugins = manager.NeutronManager().get_service_plugins() - return loaded_plugins[constants.LOADBALANCER] + if not self._lb_plugin: + loaded_plugins = manager.NeutronManager().get_service_plugins() + self._lb_plugin = loaded_plugins[constants.LOADBALANCER] + return self._lb_plugin @property def _lb_driver(self):