Skip to content
Snippets Groups Projects
Commit 13f8f94e authored by Simone Spinelli's avatar Simone Spinelli Committed by Karel van Klink
Browse files

Add TTnumber and processID to all LSO calls

parent 73781c03
No related branches found
No related tags found
1 merge request!45Migrate iptrunks ansible integration
This commit is part of merge request !45. Comments created here will be created in the context of that merge request.
......@@ -19,6 +19,8 @@ class IPTrunkParams(BaseModel):
callback: HttpUrl
#: A dictionary representation of the IP trunk subscription that is to be provisioned.
subscription: dict
tt_number: str
process_id: str
class IPTrunkProvisioningParams(IPTrunkParams):
......@@ -52,7 +54,7 @@ class IPTrunkMigrationParams(IPTrunkParams):
new_side: dict
#: An Ansible playbook verb that is passed along for indicating the phase of the migration that is performed.
verb: str
config_object: str
class IPTrunkCheckParams(IPTrunkParams):
"""Additional parameters for checking an IPtrunk."""
......@@ -86,8 +88,7 @@ def provision_ip_trunk(params: IPTrunkProvisioningParams) -> PlaybookLaunchRespo
"dry_run": str(params.dry_run),
"verb": "deploy",
"config_object": params.object,
"commit_comment": f"IPtrunk {params.subscription['iptrunk']['geant_s_sid']} "
f"({params.subscription['subscription_id']}) - deployment of {params.object}",
"commit_comment": f"GSO_PROCESS_ID: {params.process_id} - TT_NUMBER: {params.tt_number} - Deploy config for {params.subscription['iptrunk']['geant_s_sid']} ",
}
return run_playbook(
......@@ -117,9 +118,7 @@ def modify_ip_trunk(params: IPTrunkModifyParams) -> PlaybookLaunchResponse:
"old_wfo_trunk_json": params.old_subscription,
"dry_run": str(params.dry_run),
"verb": "modify",
"commit_comment": f"IPtrunk "
f"{params.subscription['iptrunk']['geant_s_sid']} "
f"({params.subscription['subscription_id']})",
"commit_comment": f"GSO_PROCESS_ID: {params.process_id} - TT_NUMBER: {params.tt_number} - Modify config for {params.subscription['iptrunk']['geant_s_sid']} ",
}
return run_playbook(
......@@ -150,10 +149,7 @@ def delete_ip_trunk(params: IPTrunkDeleteParams) -> PlaybookLaunchResponse:
"dry_run": str(params.dry_run),
"verb": "terminate",
"config_object": "trunk_deprovision",
"commit_comment": f"IPtrunk "
f"{params.subscription['iptrunk']['geant_s_sid']} "
f"({params.subscription['subscription_id']}) "
f"- termination",
"commit_comment": f"GSO_PROCESS_ID: {params.process_id} - TT_NUMBER: {params.tt_number} - Remove config for {params.subscription['iptrunk']['geant_s_sid']} ",
}
return run_playbook(
......@@ -204,18 +200,25 @@ def migrate_ip_trunk(params: IPTrunkMigrationParams) -> PlaybookLaunchResponse:
"""
extra_vars = {
"wfo_trunk_json": params.subscription,
"new_side": params.new_side,
"dry_run": str(params.dry_run),
"new_node": params.new_side["new_node"],
"new_lag_interface": params.new_side["new_lag_interface"],
"new_lag_member_interfaces": params.new_side["new_lag_member_interfaces"],
"replace_index": params.new_side["replace_index"],
"verb": params.verb,
"config_object": params.config_object,
"dry_run": str(params.dry_run),
"commit_comment": f"GSO_PROCESS_ID: {params.process_id} - TT_NUMBER: {params.tt_number} - Migrating - {params.verb} - {params.subscription['iptrunk']['geant_s_sid']} ",
}
return run_playbook(
playbook_path=path.join(config_params.ansible_playbooks_root_dir, "iptrunks.yaml"),
playbook_path=path.join(config_params.ansible_playbooks_root_dir, "iptrunks_migration.yaml"),
inventory=str(
params.subscription["iptrunk"]["iptrunk_sides"][0]["iptrunk_side_node"]["router_fqdn"]
+ "\n"
+ params.subscription["iptrunk"]["iptrunk_sides"][1]["iptrunk_side_node"]["router_fqdn"]
+ "\n"
+ params.new_side["new_node"]["router"]["router_fqdn"]
+ "\n"
),
extra_vars=extra_vars,
callback=params.callback,
......
......@@ -30,6 +30,8 @@ class NodeProvisioningParams(BaseModel):
#: Whether this playbook execution should be a dry run, or run for real. Defaults to ``True`` for obvious reasons,
#: also making it an optional parameter.
dry_run: Optional[bool] = True
tt_number: str
process_id: str
@router.post("/")
......@@ -45,7 +47,7 @@ async def provision_node(params: NodeProvisioningParams) -> playbook.PlaybookLau
"wfo_router_json": params.subscription,
"dry_run": str(params.dry_run),
"verb": "deploy",
"commit_comment": "Base config deployed with WFO/LSO & Ansible",
"commit_comment": f"GSO_PROCESS_ID: {params.process_id} - TT_NUMBER: {params.tt_number} - Deploy base config",
}
playbook_path = os.path.join(config_params.ansible_playbooks_root_dir, "base_config.yaml")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment