Skip to content
Snippets Groups Projects
Commit c29feecb authored by JORGE SASIAIN's avatar JORGE SASIAIN
Browse files

NAT-315: Restore ISIS should be optional in migrate iptrunk

parent 922838aa
No related branches found
No related tags found
1 merge request!113NAT-315: Restore ISIS should be optional in migrate iptrunk
Pipeline #84563 passed
...@@ -31,7 +31,8 @@ ...@@ -31,7 +31,8 @@
"iptrunk_sideB_ae_members_descriptions": "Aggregated Ethernet member interface descriptions", "iptrunk_sideB_ae_members_descriptions": "Aggregated Ethernet member interface descriptions",
"migrate_to_different_site": "Migrating to a different Site", "migrate_to_different_site": "Migrating to a different Site",
"remove_configuration": "Remove configuration from the router", "remove_configuration": "Remove configuration from the router",
"clean_up_ipam": "Clean up related entries in IPAM" "clean_up_ipam": "Clean up related entries in IPAM",
"restore_isis_metric": "Restore ISIS metric to original value"
} }
}, },
"workflow": { "workflow": {
......
...@@ -16,7 +16,7 @@ from orchestrator.forms import FormPage ...@@ -16,7 +16,7 @@ from orchestrator.forms import FormPage
from orchestrator.forms.validators import Choice, Label, UniqueConstrainedList from orchestrator.forms.validators import Choice, Label, UniqueConstrainedList
from orchestrator.targets import Target from orchestrator.targets import Target
from orchestrator.types import FormGenerator, State, UUIDstr from orchestrator.types import FormGenerator, State, UUIDstr
from orchestrator.workflow import StepList, done, init, inputstep from orchestrator.workflow import StepList, conditional, done, init, inputstep
from orchestrator.workflows.steps import resync, store_process_subscription, unsync from orchestrator.workflows.steps import resync, store_process_subscription, unsync
from orchestrator.workflows.utils import wrap_modify_initial_input_form from orchestrator.workflows.utils import wrap_modify_initial_input_form
from pydantic import validator from pydantic import validator
...@@ -68,6 +68,7 @@ def initial_input_form_generator(subscription_id: UUIDstr) -> FormGenerator: ...@@ -68,6 +68,7 @@ def initial_input_form_generator(subscription_id: UUIDstr) -> FormGenerator:
replace_side: replaced_side_enum # type: ignore[valid-type] replace_side: replaced_side_enum # type: ignore[valid-type]
warning_label: Label = "Are we moving to a different Site?" # type: ignore[assignment] warning_label: Label = "Are we moving to a different Site?" # type: ignore[assignment]
migrate_to_different_site: bool = False migrate_to_different_site: bool = False
restore_isis_metric: bool = True
migrate_form_input = yield IPTrunkMigrateForm migrate_form_input = yield IPTrunkMigrateForm
...@@ -575,6 +576,8 @@ def migrate_iptrunk() -> StepList: ...@@ -575,6 +576,8 @@ def migrate_iptrunk() -> StepList:
TODO: add interface checks TODO: add interface checks
""" """
should_restore_isis_metric = conditional(lambda state: state["restore_isis_metric"])
return ( return (
init init
>> store_process_subscription(Target.MODIFY) >> store_process_subscription(Target.MODIFY)
...@@ -587,8 +590,8 @@ def migrate_iptrunk() -> StepList: ...@@ -587,8 +590,8 @@ def migrate_iptrunk() -> StepList:
>> pp_interaction(deploy_new_config_real) >> pp_interaction(deploy_new_config_real)
>> confirm_continue_move_fiber >> confirm_continue_move_fiber
>> pp_interaction(deploy_new_isis) >> pp_interaction(deploy_new_isis)
>> confirm_continue_restore_isis >> should_restore_isis_metric(confirm_continue_restore_isis)
>> pp_interaction(restore_isis_metric) >> should_restore_isis_metric(pp_interaction(restore_isis_metric))
>> pp_interaction(delete_old_config_dry) >> pp_interaction(delete_old_config_dry)
>> pp_interaction(delete_old_config_real) >> pp_interaction(delete_old_config_real)
>> update_ipam >> update_ipam
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment