Skip to content
Snippets Groups Projects
Commit b9cbf3fc authored by JORGE SASIAIN's avatar JORGE SASIAIN Committed by Neda Moeini
Browse files

NAT-244: optimize netbox queries in iptrunk termination

parent 05208f37
No related branches found
No related tags found
1 merge request!94Feature/Netbox integration terminate ip trunk
......@@ -62,25 +62,22 @@ def deprovision_ip_trunk_real(subscription: Iptrunk, process_id: UUIDstr, tt_num
@step("Remove IP Trunk from NetBox")
def remove_iptrunk_from_netbox(subscription: Iptrunk) -> State:
router_sideA = NetBoxClient().get_device_by_name(subscription.iptrunk.iptrunk_sides[0].iptrunk_side_node)
router_sideB = NetBoxClient().get_device_by_name(subscription.iptrunk.iptrunk_sides[1].iptrunk_side_node)
router_sideA = subscription.iptrunk.iptrunk_sides[0].iptrunk_side_node.router_fqdn
router_sideB = subscription.iptrunk.iptrunk_sides[1].iptrunk_side_node.router_fqdn
sideA_members = subscription.iptrunk.iptrunk_sides[0].iptrunk_side_ae_members
sideB_members = subscription.iptrunk.iptrunk_sides[1].iptrunk_side_ae_members
sideA_ae_iface = subscription.iptrunk.iptrunk_sides[0].iptrunk_side_ae_iface
sideB_ae_iface = subscription.iptrunk.iptrunk_sides[1].iptrunk_side_ae_iface
# Remove physical interfaces from LAGs
for sideA_member in sideA_members:
NetBoxClient().unreserve_interface(router_sideA, sideA_member)
NetBoxClient().deallocate_interface(router_sideA, sideA_member)
NetBoxClient().update_interface_description(router_sideA, sideA_member, "")
NetBoxClient().clear_interface(router_sideA, sideA_member)
for sideB_member in sideB_members:
NetBoxClient().unreserve_interface(router_sideB, sideB_member)
NetBoxClient().deallocate_interface(router_sideB, sideB_member)
NetBoxClient().update_interface_description(router_sideB, sideB_member, "")
NetBoxClient().clear_interface(router_sideB, sideB_member)
NetBoxClient().delete_device(sideA_ae_iface)
NetBoxClient().delete_device(sideB_ae_iface)
# Delete LAGs
NetBoxClient().delete_interface(router_sideA, sideA_ae_iface)
NetBoxClient().delete_interface(router_sideB, sideB_ae_iface)
return {"subscription": subscription}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment