diff --git a/gso/workflows/iptrunk/modify_trunk_interface.py b/gso/workflows/iptrunk/modify_trunk_interface.py index 8b67404d87f4c8efe00c60f9a97a43897894100e..7ed4c0bc110c827aa5e7880f5d723d8a8b28e549 100644 --- a/gso/workflows/iptrunk/modify_trunk_interface.py +++ b/gso/workflows/iptrunk/modify_trunk_interface.py @@ -462,6 +462,22 @@ def allocate_interfaces_in_netbox_side_b(subscription: Iptrunk, previous_ae_memb _netbox_allocate_interfaces(subscription.iptrunk.iptrunk_sides[1], previous_ae_members[1]) +@step("Check Optical POST levels on the trunk endpoint") +def check_ip_trunk_optical_levels_post(subscription: Iptrunk, callback_route: str) -> State: + """Check Optical POST levels on the trunk.""" + extra_vars = {"wfo_ip_trunk_json": json.loads(json_dumps(subscription)), "check": "optical_post"} + + execute_playbook( + playbook_name="iptrunks_checks.yaml", + callback_route=callback_route, + inventory=f"{subscription.iptrunk.iptrunk_sides[0].iptrunk_side_node.router_fqdn}\n" + f"{subscription.iptrunk.iptrunk_sides[1].iptrunk_side_node.router_fqdn}\n", + extra_vars=extra_vars, + ) + + return {"subscription": subscription} + + @workflow( "Modify IP Trunk interface", initial_input_form=wrap_modify_initial_input_form(initial_input_form_generator), @@ -494,9 +510,9 @@ def modify_trunk_interface() -> StepList: >> store_process_subscription(Target.MODIFY) >> unsync >> determine_change_in_capacity + >> capacity_has_changed(lso_interaction(check_ip_trunk_lldp)) >> capacity_has_changed(lso_interaction(check_ip_trunk_optical_levels_pre)) >> capacity_has_changed(lso_interaction(check_ip_trunk_connectivity)) - >> capacity_has_changed(lso_interaction(check_ip_trunk_lldp)) >> capacity_has_changed(lso_interaction(check_ip_trunk_isis)) >> modify_iptrunk_subscription >> side_a_is_nokia(netbox_update_interfaces_side_a) @@ -505,9 +521,9 @@ def modify_trunk_interface() -> StepList: >> lso_interaction(provision_ip_trunk_iface_real) >> side_a_is_nokia(allocate_interfaces_in_netbox_side_a) >> side_b_is_nokia(allocate_interfaces_in_netbox_side_b) - >> capacity_has_changed(lso_interaction(check_ip_trunk_optical_levels_pre)) - >> capacity_has_changed(lso_interaction(check_ip_trunk_connectivity)) >> capacity_has_changed(lso_interaction(check_ip_trunk_lldp)) + >> capacity_has_changed(lso_interaction(check_ip_trunk_optical_levels_post)) + >> capacity_has_changed(lso_interaction(check_ip_trunk_connectivity)) >> capacity_has_changed(lso_interaction(check_ip_trunk_isis)) >> resync >> done