Skip to content
Snippets Groups Projects
Verified Commit c9cc1ee9 authored by Karel van Klink's avatar Karel van Klink :smiley_cat:
Browse files

update for loop in create_iptrunk workflow

parent c784fd8f
Branches
Tags
1 merge request!96Make use of new callback step for external provisioning
...@@ -285,49 +285,47 @@ def reserve_interfaces_in_netbox(subscription: IptrunkProvisioning) -> State: ...@@ -285,49 +285,47 @@ def reserve_interfaces_in_netbox(subscription: IptrunkProvisioning) -> State:
"""Create the LAG interfaces in NetBox and attach the lag interfaces to the physical interfaces.""" """Create the LAG interfaces in NetBox and attach the lag interfaces to the physical interfaces."""
nbclient = NetboxClient() nbclient = NetboxClient()
for side in range(0, 2): for trunk_side in subscription.iptrunk.iptrunk_sides:
if subscription.iptrunk.iptrunk_sides[side].iptrunk_side_node.router_vendor == RouterVendor.NOKIA: if trunk_side.iptrunk_side_node.router_vendor == RouterVendor.NOKIA:
# Create LAG interfaces # Create LAG interfaces
lag_interface: Interfaces = nbclient.create_interface( lag_interface: Interfaces = nbclient.create_interface(
iface_name=subscription.iptrunk.iptrunk_sides[side].iptrunk_side_ae_iface, iface_name=trunk_side.iptrunk_side_ae_iface,
type="lag", type="lag",
device_name=subscription.iptrunk.iptrunk_sides[side].iptrunk_side_node.router_fqdn, device_name=trunk_side.iptrunk_side_node.router_fqdn,
description=str(subscription.subscription_id), description=str(subscription.subscription_id),
enabled=True, enabled=True,
) )
# Attach physical interfaces to LAG # Attach physical interfaces to LAG
# Update interface description to subscription ID # Update interface description to subscription ID
# Reserve interfaces # Reserve interfaces
for interface in subscription.iptrunk.iptrunk_sides[side].iptrunk_side_ae_members: for interface in trunk_side.iptrunk_side_ae_members:
nbclient.attach_interface_to_lag( nbclient.attach_interface_to_lag(
device_name=subscription.iptrunk.iptrunk_sides[side].iptrunk_side_node.router_fqdn, device_name=trunk_side.iptrunk_side_node.router_fqdn,
lag_name=lag_interface.name, lag_name=lag_interface.name,
iface_name=interface.interface_name, iface_name=interface.interface_name,
description=str(subscription.subscription_id), description=str(subscription.subscription_id),
) )
nbclient.reserve_interface( nbclient.reserve_interface(
device_name=subscription.iptrunk.iptrunk_sides[side].iptrunk_side_node.router_fqdn, device_name=trunk_side.iptrunk_side_node.router_fqdn,
iface_name=interface.interface_name, iface_name=interface.interface_name,
) )
return { return {
"subscription": subscription, "subscription": subscription,
"label_text": "NextBox integration: Reserved interfaces.",
} }
@step("Allocate interfaces in Netbox") @step("Allocate interfaces in Netbox")
def allocate_interfaces_in_netbox(subscription: IptrunkProvisioning) -> State: def allocate_interfaces_in_netbox(subscription: IptrunkProvisioning) -> State:
"""Allocate the LAG interfaces in NetBox and attach the lag interfaces to the physical interfaces.""" """Allocate the LAG interfaces in NetBox and attach the lag interfaces to the physical interfaces."""
for side in range(0, 2): for trunk_side in subscription.iptrunk.iptrunk_sides:
if subscription.iptrunk.iptrunk_sides[side].iptrunk_side_node.router_vendor == RouterVendor.NOKIA: if trunk_side.iptrunk_side_node.router_vendor == RouterVendor.NOKIA:
for interface in subscription.iptrunk.iptrunk_sides[side].iptrunk_side_ae_members: for interface in trunk_side.iptrunk_side_ae_members:
NetboxClient().allocate_interface( NetboxClient().allocate_interface(
device_name=subscription.iptrunk.iptrunk_sides[side].iptrunk_side_node.router_fqdn, device_name=trunk_side.iptrunk_side_node.router_fqdn,
iface_name=interface.interface_name, iface_name=interface.interface_name,
) )
return { return {
"subscription": subscription, "subscription": subscription,
"label_text": "NextBox integration: Allocated interfaces.",
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment