-
- Downloads
added moodi telemetry to create EdgePort wf
... | @@ -7,6 +7,7 @@ from orchestrator import inputstep, step | ... | @@ -7,6 +7,7 @@ from orchestrator import inputstep, step |
from orchestrator.config.assignee import Assignee | from orchestrator.config.assignee import Assignee | ||
from orchestrator.types import State, UUIDstr | from orchestrator.types import State, UUIDstr | ||
from orchestrator.utils.json import json_dumps | from orchestrator.utils.json import json_dumps | ||
from orchestrator.workflow import StepList, begin, conditional | |||
from pydantic import ConfigDict | from pydantic import ConfigDict | ||
from pydantic_forms.core import FormPage | from pydantic_forms.core import FormPage | ||
from pydantic_forms.types import FormGenerator | from pydantic_forms.types import FormGenerator | ||
... | @@ -14,7 +15,7 @@ from pydantic_forms.validators import Label | ... | @@ -14,7 +15,7 @@ from pydantic_forms.validators import Label |
from gso.products.product_blocks.router import RouterRole | from gso.products.product_blocks.router import RouterRole | ||
from gso.products.product_types.iptrunk import Iptrunk | from gso.products.product_types.iptrunk import Iptrunk | ||
from gso.services.lso_client import LSOState | from gso.services.lso_client import LSOState, lso_interaction | ||
from gso.settings import load_oss_params | from gso.settings import load_oss_params | ||
from gso.utils.helpers import generate_inventory_for_active_routers | from gso.utils.helpers import generate_inventory_for_active_routers | ||
from gso.utils.shared_enums import Vendor | from gso.utils.shared_enums import Vendor | ||
... | @@ -391,25 +392,34 @@ def prompt_sharepoint_checklist_url(checklist_url: str) -> FormGenerator: | ... | @@ -391,25 +392,34 @@ def prompt_sharepoint_checklist_url(checklist_url: str) -> FormGenerator: |
return {} | return {} | ||
@step("Start Moodi") | _is_moodi_enabled = conditional(lambda _: load_oss_params().MOODI.moodi_enabled) | ||
def start_moodi(subscription: dict[str, Any]) -> LSOState: | |||
def start_moodi() -> StepList: | |||
"""Start monitoring on demand using Moodi Telemetry stack.""" | """Start monitoring on demand using Moodi Telemetry stack.""" | ||
params = load_oss_params() | host = load_oss_params().MOODI.host | ||
return { | @step("Start Moodi") | ||
"playbook_name": "moodi_telemetry/playbooks/start_moodi.yaml", | def _start_moodi(subscription: dict[str, Any]) -> LSOState: | ||
"inventory": {"all": {"hosts": {params.MOODI.host: None}}}, | return { | ||
"extra_vars": {"subscription": subscription}, | "playbook_name": "moodi_telemetry/playbooks/start_moodi.yaml", | ||
} | "inventory": {"all": {"hosts": {host: None}}}, | ||
"extra_vars": {"subscription": subscription}, | |||
} | |||
return begin >> _is_moodi_enabled(begin >> lso_interaction(_start_moodi)) | |||
@step("Stop Moodi") | |||
def stop_moodi() -> LSOState: | |||
"""Stop monitoring on demand.""" | |||
params = load_oss_params() | |||
return { | def stop_moodi() -> StepList: | ||
"playbook_name": "moodi_telemetry/playbooks/stop_moodi.yaml", | """Stop Moodi Telemetry monitoring on demand.""" | ||
|
|||
"inventory": {"all": {"hosts": {params.MOODI.host: None}}}, | host = load_oss_params().MOODI.host | ||
"extra_vars": None, | |||
} | @step("Stop Moodi") | ||
def _stop_moodi() -> LSOState: | |||
return { | |||
"playbook_name": "moodi_telemetry/playbooks/stop_moodi.yaml", | |||
"inventory": {"all": {"hosts": {host: None}}}, | |||
"extra_vars": None, | |||
} | |||
return begin >> _is_moodi_enabled(begin >> lso_interaction(_stop_moodi)) |