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
No related branches found
No related tags found
1 merge request!96Make use of new callback step for external provisioning
......@@ -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."""
nbclient = NetboxClient()
for side in range(0, 2):
if subscription.iptrunk.iptrunk_sides[side].iptrunk_side_node.router_vendor == RouterVendor.NOKIA:
for trunk_side in subscription.iptrunk.iptrunk_sides:
if trunk_side.iptrunk_side_node.router_vendor == RouterVendor.NOKIA:
# Create LAG interfaces
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",
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),
enabled=True,
)
# Attach physical interfaces to LAG
# Update interface description to subscription ID
# 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(
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,
iface_name=interface.interface_name,
description=str(subscription.subscription_id),
)
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,
)
return {
"subscription": subscription,
"label_text": "NextBox integration: Reserved interfaces.",
}
@step("Allocate interfaces in Netbox")
def allocate_interfaces_in_netbox(subscription: IptrunkProvisioning) -> State:
"""Allocate the LAG interfaces in NetBox and attach the lag interfaces to the physical interfaces."""
for side in range(0, 2):
if subscription.iptrunk.iptrunk_sides[side].iptrunk_side_node.router_vendor == RouterVendor.NOKIA:
for interface in subscription.iptrunk.iptrunk_sides[side].iptrunk_side_ae_members:
for trunk_side in subscription.iptrunk.iptrunk_sides:
if trunk_side.iptrunk_side_node.router_vendor == RouterVendor.NOKIA:
for interface in trunk_side.iptrunk_side_ae_members:
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,
)
return {
"subscription": subscription,
"label_text": "NextBox integration: Allocated interfaces.",
}
......
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