Skip to content

Commit e84e01c

Browse files
Milan FencikMilan Fencik
authored andcommitted
add check if segment is dynamic before deleting
1 parent fc2988d commit e84e01c

File tree

3 files changed

+11
-2
lines changed

3 files changed

+11
-2
lines changed

python/neutron-understack/neutron_understack/neutron_understack_mech.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -268,7 +268,9 @@ def _tenant_network_port_cleanup(self, context: PortContext):
268268
original_binding, self.nb
269269
)
270270

271-
if not utils.ports_bound_to_segment(segment_id):
271+
if not utils.ports_bound_to_segment(
272+
segment_id
273+
) and utils.is_dynamic_network_segment(segment_id):
272274
context.release_dynamic_segment(segment_id)
273275
self.nb.delete_vlan(segment_id)
274276

python/neutron-understack/neutron_understack/trunk.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,9 @@ def _delete_binding_level(self, port_id: str, host: str) -> PortBindingLevel:
250250

251251
def _delete_unused_segment(self, segment_id: str) -> NetworkSegment:
252252
network_segment = utils.network_segment_by_id(segment_id)
253-
if not utils.ports_bound_to_segment(segment_id):
253+
if not utils.ports_bound_to_segment(
254+
segment_id
255+
) and utils.is_dynamic_network_segment(segment_id):
254256
utils.release_dynamic_segment(segment_id)
255257
self.nb.delete_vlan(vlan_id=segment_id)
256258
return network_segment

python/neutron-understack/neutron_understack/utils.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,11 @@ def release_dynamic_segment(segment_id: str) -> None:
105105
core_plugin.type_manager.release_dynamic_segment(context, segment_id)
106106

107107

108+
def is_dynamic_network_segment(segment_id: str) -> bool:
109+
segment = network_segment_by_id(segment_id)
110+
return segment.is_dynamic
111+
112+
108113
def fetch_connected_interface_uuid(binding_profile: dict, nautobot: Nautobot) -> str:
109114
"""Fetches the connected interface UUID from the port's binding profile.
110115

0 commit comments

Comments
 (0)