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

Begin with create workflows

parent 4ea0b717
No related branches found
No related tags found
No related merge requests found
from uuid import uuid4
from orchestrator.targets import Target
from orchestrator.types import State, SubscriptionLifecycle, UUIDstr
from orchestrator.workflow import done, init, step, workflow
from orchestrator.workflows.steps import resync, set_status, store_process_subscription
from products.product_types.line_card import LineCardInactive, LineCardProvisioning
from products.product_types.node import Node
@step("Create subscription")
def create_subscription(product: UUIDstr) -> State:
subscription = LineCardInactive.from_product_id(product, uuid4())
return {"subscription": subscription, "subscription_id": subscription.subscription_id}
@step("Initialize subscription")
def initialize_subscription(subscription: LineCardInactive) -> State:
#subscription.line_card.
pass
@step("Provision line card")
def provision_line_card(subscription: LineCardProvisioning) -> State:
pass
@workflow(
"Create line card",
target=Target.CREATE,
)
def create_line_card():
return (
init
>> create_subscription
>> store_process_subscription(Target.CREATE)
>> initialize_subscription
>> provision_line_card
>> set_status(SubscriptionLifecycle.ACTIVE)
>> resync
>> done
)
from uuid import uuid4
from orchestrator.targets import Target
from orchestrator.types import State, SubscriptionLifecycle, UUIDstr
from orchestrator.workflow import done, init, step, workflow
from orchestrator.workflows.steps import resync, set_status, store_process_subscription
from products.product_types.node import NodeInactive, NodeProvisioning
@step("Create subscription")
def create_subscription(product: UUIDstr) -> State:
subscription = NodeInactive.from_product_id(product, uuid4())
return {"subscription": subscription, "subscription_id": subscription.subscription_id}
@step("Initialize subscription")
def initialize_subscription(subscription: NodeInactive) -> State:
subscription.description = f"Node"
subscription = NodeProvisioning.from_other_lifecycle(subscription, SubscriptionLifecycle.PROVISIONING)
return {"subscription": subscription}
@step("Provision node")
def provision_node(subscription: NodeProvisioning) -> State:
node_id = uuid.uuid4()
subscription.node.node_id = node_id
@workflow(
"Create node",
target=Target.CREATE,
)
def create_node():
return (
init
>> create_subscription
>> store_process_subscription(Target.CREATE)
>> initialize_subscription
>> provision_node
>> set_status(SubscriptionLifecycle.ACTIVE)
>> resync
>> done
)
from uuid import uuid4
from orchestrator.targets import Target
from orchestrator.types import State, SubscriptionLifecycle, UUIDstr
from orchestrator.workflow import done, init, step, workflow
from orchestrator.workflows.steps import resync, set_status, store_process_subscription
from products.product_types.port import PortInactive, PortProvisioning
from products.product_types.line_card import LineCard
@step("Create subscription")
def create_subscription(product: UUIDstr) -> State:
subscription = PortInactive.from_product_id(product, uuid4())
return {"subscription": subscription, "subscription_id": subscription.subscription_id}
@step("Initialize subscription")
def initialize_subscription(subscription: PortInactive) -> State:
pass
@step("Provision port")
def provision_port(subscription: PortProvisioning) -> State:
pass
@workflow(
"Create port",
target=Target.CREATE,
)
def create_port():
return (
init
>> create_subscription
>> store_process_subscription(Target.CREATE)
>> initialize_subscription
>> provision_port
>> set_status(SubscriptionLifecycle.ACTIVE)
>> resync
>> done
)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment