Don't fail if FIP is not in port forwarding cache during cleaning
Lets use set's discard() method instead of remove() to not raise
an exception when port forwarding or FIP is removed from port forwarding cache,
and FIP is not in cache actually.
Change-Id: Idf91002dc8ad4b16218c6a332a93c744218be73a
Related-Bug: #1896735
(cherry picked from commit e392fb68c5
)
This commit is contained in:
parent
c5b4e8889e
commit
9c1f940d82
|
@ -72,11 +72,11 @@ class RouterFipPortForwardingMapping(object):
|
|||
if not self.managed_port_forwardings.get(port_forwarding.id):
|
||||
continue
|
||||
self.managed_port_forwardings.pop(port_forwarding.id)
|
||||
self.fip_port_forwarding[port_forwarding.floatingip_id].remove(
|
||||
self.fip_port_forwarding[port_forwarding.floatingip_id].discard(
|
||||
port_forwarding.id)
|
||||
if not self.fip_port_forwarding[port_forwarding.floatingip_id]:
|
||||
self.fip_port_forwarding.pop(port_forwarding.floatingip_id)
|
||||
self.router_fip_mapping[port_forwarding.router_id].remove(
|
||||
self.router_fip_mapping[port_forwarding.router_id].discard(
|
||||
port_forwarding.floatingip_id)
|
||||
if not self.router_fip_mapping[port_forwarding.router_id]:
|
||||
del self.router_fip_mapping[port_forwarding.router_id]
|
||||
|
@ -88,7 +88,7 @@ class RouterFipPortForwardingMapping(object):
|
|||
|
||||
@lockutils.synchronized('port-forwarding-cache')
|
||||
def clear_by_fip(self, fip_id, router_id):
|
||||
self.router_fip_mapping[router_id].remove(fip_id)
|
||||
self.router_fip_mapping[router_id].discard(fip_id)
|
||||
if len(self.router_fip_mapping[router_id]) == 0:
|
||||
del self.router_fip_mapping[router_id]
|
||||
for pf_id in self.fip_port_forwarding[fip_id]:
|
||||
|
|
Loading…
Reference in New Issue