Skip to content

Commit feac3a0

Browse files
author
Thomas van der Ven
committed
Initial step - added new reconcile workflow for L2VPN
1 parent 9ce6f7b commit feac3a0

File tree

2 files changed

+16
-5
lines changed

2 files changed

+16
-5
lines changed

workflows/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@
3737
LazyWorkflowInstance("workflows.l2vpn.modify_l2vpn", "modify_l2vpn")
3838
LazyWorkflowInstance("workflows.l2vpn.terminate_l2vpn", "terminate_l2vpn")
3939
LazyWorkflowInstance("workflows.l2vpn.validate_l2vpn", "validate_l2vpn")
40+
LazyWorkflowInstance("workflows.l2vpn.modify_l2vpn", "reconcile_l2vpn")
41+
4042

4143
LazyWorkflowInstance("workflows.tasks.bootstrap_netbox", "task_bootstrap_netbox")
4244
LazyWorkflowInstance("workflows.tasks.wipe_netbox", "task_wipe_netbox")

workflows/l2vpn/modify_l2vpn.py

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,12 @@
1212
# limitations under the License.
1313

1414

15-
from pydantic_forms.types import UUIDstr
1615
from orchestrator.types import SubscriptionLifecycle
1716
from orchestrator.workflow import StepList, begin, step
1817
from orchestrator.workflows.steps import set_status
19-
from orchestrator.workflows.utils import modify_workflow
18+
from orchestrator.workflows.utils import modify_workflow, reconcile_workflow
2019
from pydantic_forms.core import FormPage
21-
from pydantic_forms.types import FormGenerator, State
20+
from pydantic_forms.types import FormGenerator, State, UUIDstr
2221

2322
from products.product_types.l2vpn import L2vpn, L2vpnProvisioning
2423
from products.services.description import description
@@ -37,7 +36,9 @@ class ModifyL2vpnForm(FormPage):
3736
user_input_dict = user_input.model_dump()
3837

3938
summary_fields = ["speed", "speed_policer"]
40-
yield from modify_summary_form(user_input_dict, subscription.virtual_circuit, summary_fields)
39+
yield from modify_summary_form(
40+
user_input_dict, subscription.virtual_circuit, summary_fields
41+
)
4142

4243
return user_input_dict | {"subscription": subscription}
4344

@@ -66,13 +67,21 @@ def update_l2vpn_in_nrm(subscription: L2vpnProvisioning) -> State:
6667
return {"subscription": subscription}
6768

6869

70+
update_l2vpn_in_external_systems = begin >> update_l2vpn_in_nrm
71+
72+
6973
@modify_workflow("Modify l2vpn", initial_input_form=initial_input_form_generator)
7074
def modify_l2vpn() -> StepList:
7175
return (
7276
begin
7377
>> set_status(SubscriptionLifecycle.PROVISIONING)
7478
>> update_subscription
7579
>> update_subscription_description
76-
>> update_l2vpn_in_nrm
7780
>> set_status(SubscriptionLifecycle.ACTIVE)
81+
>> update_l2vpn_in_external_systems
7882
)
83+
84+
85+
@reconcile_workflow("Reconcile SN8 L2Vpn")
86+
def reconcile_l2vpn() -> StepList:
87+
return begin >> update_l2vpn_in_external_systems

0 commit comments

Comments
 (0)