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

rename provisioning proxy to LSO client

parent e97c4f49
No related branches found
No related tags found
No related merge requests found
Showing
with 95 additions and 95 deletions
......@@ -15,6 +15,6 @@ Submodules
crm
infoblox
librenms_client
lso_client
netbox_client
provisioning_proxy
subscriptions
``gso.services.lso_client``
===========================
.. automodule:: gso.services.lso_client
:members:
:show-inheritance:
``gso.services.provisioning_proxy``
===================================
.. automodule:: gso.services.provisioning_proxy
:members:
:show-inheritance:
"""The Provisioning Proxy service, which interacts with :term:`LSO` running externally.
"""The :term:`LSO` client, which interacts with :term:`LSO` running externally.
:term:`LSO` is responsible for executing Ansible playbooks, that deploy subscriptions.
"""
......@@ -33,7 +33,7 @@ def _send_request(parameters: dict, callback_route: str) -> None:
:rtype: None
"""
oss = settings.load_oss_params()
pp_params = oss.PROVISIONING_PROXY
params = oss.PROVISIONING_PROXY
# Build up a callback URL of the Provisioning Proxy to return its results to.
callback_url = f"{oss.GENERAL.public_hostname}{callback_route}"
......@@ -41,7 +41,7 @@ def _send_request(parameters: dict, callback_route: str) -> None:
logger.debug(debug_msg)
parameters.update({"callback": callback_url})
url = f"{pp_params.scheme}://{pp_params.api_base}/api/playbook"
url = f"{params.scheme}://{params.api_base}/api/playbook"
request = requests.post(url, json=parameters, timeout=10)
request.raise_for_status()
......@@ -107,7 +107,7 @@ def execute_playbook(
@step("Evaluate provisioning proxy result")
def _evaluate_pp_results(callback_result: dict) -> State:
def _evaluate_results(callback_result: dict) -> State:
if callback_result["return_code"] != 0:
raise ProcessFailureError(message="Provisioning proxy failure", details=callback_result)
......@@ -115,12 +115,12 @@ def _evaluate_pp_results(callback_result: dict) -> State:
@step("Ignore provisioning proxy result")
def _ignore_pp_results(callback_result: dict) -> State:
def _ignore_results(callback_result: dict) -> State:
return {"callback_result": callback_result}
@inputstep("Confirm provisioning proxy results", assignee=Assignee("SYSTEM"))
def _show_pp_results(state: State) -> FormGenerator:
def _show_results(state: State) -> FormGenerator:
if "callback_result" not in state:
return state
......@@ -136,7 +136,7 @@ def _show_pp_results(state: State) -> FormGenerator:
return state
def pp_interaction(provisioning_step: Step) -> StepList:
def lso_interaction(provisioning_step: Step) -> StepList:
"""Interact with the provisioning proxy :term:`LSO` using a callback step.
An asynchronous interaction with the provisioning proxy. This is an external system that executes Ansible playbooks
......@@ -153,17 +153,17 @@ def pp_interaction(provisioning_step: Step) -> StepList:
>> callback_step(
name=provisioning_step.name,
action_step=provisioning_step,
validate_step=_evaluate_pp_results,
validate_step=_evaluate_results,
)
>> _show_pp_results
>> _show_results
)
def indifferent_pp_interaction(provisioning_step: Step) -> StepList:
def indifferent_lso_interaction(provisioning_step: Step) -> StepList:
"""Interact with the provisioning proxy :term:`LSO` using a callback step.
This interaction is identical from the one described in ``pp_interaction()``, with one functional difference.
Whereas the ``pp_interaction()`` will make the workflow step fail on unsuccessful interaction, this step will not.
This interaction is identical from the one described in ``lso_interaction()``, with one functional difference.
Whereas the ``lso_interaction()`` will make the workflow step fail on unsuccessful interaction, this step will not.
It is therefore indifferent about the outcome of the Ansible playbook that is executed.
.. warning::
......@@ -180,7 +180,7 @@ def indifferent_pp_interaction(provisioning_step: Step) -> StepList:
>> callback_step(
name=provisioning_step.name,
action_step=provisioning_step,
validate_step=_ignore_pp_results,
validate_step=_ignore_results,
)
>> _show_pp_results
>> _show_results
)
......@@ -8,7 +8,7 @@ from orchestrator.types import State, UUIDstr
from orchestrator.utils.json import json_dumps
from gso.products.product_types.iptrunk import Iptrunk
from gso.services.provisioning_proxy import execute_playbook
from gso.services.lso_client import execute_playbook
from gso.settings import load_oss_params
......
......@@ -25,9 +25,9 @@ from gso.products.product_blocks.iptrunk import (
from gso.products.product_types.iptrunk import IptrunkInactive, IptrunkProvisioning
from gso.products.product_types.router import Router
from gso.services import infoblox, subscriptions
from gso.services.lso_client import execute_playbook, lso_interaction
from gso.services.netbox_client import NetboxClient
from gso.services.partners import get_partner_by_name
from gso.services.provisioning_proxy import execute_playbook, pp_interaction
from gso.settings import load_oss_params
from gso.utils.helpers import (
LAGMember,
......@@ -403,7 +403,7 @@ def check_ip_trunk_isis(
@step("Register DNS records for both sides of the trunk")
def register_dns_records(subscription: IptrunkInactive) -> State:
"""Register :term: `DNS` records for both sides of the newly created IPtrunk."""
"""Register :term:`DNS` records for both sides of the newly created IPtrunk."""
for index, side in enumerate(subscription.iptrunk.iptrunk_sides):
fqdn = f"{side.iptrunk_side_ae_iface}-0.{side.iptrunk_side_node.router_fqdn}"
if not (subscription.iptrunk.iptrunk_ipv4_network and subscription.iptrunk.iptrunk_ipv6_network):
......@@ -522,12 +522,12 @@ def create_iptrunk() -> StepList:
>> initialize_subscription
>> get_info_from_ipam
>> reserve_interfaces_in_netbox
>> pp_interaction(provision_ip_trunk_iface_dry)
>> pp_interaction(provision_ip_trunk_iface_real)
>> pp_interaction(check_ip_trunk_connectivity)
>> pp_interaction(provision_ip_trunk_isis_iface_dry)
>> pp_interaction(provision_ip_trunk_isis_iface_real)
>> pp_interaction(check_ip_trunk_isis)
>> lso_interaction(provision_ip_trunk_iface_dry)
>> lso_interaction(provision_ip_trunk_iface_real)
>> lso_interaction(check_ip_trunk_connectivity)
>> lso_interaction(provision_ip_trunk_isis_iface_dry)
>> lso_interaction(provision_ip_trunk_isis_iface_real)
>> lso_interaction(check_ip_trunk_isis)
>> register_dns_records
>> side_a_is_nokia(netbox_allocate_side_a_interfaces)
>> side_b_is_nokia(netbox_allocate_side_b_interfaces)
......
......@@ -10,7 +10,7 @@ from orchestrator.workflows.utils import wrap_modify_initial_input_form
from pydantic import validator
from gso.products.product_types.iptrunk import Iptrunk
from gso.services.provisioning_proxy import execute_playbook, pp_interaction
from gso.services.lso_client import execute_playbook, lso_interaction
from gso.utils.helpers import validate_tt_number
......@@ -88,8 +88,8 @@ def deploy_twamp() -> StepList:
init
>> store_process_subscription(Target.MODIFY)
>> unsync
>> pp_interaction(deploy_twamp_dry)
>> pp_interaction(deploy_twamp_real)
>> lso_interaction(deploy_twamp_dry)
>> lso_interaction(deploy_twamp_real)
>> resync
>> done
)
......@@ -29,8 +29,8 @@ from gso.products.product_types.iptrunk import Iptrunk
from gso.products.product_types.router import Router
from gso.services import infoblox
from gso.services.infoblox import DeletionError
from gso.services.lso_client import execute_playbook, lso_interaction
from gso.services.netbox_client import NetboxClient
from gso.services.provisioning_proxy import execute_playbook, pp_interaction
from gso.services.subscriptions import get_active_router_subscriptions
from gso.utils.helpers import (
LAGMember,
......@@ -656,17 +656,17 @@ def migrate_iptrunk() -> StepList:
>> unsync
>> new_side_is_nokia(netbox_reserve_interfaces)
>> calculate_old_side_data
>> pp_interaction(set_isis_to_max)
>> pp_interaction(disable_old_config_dry)
>> pp_interaction(disable_old_config_real)
>> pp_interaction(deploy_new_config_dry)
>> pp_interaction(deploy_new_config_real)
>> lso_interaction(set_isis_to_max)
>> lso_interaction(disable_old_config_dry)
>> lso_interaction(disable_old_config_real)
>> lso_interaction(deploy_new_config_dry)
>> lso_interaction(deploy_new_config_real)
>> confirm_continue_move_fiber
>> pp_interaction(deploy_new_isis)
>> lso_interaction(deploy_new_isis)
>> should_restore_isis_metric(confirm_continue_restore_isis)
>> should_restore_isis_metric(pp_interaction(restore_isis_metric))
>> pp_interaction(delete_old_config_dry)
>> pp_interaction(delete_old_config_real)
>> should_restore_isis_metric(lso_interaction(restore_isis_metric))
>> lso_interaction(delete_old_config_dry)
>> lso_interaction(delete_old_config_real)
>> update_ipam
>> update_subscription_model
>> old_side_is_nokia(netbox_remove_old_interfaces)
......
......@@ -11,7 +11,7 @@ from orchestrator.workflows.steps import resync, store_process_subscription, uns
from orchestrator.workflows.utils import wrap_modify_initial_input_form
from gso.products.product_types.iptrunk import Iptrunk
from gso.services.provisioning_proxy import execute_playbook, pp_interaction
from gso.services.lso_client import execute_playbook, lso_interaction
def initial_input_form_generator(subscription_id: UUIDstr) -> FormGenerator:
......@@ -108,8 +108,8 @@ def modify_isis_metric() -> StepList:
>> store_process_subscription(Target.MODIFY)
>> unsync
>> modify_iptrunk_subscription
>> pp_interaction(provision_ip_trunk_isis_iface_dry)
>> pp_interaction(provision_ip_trunk_isis_iface_real)
>> lso_interaction(provision_ip_trunk_isis_iface_dry)
>> lso_interaction(provision_ip_trunk_isis_iface_real)
>> resync
>> done
)
......@@ -22,8 +22,8 @@ from gso.products.product_blocks.iptrunk import (
PhyPortCapacity,
)
from gso.products.product_types.iptrunk import Iptrunk
from gso.services.lso_client import execute_playbook, lso_interaction
from gso.services.netbox_client import NetboxClient
from gso.services.provisioning_proxy import execute_playbook, pp_interaction
from gso.utils.helpers import (
LAGMember,
available_interfaces_choices,
......@@ -401,8 +401,8 @@ def modify_trunk_interface() -> StepList:
>> modify_iptrunk_subscription
>> side_a_is_nokia(netbox_update_interfaces_side_a)
>> side_b_is_nokia(netbox_update_interfaces_side_b)
>> pp_interaction(provision_ip_trunk_iface_dry)
>> pp_interaction(provision_ip_trunk_iface_real)
>> lso_interaction(provision_ip_trunk_iface_dry)
>> 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)
>> resync
......
......@@ -21,8 +21,8 @@ from pydantic import validator
from gso.products.product_blocks.iptrunk import IptrunkSideBlock
from gso.products.product_types.iptrunk import Iptrunk
from gso.services import infoblox
from gso.services.lso_client import execute_playbook, lso_interaction
from gso.services.netbox_client import NetboxClient
from gso.services.provisioning_proxy import execute_playbook, pp_interaction
from gso.utils.helpers import get_router_vendor, validate_tt_number
from gso.utils.shared_enums import Vendor
from gso.utils.workflow_steps import set_isis_to_max
......@@ -171,9 +171,9 @@ def terminate_iptrunk() -> StepList:
config_steps = (
init
>> pp_interaction(set_isis_to_max)
>> pp_interaction(deprovision_ip_trunk_dry)
>> pp_interaction(deprovision_ip_trunk_real)
>> lso_interaction(set_isis_to_max)
>> lso_interaction(deprovision_ip_trunk_dry)
>> lso_interaction(deprovision_ip_trunk_real)
)
ipam_steps = init >> deprovision_ip_trunk_ipv4 >> deprovision_ip_trunk_ipv6
......
......@@ -17,9 +17,9 @@ from gso.products.product_blocks.router import RouterRole
from gso.products.product_types.router import RouterInactive, RouterProvisioning
from gso.products.product_types.site import Site
from gso.services import infoblox, subscriptions
from gso.services.lso_client import lso_interaction
from gso.services.netbox_client import NetboxClient
from gso.services.partners import get_partner_by_name
from gso.services.provisioning_proxy import pp_interaction
from gso.settings import load_oss_params
from gso.utils.helpers import generate_fqdn, iso_from_ipv4
from gso.utils.shared_enums import PortNumber, Vendor
......@@ -265,15 +265,15 @@ def create_router() -> StepList:
>> store_process_subscription(Target.CREATE)
>> initialize_subscription
>> ipam_allocate_loopback
>> pp_interaction(deploy_base_config_dry)
>> pp_interaction(deploy_base_config_real)
>> lso_interaction(deploy_base_config_dry)
>> lso_interaction(deploy_base_config_real)
>> verify_ipam_loopback
>> prompt_reboot_router
>> prompt_console_login
>> prompt_insert_in_ims
>> prompt_insert_in_radius
>> router_is_nokia(create_netbox_device)
>> pp_interaction(run_checks_after_base_config)
>> lso_interaction(run_checks_after_base_config)
>> set_status(SubscriptionLifecycle.PROVISIONING)
>> prompt_start_new_checklist
>> resync
......
......@@ -9,7 +9,7 @@ from orchestrator.workflows.steps import resync, store_process_subscription, uns
from orchestrator.workflows.utils import wrap_modify_initial_input_form
from gso.products.product_types.router import Router
from gso.services.provisioning_proxy import pp_interaction
from gso.services.lso_client import lso_interaction
from gso.utils.workflow_steps import deploy_base_config_dry, deploy_base_config_real
......@@ -40,8 +40,8 @@ def redeploy_base_config() -> StepList:
init
>> store_process_subscription(Target.MODIFY)
>> unsync
>> pp_interaction(deploy_base_config_dry)
>> pp_interaction(deploy_base_config_real)
>> lso_interaction(deploy_base_config_dry)
>> lso_interaction(deploy_base_config_real)
>> resync
>> done
)
......@@ -20,8 +20,8 @@ from orchestrator.workflows.utils import wrap_modify_initial_input_form
from gso.products.product_types.router import Router
from gso.services import infoblox
from gso.services.lso_client import execute_playbook, lso_interaction
from gso.services.netbox_client import NetboxClient
from gso.services.provisioning_proxy import execute_playbook, pp_interaction
from gso.utils.shared_enums import Vendor
logger = logging.getLogger(__name__)
......@@ -123,8 +123,8 @@ def terminate_router() -> StepList:
>> store_process_subscription(Target.TERMINATE)
>> unsync
>> run_ipam_steps(deprovision_loopback_ips)
>> run_config_steps(pp_interaction(remove_config_from_router_dry))
>> run_config_steps(pp_interaction(remove_config_from_router_real))
>> run_config_steps(lso_interaction(remove_config_from_router_dry))
>> run_config_steps(lso_interaction(remove_config_from_router_real))
>> router_is_nokia(remove_device_from_netbox)
>> set_status(SubscriptionLifecycle.TERMINATED)
>> resync
......
......@@ -14,8 +14,8 @@ from pydantic import root_validator
from gso.products.product_blocks.router import RouterRole
from gso.products.product_types.router import Router
from gso.services import librenms_client, provisioning_proxy, subscriptions
from gso.services.provisioning_proxy import pp_interaction
from gso.services import librenms_client, lso_client, subscriptions
from gso.services.lso_client import lso_interaction
from gso.services.subscriptions import get_active_trunks_that_terminate_on_router
from gso.utils.helpers import SNMPVersion
......@@ -86,7 +86,7 @@ def add_p_to_mesh_dry(
"verb": "add_p_to_pe",
}
provisioning_proxy.execute_playbook(
lso_client.execute_playbook(
playbook_name="update_ibgp_mesh.yaml",
callback_route=callback_route,
inventory=_generate_pe_inventory(pe_router_list),
......@@ -106,7 +106,7 @@ def add_p_to_mesh_real(
"verb": "add_p_to_pe",
}
provisioning_proxy.execute_playbook(
lso_client.execute_playbook(
playbook_name="update_ibgp_mesh.yaml",
callback_route=callback_route,
inventory=_generate_pe_inventory(pe_router_list),
......@@ -134,7 +134,7 @@ def add_all_pe_to_p_dry(
"verb": "add_pe_to_p",
}
provisioning_proxy.execute_playbook(
lso_client.execute_playbook(
playbook_name="update_ibgp_mesh.yaml",
callback_route=callback_route,
inventory=subscription["router"]["router_fqdn"],
......@@ -162,7 +162,7 @@ def add_all_pe_to_p_real(
"verb": "add_pe_to_p",
}
provisioning_proxy.execute_playbook(
lso_client.execute_playbook(
playbook_name="update_ibgp_mesh.yaml",
callback_route=callback_route,
inventory=subscription["router"]["router_fqdn"],
......@@ -173,7 +173,7 @@ def add_all_pe_to_p_real(
@step("Verify iBGP session health")
def check_ibgp_session(subscription: Router, callback_route: str) -> None:
"""Run a playbook using the provisioning proxy, to check the health of the new iBGP session."""
provisioning_proxy.execute_playbook(
lso_client.execute_playbook(
playbook_name="check_ibgp.yaml",
callback_route=callback_route,
inventory=subscription.router.router_fqdn,
......@@ -247,11 +247,11 @@ def update_ibgp_mesh() -> StepList:
>> store_process_subscription(Target.MODIFY)
>> unsync
>> calculate_pe_router_list
>> pp_interaction(add_p_to_mesh_dry)
>> pp_interaction(add_p_to_mesh_real)
>> pp_interaction(add_all_pe_to_p_dry)
>> pp_interaction(add_all_pe_to_p_real)
>> pp_interaction(check_ibgp_session)
>> lso_interaction(add_p_to_mesh_dry)
>> lso_interaction(add_p_to_mesh_real)
>> lso_interaction(add_all_pe_to_p_dry)
>> lso_interaction(add_all_pe_to_p_real)
>> lso_interaction(check_ibgp_session)
>> add_device_to_librenms
>> prompt_insert_in_radius
>> prompt_radius_login
......
......@@ -318,8 +318,8 @@ def user_accept_and_assert_suspended(process_stat, step_log, extra_data=None):
return result, step_log
def assert_pp_interaction_success(result: Process, process_stat: ProcessStat, step_log: list):
"""Assert a successful pp interaction in a workflow.
def assert_lso_interaction_success(result: Process, process_stat: ProcessStat, step_log: list):
"""Assert a successful LSO interaction in a workflow.
First, the workflow is awaiting callback. It is resumed but a result from LSO, after which the user submits the
confirmation input step. Two assertions are made: the workflow is awaiting callback at first, and suspended when
......@@ -332,8 +332,8 @@ def assert_pp_interaction_success(result: Process, process_stat: ProcessStat, st
return resume_workflow(process_stat, step_log, input_data=USER_CONFIRM_EMPTY_FORM)
def assert_pp_interaction_failure(result: Process, process_stat: ProcessStat, step_log: list):
"""Assert a failed pp interaction in a workflow.
def assert_lso_interaction_failure(result: Process, process_stat: ProcessStat, step_log: list):
"""Assert a failed LSO interaction in a workflow.
First, the workflow is awaiting callback. It is resumed by a "failure" result from LSO, after which the workflow is
in a failed state. This failed state is also returned. Two assertions are made: the workflow is awaiting callback at
......
......@@ -12,8 +12,8 @@ from test import USER_CONFIRM_EMPTY_FORM
from test.services.conftest import MockedNetboxClient
from test.workflows import (
assert_complete,
assert_pp_interaction_failure,
assert_pp_interaction_success,
assert_lso_interaction_failure,
assert_lso_interaction_success,
assert_suspended,
extract_state,
resume_workflow,
......@@ -121,7 +121,7 @@ def test_successful_iptrunk_creation_with_standard_lso_result(
result, process_stat, step_log = run_workflow("create_iptrunk", initial_site_data)
for _ in range(6):
result, step_log = assert_pp_interaction_success(result, process_stat, step_log)
result, step_log = assert_lso_interaction_success(result, process_stat, step_log)
assert_suspended(result)
result, step_log = resume_workflow(process_stat, step_log, input_data=USER_CONFIRM_EMPTY_FORM)
......@@ -167,9 +167,9 @@ def test_iptrunk_creation_fails_when_lso_return_code_is_one(
initial_site_data = [{"product": product_id}, *input_form_wizard_data]
result, process_stat, step_log = run_workflow("create_iptrunk", initial_site_data)
result, step_log = assert_pp_interaction_success(result, process_stat, step_log)
result, step_log = assert_lso_interaction_success(result, process_stat, step_log)
assert_pp_interaction_failure(result, process_stat, step_log)
assert_lso_interaction_failure(result, process_stat, step_log)
assert mock_execute_playbook.call_count == 2
......@@ -200,7 +200,7 @@ def test_successful_iptrunk_creation_with_juniper_interface_names(
result, process_stat, step_log = run_workflow("create_iptrunk", initial_site_data)
for _ in range(6):
result, step_log = assert_pp_interaction_success(result, process_stat, step_log)
result, step_log = assert_lso_interaction_success(result, process_stat, step_log)
assert_suspended(result)
result, step_log = resume_workflow(process_stat, step_log, input_data=USER_CONFIRM_EMPTY_FORM)
......
......@@ -5,7 +5,7 @@ import pytest
from gso.products import Iptrunk
from test.workflows import (
assert_complete,
assert_pp_interaction_success,
assert_lso_interaction_success,
extract_state,
run_workflow,
)
......@@ -26,7 +26,7 @@ def test_iptrunk_deploy_twamp_success(
result, process_stat, step_log = run_workflow("deploy_twamp", initial_input_data)
for _ in range(2):
result, step_log = assert_pp_interaction_success(result, process_stat, step_log)
result, step_log = assert_lso_interaction_success(result, process_stat, step_log)
assert_complete(result)
......
......@@ -10,7 +10,7 @@ from test import USER_CONFIRM_EMPTY_FORM
from test.conftest import UseJuniperSide
from test.workflows import (
assert_complete,
assert_pp_interaction_success,
assert_lso_interaction_success,
assert_suspended,
extract_state,
resume_workflow,
......@@ -110,7 +110,7 @@ def interface_lists_are_equal(list1, list2):
@pytest.mark.workflow()
@patch("gso.services.infoblox.create_host_by_ip")
@patch("gso.services.infoblox.delete_host_by_ip")
@patch("gso.services.provisioning_proxy._send_request")
@patch("gso.services.lso_client._send_request")
@patch("gso.services.netbox_client.NetboxClient.get_available_interfaces")
@patch("gso.services.netbox_client.NetboxClient.get_available_lags")
@patch("gso.services.netbox_client.NetboxClient.create_interface")
......@@ -148,18 +148,18 @@ def test_migrate_iptrunk_success(
result, process_stat, step_log = run_workflow("migrate_iptrunk", migrate_form_input)
for _ in range(5):
result, step_log = assert_pp_interaction_success(result, process_stat, step_log)
result, step_log = assert_lso_interaction_success(result, process_stat, step_log)
assert_suspended(result)
result, step_log = resume_workflow(process_stat, step_log, input_data=USER_CONFIRM_EMPTY_FORM)
result, step_log = assert_pp_interaction_success(result, process_stat, step_log)
result, step_log = assert_lso_interaction_success(result, process_stat, step_log)
assert_suspended(result)
result, step_log = resume_workflow(process_stat, step_log, input_data=USER_CONFIRM_EMPTY_FORM)
for _ in range(3):
result, step_log = assert_pp_interaction_success(result, process_stat, step_log)
result, step_log = assert_lso_interaction_success(result, process_stat, step_log)
assert_complete(result)
......
......@@ -5,14 +5,14 @@ import pytest
from gso.products import Iptrunk
from test.workflows import (
assert_complete,
assert_pp_interaction_success,
assert_lso_interaction_success,
extract_state,
run_workflow,
)
@pytest.mark.workflow()
@patch("gso.services.provisioning_proxy.execute_playbook")
@patch("gso.services.lso_client.execute_playbook")
def test_iptrunk_modify_isis_metric_success(
mock_provision_ip_trunk,
iptrunk_subscription_factory,
......@@ -30,7 +30,7 @@ def test_iptrunk_modify_isis_metric_success(
result, process_stat, step_log = run_workflow("modify_isis_metric", initial_iptrunk_data)
for _ in range(2):
result, step_log = assert_pp_interaction_success(result, process_stat, step_log)
result, step_log = assert_lso_interaction_success(result, process_stat, step_log)
assert_complete(result)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment