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

use conditional to skip step in create_router workflow

parent a34051ad
No related branches found
No related tags found
1 merge request!128Feature/use conditionals
...@@ -7,7 +7,7 @@ from orchestrator.forms import FormPage ...@@ -7,7 +7,7 @@ from orchestrator.forms import FormPage
from orchestrator.forms.validators import Choice from orchestrator.forms.validators import Choice
from orchestrator.targets import Target from orchestrator.targets import Target
from orchestrator.types import FormGenerator, State, SubscriptionLifecycle, UUIDstr from orchestrator.types import FormGenerator, State, SubscriptionLifecycle, UUIDstr
from orchestrator.workflow import StepList, done, init, step, workflow from orchestrator.workflow import StepList, done, init, step, workflow, conditional
from orchestrator.workflows.steps import resync, set_status, store_process_subscription from orchestrator.workflows.steps import resync, set_status, store_process_subscription
from orchestrator.workflows.utils import wrap_create_initial_input_form from orchestrator.workflows.utils import wrap_create_initial_input_form
from pydantic import validator from pydantic import validator
...@@ -126,16 +126,11 @@ def ipam_allocate_loopback(subscription: RouterProvisioning) -> State: ...@@ -126,16 +126,11 @@ def ipam_allocate_loopback(subscription: RouterProvisioning) -> State:
@step("Create NetBox Device") @step("Create NetBox Device")
def create_netbox_device(subscription: RouterProvisioning) -> State: def create_netbox_device(subscription: RouterProvisioning) -> State:
"""Create a new device in Netbox. """Create a new NOKIA device in Netbox."""
NetboxClient().create_device(
HACK: use a conditional instead for execution of this step subscription.router.router_fqdn,
""" str(subscription.router.router_site.site_tier), # type: ignore[union-attr]
if subscription.router.vendor == RouterVendor.NOKIA: )
NetboxClient().create_device(
subscription.router.router_fqdn,
str(subscription.router.router_site.site_tier), # type: ignore[union-attr]
)
return {"subscription": subscription}
return {"subscription": subscription} return {"subscription": subscription}
...@@ -163,6 +158,8 @@ def create_router() -> StepList: ...@@ -163,6 +158,8 @@ def create_router() -> StepList:
* Validate :term:`IPAM` resources * Validate :term:`IPAM` resources
* Create a new device in Netbox * Create a new device in Netbox
""" """
router_is_nokia = conditional(lambda state: state["vendor"] == RouterVendor.NOKIA)
return ( return (
init init
>> create_subscription >> create_subscription
...@@ -172,7 +169,7 @@ def create_router() -> StepList: ...@@ -172,7 +169,7 @@ def create_router() -> StepList:
>> pp_interaction(deploy_base_config_dry) >> pp_interaction(deploy_base_config_dry)
>> pp_interaction(deploy_base_config_real) >> pp_interaction(deploy_base_config_real)
>> verify_ipam_loopback >> verify_ipam_loopback
>> create_netbox_device >> router_is_nokia(create_netbox_device)
>> set_status(SubscriptionLifecycle.ACTIVE) >> set_status(SubscriptionLifecycle.ACTIVE)
>> resync >> resync
>> done >> done
......
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