diff --git a/gso/workflows/edge_port/validate_edge_port.py b/gso/workflows/edge_port/validate_edge_port.py
index 1bbf60e3dd3b7368adf1a085aeaf333ee269fee9..33b882a6569a7e936c2f036c55e96850b2c0e222 100644
--- a/gso/workflows/edge_port/validate_edge_port.py
+++ b/gso/workflows/edge_port/validate_edge_port.py
@@ -4,7 +4,7 @@ from typing import Any
from orchestrator.targets import Target
from orchestrator.utils.errors import ProcessFailureError
-from orchestrator.workflow import StepList, begin, done, step, workflow
+from orchestrator.workflow import StepList, begin, conditional, done, step, workflow
from orchestrator.workflows.steps import resync, store_process_subscription, unsync
from orchestrator.workflows.utils import wrap_modify_initial_input_form
from pydantic_forms.types import State, UUIDstr
@@ -13,6 +13,7 @@ from gso.products.product_types.edge_port import EdgePort
from gso.services.lso_client import LSOState, anonymous_lso_interaction
from gso.services.netbox_client import NetboxClient
from gso.services.partners import get_partner_by_id
+from gso.utils.shared_enums import Vendor
@step("Prepare required keys in state")
@@ -79,15 +80,19 @@ def verify_base_config(subscription: dict[str, Any]) -> LSOState:
def validate_edge_port() -> StepList:
"""Validate an existing, active Edge port subscription.
- * Check correct configuration of interfaces in NetBox.
+ * Check correct configuration of interfaces in NetBox, only when the Edge Port is on a Nokia device.
* Verify create Edge port configuration.
"""
+ edge_port_is_on_nokia = conditional(
+ lambda state: state["subscription"]["edge_port"]["node"]["vendor"] == Vendor.NOKIA
+ )
+
return (
begin
>> store_process_subscription(Target.SYSTEM)
>> unsync
>> prepare_state
- >> verify_netbox_entries
+ >> edge_port_is_on_nokia(verify_netbox_entries)
>> anonymous_lso_interaction(verify_base_config)
>> resync
>> done