Browse Source

Fix deletion of subnet_id from pd_subnets

In the RouterInfo._process_internal_ports() method when it process
old ports and port belongs to the subnet with CIDR assigned by
Prefix Delegation it will try to remove subnet_id key from the
pd_subnets dict.
However it seems that in some case it may happen that such subnet_id key
is not added to the pd_subnets dict and processing of ports fails.

We shouldn't fail in such case, if there is no subnet_id key in this
dict we should be good as we want to delete it simply. So this patch
changes that to not raise KeyError in such case.

Change-Id: I6e6d890c196716c0ef4bcc2922f1ec4c142a6e79
Closes-Bug: #1892364
(cherry picked from commit 13b894288e)
changes/44/747844/1
Slawek Kaplonski 1 month ago
parent
commit
29b4f9561c
1 changed files with 1 additions and 1 deletions
  1. +1
    -1
      neutron/agent/l3/router_info.py

+ 1
- 1
neutron/agent/l3/router_info.py View File

@@ -624,7 +624,7 @@ class RouterInfo(BaseRouterInfo):
for subnet in p['subnets']:
if ipv6_utils.is_ipv6_pd_enabled(subnet):
self.agent.pd.disable_subnet(self.router_id, subnet['id'])
del self.pd_subnets[subnet['id']]
self.pd_subnets.pop(subnet['id'], None)

for p in new_ports:
self.internal_network_added(p)


Loading…
Cancel
Save