From 707555a6b3a422a0954ea1bd188fa1cce949d166 Mon Sep 17 00:00:00 2001 From: jlongstaf Date: Fri, 19 Jan 2018 15:57:46 -0700 Subject: [PATCH] Agent manager raises KeyError exception during load balancer sync Issues: Fixes #1228 Problem: Agent manager can raise KeyError exception when syncing pending load balancers. Analysis: Added try/except block to catch KeyError exception and log and error. Tests: Tempest API tests. --- f5_openstack_agent/lbaasv2/drivers/bigip/agent_manager.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/f5_openstack_agent/lbaasv2/drivers/bigip/agent_manager.py b/f5_openstack_agent/lbaasv2/drivers/bigip/agent_manager.py index adbfca013..fb37e1325 100644 --- a/f5_openstack_agent/lbaasv2/drivers/bigip/agent_manager.py +++ b/f5_openstack_agent/lbaasv2/drivers/bigip/agent_manager.py @@ -647,7 +647,11 @@ def _refresh_pending_services(self): self.service_timeout(lb_id) if not lb_pending: - del self.pending_services[lb_id] + try: + del self.pending_services[lb_id] + except KeyError as error: + LOG.error("LB not found in pending services: {0}". + format(e.message)) # If there are services in the pending cache resync if self.pending_services: