Loading simulation_server/models/sim.py +1 −5 Original line number Diff line number Diff line Loading @@ -10,10 +10,6 @@ from ..util.misc import omit from ..util.api_queries import filter_params, sort_params SimSystem = Literal["frontier", "fugaku", "lassen", "marconi100"] SIM_SYSTEMS: tuple[str] = get_args(SimSystem) class Sim(BaseModel): """ Represents a single simulation run """ Loading @@ -23,7 +19,7 @@ class Sim(BaseModel): user: Optional[str] = None """ User who launched the simulation """ system: SimSystem system: str state: Optional[Literal['running', 'success', 'fail']] = None Loading simulation_server/server/endpoints.py +4 −4 Original line number Diff line number Diff line Loading @@ -10,7 +10,7 @@ from ..models.output import ( CoolingSimCDU, COOLING_CDU_FILTERS, COOLING_CDU_FIELD_SELECTORS, CoolingSimCEP, COOLING_CEP_FIELD_SELECTORS, ) from ..models.sim import Sim, SIM_FIELD_SELECTORS, SIM_FILTERS, SIM_SORT, SimConfig, SimSystem from ..models.sim import Sim, SIM_FIELD_SELECTORS, SIM_FILTERS, SIM_SORT, ServerSimConfig from ..models.output import SystemInfo from ..util.api_queries import Granularity, granularity_params, Filters, Sort, get_selectors from .config import AppDeps Loading @@ -27,10 +27,10 @@ GranularityDep = A[Granularity, Depends(granularity_params(default_granularity=t @router.post("/simulation/run", response_model=Sim) def run(*, sim_config: A[SimConfig, Body()], deps: AppDeps): def run(*, sim_config: A[ServerSimConfig, Body()], deps: AppDeps): """ Start running a simulation in the background. POST the configuration for the simulation. Returns a Sim object containing an id you can use to query the results as they are generated. Foo a Sim object containing an id you can use to query the results as they are generated. """ return run_simulation(sim_config, deps) Loading Loading @@ -213,5 +213,5 @@ def scheduler_system(*, @router.get("/system-info/{system}", response_model=SystemInfo) def system_info(system: SimSystem): def system_info(system: str): return get_system_info(system = system) simulation_server/server/service.py +4 −4 Original line number Diff line number Diff line Loading @@ -4,7 +4,7 @@ import uuid, time, json, base64, os, sys, subprocess import sqlalchemy as sqla from loguru import logger from pydantic import ValidationError from ..models.sim import Sim, SimConfig, SIM_FILTERS, SIM_FIELD_SELECTORS, SimSystem from ..models.sim import Sim, ServerSimConfig, SIM_FILTERS, SIM_FIELD_SELECTORS from ..models.base import ResponseFormat from ..models.output import ( COOLING_CDU_API_FIELDS, COOLING_CDU_FIELD_SELECTORS, Loading Loading @@ -51,12 +51,12 @@ def wait_until_exists(stmt: sqla.Select, *, timeout: timedelta = timedelta(minut def run_simulation(sim_config: SimConfig, deps: AppDeps): def run_simulation(sim_config: ServerSimConfig, deps: AppDeps): sim = Sim( # Random sim id, use base32 to make it a bit shorter id = base64.b32encode(uuid.uuid4().bytes).decode().rstrip('=').lower(), user = "unknown", # TODO pull this from cookie/auth header system = sim_config.system, system = sim_config.system_configs[0].system_name, state = "running", start = sim_config.start, end = sim_config.end, Loading Loading @@ -696,7 +696,7 @@ def build_scheduler_sim_power_history_query(*, ) def get_system_info(system: SimSystem): def get_system_info(system: str): from ..simulation.simulation import get_scheduler sc = get_scheduler(system = system) return sc.get_gauge_limits() Loading
simulation_server/models/sim.py +1 −5 Original line number Diff line number Diff line Loading @@ -10,10 +10,6 @@ from ..util.misc import omit from ..util.api_queries import filter_params, sort_params SimSystem = Literal["frontier", "fugaku", "lassen", "marconi100"] SIM_SYSTEMS: tuple[str] = get_args(SimSystem) class Sim(BaseModel): """ Represents a single simulation run """ Loading @@ -23,7 +19,7 @@ class Sim(BaseModel): user: Optional[str] = None """ User who launched the simulation """ system: SimSystem system: str state: Optional[Literal['running', 'success', 'fail']] = None Loading
simulation_server/server/endpoints.py +4 −4 Original line number Diff line number Diff line Loading @@ -10,7 +10,7 @@ from ..models.output import ( CoolingSimCDU, COOLING_CDU_FILTERS, COOLING_CDU_FIELD_SELECTORS, CoolingSimCEP, COOLING_CEP_FIELD_SELECTORS, ) from ..models.sim import Sim, SIM_FIELD_SELECTORS, SIM_FILTERS, SIM_SORT, SimConfig, SimSystem from ..models.sim import Sim, SIM_FIELD_SELECTORS, SIM_FILTERS, SIM_SORT, ServerSimConfig from ..models.output import SystemInfo from ..util.api_queries import Granularity, granularity_params, Filters, Sort, get_selectors from .config import AppDeps Loading @@ -27,10 +27,10 @@ GranularityDep = A[Granularity, Depends(granularity_params(default_granularity=t @router.post("/simulation/run", response_model=Sim) def run(*, sim_config: A[SimConfig, Body()], deps: AppDeps): def run(*, sim_config: A[ServerSimConfig, Body()], deps: AppDeps): """ Start running a simulation in the background. POST the configuration for the simulation. Returns a Sim object containing an id you can use to query the results as they are generated. Foo a Sim object containing an id you can use to query the results as they are generated. """ return run_simulation(sim_config, deps) Loading Loading @@ -213,5 +213,5 @@ def scheduler_system(*, @router.get("/system-info/{system}", response_model=SystemInfo) def system_info(system: SimSystem): def system_info(system: str): return get_system_info(system = system)
simulation_server/server/service.py +4 −4 Original line number Diff line number Diff line Loading @@ -4,7 +4,7 @@ import uuid, time, json, base64, os, sys, subprocess import sqlalchemy as sqla from loguru import logger from pydantic import ValidationError from ..models.sim import Sim, SimConfig, SIM_FILTERS, SIM_FIELD_SELECTORS, SimSystem from ..models.sim import Sim, ServerSimConfig, SIM_FILTERS, SIM_FIELD_SELECTORS from ..models.base import ResponseFormat from ..models.output import ( COOLING_CDU_API_FIELDS, COOLING_CDU_FIELD_SELECTORS, Loading Loading @@ -51,12 +51,12 @@ def wait_until_exists(stmt: sqla.Select, *, timeout: timedelta = timedelta(minut def run_simulation(sim_config: SimConfig, deps: AppDeps): def run_simulation(sim_config: ServerSimConfig, deps: AppDeps): sim = Sim( # Random sim id, use base32 to make it a bit shorter id = base64.b32encode(uuid.uuid4().bytes).decode().rstrip('=').lower(), user = "unknown", # TODO pull this from cookie/auth header system = sim_config.system, system = sim_config.system_configs[0].system_name, state = "running", start = sim_config.start, end = sim_config.end, Loading Loading @@ -696,7 +696,7 @@ def build_scheduler_sim_power_history_query(*, ) def get_system_info(system: SimSystem): def get_system_info(system: str): from ..simulation.simulation import get_scheduler sc = get_scheduler(system = system) return sc.get_gauge_limits()