From 2e56aca8255508f54389e080de875991ce15cbfd Mon Sep 17 00:00:00 2001 From: Simone Spinelli <simone.spinelli@geant.org> Date: Tue, 2 May 2023 06:16:08 +0000 Subject: [PATCH] IPtrunk model and IPtrunk workflow with placeholders - to be refined with the ansible part --- gso/products/product_blocks/iptrunk.py | 17 +++++++++-------- gso/workflows/iptrunk/create_iptrunk.py | 18 ++++++------------ 2 files changed, 15 insertions(+), 20 deletions(-) diff --git a/gso/products/product_blocks/iptrunk.py b/gso/products/product_blocks/iptrunk.py index 20a1194f..6fed08b9 100644 --- a/gso/products/product_blocks/iptrunk.py +++ b/gso/products/product_blocks/iptrunk.py @@ -1,5 +1,6 @@ from typing import Optional from typing import List +from pydantic import Field from orchestrator.domain.base import ProductBlockModel from orchestrator.types import SubscriptionLifecycle, strEnum @@ -74,14 +75,14 @@ class IptrunkBlockProvisioning(IptrunkBlockInactive, iptrunk_sideA_node: DeviceBlockProvisioning iptrunk_sideA_ae_iface: Optional[str] = None iptrunk_sideA_ae_geant_a_sid: Optional[str] = None - iptrunk_sideA_ae_members: Optional[list] = None - iptrunk_sideA_ae_members_description: Optional[list] = None + iptrunk_sideA_ae_members: list[str] = Field(default_factory=list) + iptrunk_sideA_ae_members_description: list[str] = Field(default_factory=list) # iptrunk_sideB_node: DeviceBlockProvisioning iptrunk_sideB_ae_iface: Optional[str] = None iptrunk_sideB_ae_geant_a_sid: Optional[str] = None - iptrunk_sideB_ae_members: Optional[list] = None - iptrunk_sideB_ae_members_description: Optional[list] = None + iptrunk_sideB_ae_members: list[str] = Field(default_factory=list) + iptrunk_sideB_ae_members_description: list[str] = Field(default_factory=list) class IptrunkBlock(IptrunkBlockProvisioning, @@ -97,11 +98,11 @@ class IptrunkBlock(IptrunkBlockProvisioning, iptrunk_sideA_node: DeviceBlock iptrunk_sideA_ae_iface: str iptrunk_sideA_ae_geant_a_sid: str - iptrunk_sideA_ae_members: list[str] - iptrunk_sideA_ae_members_description: list[str] + iptrunk_sideA_ae_members: list[str] = Field(default_factory=list) + iptrunk_sideA_ae_members_description: list[str] = Field(default_factory=list) # iptrunk_sideB_node: DeviceBlock iptrunk_sideB_ae_iface: str iptrunk_sideB_ae_geant_a_sid: str - iptrunk_sideB_ae_members: list[str] - iptrunk_sideB_ae_members_description: list[str] + iptrunk_sideB_ae_members: list[str] = Field(default_factory=list) + iptrunk_sideB_ae_members_description: list[str] = Field(default_factory=list) diff --git a/gso/workflows/iptrunk/create_iptrunk.py b/gso/workflows/iptrunk/create_iptrunk.py index 4f53f674..ac34d27a 100644 --- a/gso/workflows/iptrunk/create_iptrunk.py +++ b/gso/workflows/iptrunk/create_iptrunk.py @@ -143,9 +143,6 @@ def initialize_subscription( @step("Provision iptrunk [DRY RUN]") def provision_iptrunk_dry( subscription: iptrunk.IptrunkProvisioning, - fqdn: str, - ts_address: str, - ts_port: str ) -> State: # import ansible_runner # @@ -170,9 +167,9 @@ def provision_iptrunk_dry( # # if r.rc != 0: # # raise ValueError("Ansible has failed") # return {"dry_run_output": out_splitted, "return_code": r.rc} - provisioning_proxy.provision_node( - node_subscription_params=subscription, - dry_run=True) + #provisioning_proxy.provision_node( + # node_subscription_params=subscription, + # dry_run=True) # TODO: figure out what to return when we are suspending & waiting # for the provisioning-proxy to call back return {"return_code": 0} @@ -191,9 +188,6 @@ def confirm_step() -> FormGenerator: @step("Provision iptrunk [FOR REAL]") def provision_iptrunk_real( subscription: iptrunk.IptrunkProvisioning, - fqdn: str, - ts_address: str, - ts_port: str ) -> State: # import ansible_runner # @@ -216,9 +210,9 @@ def provision_iptrunk_real( # out = r.stdout.read() # out_splitted = out.splitlines() # - # return {"real_run_output": out_splitted, "return_code": r.rc} - provisioning_proxy.provision_node( - node_subscription_params=subscription) + ## return {"real_run_output": out_splitted, "return_code": r.rc} + #provisioning_proxy.provision_node( + # node_subscription_params=subscription) # TODO: figure out what to return when we are suspending & waiting # for the provisioning-proxy to call back return {"return_code": 0} -- GitLab