Skip to content
Snippets Groups Projects

added moodi telemetry to create EdgePort wf

Merged Mohammad Torkashvand requested to merge add-moodi-to-create-edge-port into develop
3 files
+ 32
18
Compare changes
  • Side-by-side
  • Inline
Files
3
+ 28
18
@@ -7,6 +7,7 @@ from orchestrator import inputstep, step
from orchestrator.config.assignee import Assignee
from orchestrator.types import State, UUIDstr
from orchestrator.utils.json import json_dumps
from orchestrator.workflow import StepList, begin, conditional
from pydantic import ConfigDict
from pydantic_forms.core import FormPage
from pydantic_forms.types import FormGenerator
@@ -14,7 +15,7 @@ from pydantic_forms.validators import Label
from gso.products.product_blocks.router import RouterRole
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.utils.helpers import generate_inventory_for_active_routers
from gso.utils.shared_enums import Vendor
@@ -391,25 +392,34 @@ def prompt_sharepoint_checklist_url(checklist_url: str) -> FormGenerator:
return {}
@step("Start Moodi")
def start_moodi(subscription: dict[str, Any]) -> LSOState:
_is_moodi_enabled = conditional(lambda _: load_oss_params().MOODI.moodi_enabled)
def start_moodi() -> StepList:
"""Start monitoring on demand using Moodi Telemetry stack."""
params = load_oss_params()
host = load_oss_params().MOODI.host
return {
"playbook_name": "moodi_telemetry/playbooks/start_moodi.yaml",
"inventory": {"all": {"hosts": {params.MOODI.host: None}}},
"extra_vars": {"subscription": subscription},
}
@step("Start Moodi")
def _start_moodi(subscription: dict[str, Any]) -> LSOState:
return {
"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 {
"playbook_name": "moodi_telemetry/playbooks/stop_moodi.yaml",
"inventory": {"all": {"hosts": {params.MOODI.host: None}}},
"extra_vars": None,
}
def stop_moodi() -> StepList:
"""Stop Moodi Telemetry monitoring on demand."""
host = load_oss_params().MOODI.host
@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))
Loading