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

Register CREATE workflows and create db migration for them

parent 60f24f68
Branches
Tags
No related merge requests found
......@@ -3,6 +3,7 @@ from orchestrator.cli.main import app as core_cli
from orchestrator.settings import AppSettings
import products
import workflows
app = OrchestratorCore(base_settings=AppSettings())
......
"""add CREATE workflows.
Revision ID: aa49bed10737
Revises: 431ca061b2ad
Create Date: 2023-03-13 11:18:36.787981
"""
import sqlalchemy as sa
from alembic import op
# revision identifiers, used by Alembic.
revision = 'aa49bed10737'
down_revision = '431ca061b2ad'
branch_labels = None
depends_on = None
from orchestrator.migrations.helpers import create_workflow, delete_workflow
new_workflows = [
{
"name": "create_trunk",
"target": "CREATE",
"description": "Create trunk",
"product_type": "Trunk"
},
{
"name": "create_trunk_config",
"target": "CREATE",
"description": "Create trunk config",
"product_type": "TrunkConfig"
},
{
"name": "create_trunk_config_common",
"target": "CREATE",
"description": "Create trunk config common",
"product_type": "TrunkConfigCommon"
},
{
"name": "create_trunk_config_side",
"target": "CREATE",
"description": "Create trunk config side",
"product_type": "TrunkConfigSide"
}
]
def upgrade() -> None:
conn = op.get_bind()
for workflow in new_workflows:
create_workflow(conn, workflow)
def downgrade() -> None:
conn = op.get_bind()
for workflow in new_workflows:
delete_workflow(conn, workflow["name"])
from orchestrator.workflows import LazyWorkflowInstance
LazyWorkflowInstance("workflows.trunk.create_trunk", "create_trunk")
LazyWorkflowInstance("workflows.trunk.create_trunk_config", "create_trunk_config")
LazyWorkflowInstance("workflows.trunk.create_trunk_config_common", "create_trunk_config_common")
LazyWorkflowInstance("workflows.trunk.create_trunk_config_side", "create_trunk_config_side")
LazyWorkflowInstance("workflows.trunk_config.create_trunk_config", "create_trunk_config")
LazyWorkflowInstance("workflows.trunk_config_common.create_trunk_config_common", "create_trunk_config_common")
LazyWorkflowInstance("workflows.trunk_config_side.create_trunk_config_side", "create_trunk_config_side")
......@@ -29,7 +29,7 @@ def trunk_selector() -> list:
trunk_subscriptions[str(trunk_id)] = trunk_description
return choice_list(
Choice("TrunkEnum", zip(trunk_subscriptions.keys(), trunk_subscriptions.items())),
Choice("TrunkEnum", zip(trunk_subscriptions.keys(), trunk_subscriptions.items())), # type:ignore
min_items=1,
max_items=1,
)
......@@ -40,7 +40,7 @@ def initial_input_form_generator(product_name: str) -> FormGenerator:
class Config:
title = product_name
trunk_ids: trunk_selector()
trunk_ids: trunk_selector() # type:ignore
user_input = yield CreateTrunkConfigForm
......@@ -81,7 +81,7 @@ def provision_trunk_config(subscription: TrunkConfigProvisioning) -> State:
initial_input_form=wrap_create_initial_input_form(initial_input_form_generator),
target=Target.CREATE,
)
def create_trunk():
def create_trunk_config():
return (
init
......
......@@ -28,7 +28,7 @@ def trunk_config_selector() -> list:
trunk_config_subscriptions[str(trunk_config_id)] = trunk_config_description
return choice_list(
Choice("TrunkConfigEnum", zip(trunk_config_subscriptions.keys(), trunk_config_subscriptions.items())),
Choice("TrunkConfigEnum", zip(trunk_config_subscriptions.keys(), trunk_config_subscriptions.items())), # type:ignore
min_items=1,
max_items=1,
)
......@@ -43,7 +43,7 @@ def initial_input_form_generator(product_name: str) -> FormGenerator:
is_leased_line: Optional[bool]
isis_metric: int
minimum_links: int
trunk_config_ids: trunk_config_selector()
trunk_config_ids: trunk_config_selector() # type:ignore
user_input = yield CreateTrunkConfigCommonForm
......@@ -88,7 +88,7 @@ def provision_trunk_config_common(subscription: TrunkConfigCommonProvisioning) -
initial_input_form=wrap_create_initial_input_form(initial_input_form_generator),
target=Target.CREATE,
)
def create_trunk():
def create_trunk_config_common():
return (
init
......
......@@ -28,7 +28,7 @@ def trunk_config_selector() -> list:
trunk_config_subscriptions[str(trunk_config_id)] = trunk_config_description
return choice_list(
Choice("TrunkConfigEnum", zip(trunk_config_subscriptions.keys(), trunk_config_subscriptions.items())),
Choice("TrunkConfigEnum", zip(trunk_config_subscriptions.keys(), trunk_config_subscriptions.items())), # type:ignore
min_items=1,
max_items=1,
)
......@@ -45,7 +45,7 @@ def initial_input_form_generator(product_name: str) -> FormGenerator:
ipv4_address: Optional[str]
ipv6_address: Optional[str]
members: Optional[list]
trunk_config_ids: trunk_config_selector()
trunk_config_ids: trunk_config_selector() # type:ignore
user_input = yield CreateTrunkConfigSideForm
......@@ -92,7 +92,7 @@ def provision_trunk_config_side(subscription: TrunkConfigSideProvisioning, fqdn:
initial_input_form=wrap_create_initial_input_form(initial_input_form_generator),
target=Target.CREATE,
)
def create_trunk():
def create_trunk_config_side():
return (
init
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment