Skip to content
Snippets Groups Projects
Commit 2e56aca8 authored by Simone Spinelli's avatar Simone Spinelli
Browse files

IPtrunk model and IPtrunk workflow with placeholders - to be refined with the ansible part

parent 5f5870c1
No related branches found
No related tags found
1 merge request!8Feature/iptrunks prototype
from typing import Optional from typing import Optional
from typing import List from typing import List
from pydantic import Field
from orchestrator.domain.base import ProductBlockModel from orchestrator.domain.base import ProductBlockModel
from orchestrator.types import SubscriptionLifecycle, strEnum from orchestrator.types import SubscriptionLifecycle, strEnum
...@@ -74,14 +75,14 @@ class IptrunkBlockProvisioning(IptrunkBlockInactive, ...@@ -74,14 +75,14 @@ class IptrunkBlockProvisioning(IptrunkBlockInactive,
iptrunk_sideA_node: DeviceBlockProvisioning iptrunk_sideA_node: DeviceBlockProvisioning
iptrunk_sideA_ae_iface: Optional[str] = None iptrunk_sideA_ae_iface: Optional[str] = None
iptrunk_sideA_ae_geant_a_sid: Optional[str] = None iptrunk_sideA_ae_geant_a_sid: Optional[str] = None
iptrunk_sideA_ae_members: Optional[list] = None iptrunk_sideA_ae_members: list[str] = Field(default_factory=list)
iptrunk_sideA_ae_members_description: Optional[list] = None iptrunk_sideA_ae_members_description: list[str] = Field(default_factory=list)
# #
iptrunk_sideB_node: DeviceBlockProvisioning iptrunk_sideB_node: DeviceBlockProvisioning
iptrunk_sideB_ae_iface: Optional[str] = None iptrunk_sideB_ae_iface: Optional[str] = None
iptrunk_sideB_ae_geant_a_sid: Optional[str] = None iptrunk_sideB_ae_geant_a_sid: Optional[str] = None
iptrunk_sideB_ae_members: Optional[list] = None iptrunk_sideB_ae_members: list[str] = Field(default_factory=list)
iptrunk_sideB_ae_members_description: Optional[list] = None iptrunk_sideB_ae_members_description: list[str] = Field(default_factory=list)
class IptrunkBlock(IptrunkBlockProvisioning, class IptrunkBlock(IptrunkBlockProvisioning,
...@@ -97,11 +98,11 @@ class IptrunkBlock(IptrunkBlockProvisioning, ...@@ -97,11 +98,11 @@ class IptrunkBlock(IptrunkBlockProvisioning,
iptrunk_sideA_node: DeviceBlock iptrunk_sideA_node: DeviceBlock
iptrunk_sideA_ae_iface: str iptrunk_sideA_ae_iface: str
iptrunk_sideA_ae_geant_a_sid: str iptrunk_sideA_ae_geant_a_sid: str
iptrunk_sideA_ae_members: list[str] iptrunk_sideA_ae_members: list[str] = Field(default_factory=list)
iptrunk_sideA_ae_members_description: list[str] iptrunk_sideA_ae_members_description: list[str] = Field(default_factory=list)
# #
iptrunk_sideB_node: DeviceBlock iptrunk_sideB_node: DeviceBlock
iptrunk_sideB_ae_iface: str iptrunk_sideB_ae_iface: str
iptrunk_sideB_ae_geant_a_sid: str iptrunk_sideB_ae_geant_a_sid: str
iptrunk_sideB_ae_members: list[str] iptrunk_sideB_ae_members: list[str] = Field(default_factory=list)
iptrunk_sideB_ae_members_description: list[str] iptrunk_sideB_ae_members_description: list[str] = Field(default_factory=list)
...@@ -143,9 +143,6 @@ def initialize_subscription( ...@@ -143,9 +143,6 @@ def initialize_subscription(
@step("Provision iptrunk [DRY RUN]") @step("Provision iptrunk [DRY RUN]")
def provision_iptrunk_dry( def provision_iptrunk_dry(
subscription: iptrunk.IptrunkProvisioning, subscription: iptrunk.IptrunkProvisioning,
fqdn: str,
ts_address: str,
ts_port: str
) -> State: ) -> State:
# import ansible_runner # import ansible_runner
# #
...@@ -170,9 +167,9 @@ def provision_iptrunk_dry( ...@@ -170,9 +167,9 @@ def provision_iptrunk_dry(
# # if r.rc != 0: # # if r.rc != 0:
# # raise ValueError("Ansible has failed") # # raise ValueError("Ansible has failed")
# return {"dry_run_output": out_splitted, "return_code": r.rc} # return {"dry_run_output": out_splitted, "return_code": r.rc}
provisioning_proxy.provision_node( #provisioning_proxy.provision_node(
node_subscription_params=subscription, # node_subscription_params=subscription,
dry_run=True) # dry_run=True)
# TODO: figure out what to return when we are suspending & waiting # TODO: figure out what to return when we are suspending & waiting
# for the provisioning-proxy to call back # for the provisioning-proxy to call back
return {"return_code": 0} return {"return_code": 0}
...@@ -191,9 +188,6 @@ def confirm_step() -> FormGenerator: ...@@ -191,9 +188,6 @@ def confirm_step() -> FormGenerator:
@step("Provision iptrunk [FOR REAL]") @step("Provision iptrunk [FOR REAL]")
def provision_iptrunk_real( def provision_iptrunk_real(
subscription: iptrunk.IptrunkProvisioning, subscription: iptrunk.IptrunkProvisioning,
fqdn: str,
ts_address: str,
ts_port: str
) -> State: ) -> State:
# import ansible_runner # import ansible_runner
# #
...@@ -216,9 +210,9 @@ def provision_iptrunk_real( ...@@ -216,9 +210,9 @@ def provision_iptrunk_real(
# out = r.stdout.read() # out = r.stdout.read()
# out_splitted = out.splitlines() # out_splitted = out.splitlines()
# #
# return {"real_run_output": out_splitted, "return_code": r.rc} ## return {"real_run_output": out_splitted, "return_code": r.rc}
provisioning_proxy.provision_node( #provisioning_proxy.provision_node(
node_subscription_params=subscription) # node_subscription_params=subscription)
# TODO: figure out what to return when we are suspending & waiting # TODO: figure out what to return when we are suspending & waiting
# for the provisioning-proxy to call back # for the provisioning-proxy to call back
return {"return_code": 0} return {"return_code": 0}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment