From e31fef129d072610cfb566f0a86c75a322b3d1bb Mon Sep 17 00:00:00 2001 From: Jorge Sasiain <jorge.sasiain@ehu.eus> Date: Fri, 6 Oct 2023 08:19:18 +0000 Subject: [PATCH] NAT-244: only interact with netbox for Nokia devices --- gso/workflows/iptrunk/terminate_iptrunk.py | 25 +++++++++++++++------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/gso/workflows/iptrunk/terminate_iptrunk.py b/gso/workflows/iptrunk/terminate_iptrunk.py index ae142ed1..df309a76 100644 --- a/gso/workflows/iptrunk/terminate_iptrunk.py +++ b/gso/workflows/iptrunk/terminate_iptrunk.py @@ -8,6 +8,7 @@ from orchestrator.workflow import StepList, conditional, done, init, step, workf from orchestrator.workflows.steps import resync, set_status, store_process_subscription, unsync from orchestrator.workflows.utils import wrap_modify_initial_input_form +from gso.products.product_blocks.router import RouterVendor from gso.products.product_types.iptrunk import Iptrunk from gso.services import infoblox, provisioning_proxy from gso.services.netbox_client import NetBoxClient @@ -62,22 +63,30 @@ 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 = subscription.iptrunk.iptrunk_sides[0].iptrunk_side_node.router_fqdn - router_sideB = subscription.iptrunk.iptrunk_sides[1].iptrunk_side_node.router_fqdn + _router_sideA = subscription.iptrunk.iptrunk_sides[0].iptrunk_side_node + _router_sideB = subscription.iptrunk.iptrunk_sides[1].iptrunk_side_node + router_sideA = _router_sideA.router_fqdn + router_sideB = _router_sideB.router_fqdn + router_sideA_vendor = _router_sideA.router_vendor + router_sideB_vendor = _router_sideB.router_vendor 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().clear_interface(router_sideA, sideA_member) - for sideB_member in sideB_members: - NetBoxClient().clear_interface(router_sideB, sideB_member) + if router_sideA_vendor == RouterVendor.NOKIA: + for sideA_member in sideA_members: + NetBoxClient().clear_interface(router_sideA, sideA_member) + if router_sideB_vendor == RouterVendor.NOKIA: + for sideB_member in sideB_members: + NetBoxClient().clear_interface(router_sideB, sideB_member) # Delete LAGs - NetBoxClient().delete_interface(router_sideA, sideA_ae_iface) - NetBoxClient().delete_interface(router_sideB, sideB_ae_iface) + if router_sideA_vendor == RouterVendor.NOKIA: + NetBoxClient().delete_interface(router_sideA, sideA_ae_iface) + if router_sideB_vendor == RouterVendor.NOKIA: + NetBoxClient().delete_interface(router_sideB, sideB_ae_iface) return {"subscription": subscription} -- GitLab