From: Gary Kotton Date: Sun, 3 Mar 2013 14:47:31 +0000 (+0000) Subject: Prevent exception with VIP deletion X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=71331cd2e609ed0d5ef6d277c7aeaa8a9d11ba32;p=openstack-build%2Fneutron-build.git Prevent exception with VIP deletion Fixes bug 1137697 Change-Id: I6de55c674da1202eb9c1e2e11eda2e6de554750c --- diff --git a/quantum/plugins/services/agent_loadbalancer/plugin.py b/quantum/plugins/services/agent_loadbalancer/plugin.py index 3b7b48ec7..0a09255dd 100644 --- a/quantum/plugins/services/agent_loadbalancer/plugin.py +++ b/quantum/plugins/services/agent_loadbalancer/plugin.py @@ -123,10 +123,15 @@ class LoadBalancerCallbacks(object): if not port_id: return - port = self.plugin._core_plugin.get_port( - context, - port_id - ) + try: + port = self.plugin._core_plugin.get_port( + context, + port_id + ) + except q_exc.PortNotFound: + msg = _('Unable to find port %s to plug.') + LOG.debug(msg, port_id) + return port['admin_state_up'] = True port['device_owner'] = 'quantum:' + constants.LOADBALANCER @@ -142,10 +147,16 @@ class LoadBalancerCallbacks(object): if not port_id: return - port = self.plugin._core_plugin.get_port( - context, - port_id - ) + try: + port = self.plugin._core_plugin.get_port( + context, + port_id + ) + except q_exc.PortNotFound: + msg = _('Unable to find port %s to unplug. This can occur when ' + 'the Vip has been deleted first.') + LOG.debug(msg, port_id) + return port['admin_state_up'] = False port['device_owner'] = ''