-
- Downloads
added moodi telemetry to create EdgePort wf
parent
c560ba69
No related branches found
No related tags found
This commit is part of merge request !303. Comments created here will be created in the context of that merge request.
... | ... | @@ -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)) |