Skip to content
Snippets Groups Projects

correct typing and fix a bug

Merged Mohammad Torkashvand requested to merge refactor/improve-lat-lon-validation into develop
All threads resolved!
Files
12
@@ -14,7 +14,7 @@ from orchestrator.forms import FormPage, ReadOnlyField
from orchestrator.forms.validators import Accept, Label, LongText
from orchestrator.types import FormGenerator, State, UUIDstr, strEnum
from orchestrator.utils.json import json_dumps
from orchestrator.workflow import Step, StepList, abort
from orchestrator.workflow import Step, StepList, abort, init
from pydantic import validator
from gso import settings
@@ -80,7 +80,9 @@ def _send_request(endpoint: str, parameters: dict, process_id: UUIDstr, operatio
raise AssertionError(request.content)
def provision_router(subscription: RouterProvisioning, process_id: UUIDstr, dry_run: bool = True) -> None:
def provision_router(
subscription: RouterProvisioning, process_id: UUIDstr, tt_number: str, dry_run: bool = True
) -> None:
"""Provision a new router using {term}`LSO`.
:param subscription: The subscription object that's to be provisioned.
@@ -91,13 +93,18 @@ def provision_router(subscription: RouterProvisioning, process_id: UUIDstr, dry_
:type dry_run: bool
:rtype: None
"""
parameters = {"dry_run": dry_run, "subscription": json.loads(json_dumps(subscription))}
parameters = {
"process_id": process_id,
"tt_number": tt_number,
"dry_run": dry_run,
"subscription": json.loads(json_dumps(subscription)),
}
_send_request("router", parameters, process_id, CUDOperation.POST)
def provision_ip_trunk(
subscription: IptrunkProvisioning, process_id: UUIDstr, config_object: str, dry_run: bool = True
subscription: IptrunkProvisioning, process_id: UUIDstr, tt_number: str, config_object: str, dry_run: bool = True
) -> None:
"""Provision an IP trunk service using {term}`LSO`.
@@ -115,13 +122,15 @@ def provision_ip_trunk(
"subscription": json.loads(json_dumps(subscription)),
"dry_run": dry_run,
"verb": "deploy",
"tt_number": tt_number,
"process_id": process_id,
"object": config_object,
}
_send_request("ip_trunk", parameters, process_id, CUDOperation.POST)
def check_ip_trunk(subscription: IptrunkProvisioning, process_id: UUIDstr, check_name: str) -> None:
def check_ip_trunk(subscription: IptrunkProvisioning, process_id: UUIDstr, tt_number: str, check_name: str) -> None:
"""Provision an IP trunk service using {term}`LSO`.
:param subscription: The subscription object that's to be provisioned.
@@ -133,13 +142,15 @@ def check_ip_trunk(subscription: IptrunkProvisioning, process_id: UUIDstr, check
"""
parameters = {
"subscription": json.loads(json_dumps(subscription)),
"tt_number": tt_number,
"process_id": process_id,
"check_name": check_name,
}
_send_request("ip_trunk/perform_check", parameters, process_id, CUDOperation.POST)
def deprovision_ip_trunk(subscription: Iptrunk, process_id: UUIDstr, dry_run: bool = True) -> None:
def deprovision_ip_trunk(subscription: Iptrunk, process_id: UUIDstr, tt_number: str, dry_run: bool = True) -> None:
"""Deprovision an IP trunk service using {term}`LSO`.
:param subscription: The subscription object that's to be provisioned.
@@ -150,7 +161,13 @@ def deprovision_ip_trunk(subscription: Iptrunk, process_id: UUIDstr, dry_run: bo
:type dry_run: bool
:rtype: None
"""
parameters = {"subscription": json.loads(json_dumps(subscription)), "dry_run": dry_run, "verb": "terminate"}
parameters = {
"subscription": json.loads(json_dumps(subscription)),
"tt_number": tt_number,
"process_id": process_id,
"dry_run": dry_run,
"verb": "terminate",
}
_send_request("ip_trunk", parameters, process_id, CUDOperation.DELETE)
@@ -162,7 +179,9 @@ def migrate_ip_trunk(
new_lag_member_interfaces: list[str],
replace_index: int,
process_id: UUIDstr,
tt_number: str,
verb: str,
config_object: str,
dry_run: bool = True,
) -> None:
"""Migrate an IP trunk service using {term}`LSO`.
@@ -188,6 +207,8 @@ def migrate_ip_trunk(
"""
parameters = {
"subscription": json.loads(json_dumps(subscription)),
"tt_number": tt_number,
"process_id": process_id,
"new_side": {
"new_node": json.loads(json_dumps(new_node)),
"new_lag_interface": new_lag_interface,
@@ -195,6 +216,7 @@ def migrate_ip_trunk(
"replace_index": replace_index,
},
"verb": verb,
"config_object": config_object,
"dry_run": dry_run,
}
@@ -318,7 +340,7 @@ def pp_interaction(provisioning_step: Step, attempts: int, abort_on_failure: boo
"""
should_retry_pp_steps = conditional(lambda state: not state.get("pp_did_succeed"))
pp_steps = StepList([_reset_pp_success_state])
pp_steps = init >> _reset_pp_success_state
for _ in range(attempts):
pp_steps >>= (
Loading