"examples/vscode:/vscode.git/clone" did not exist on "ce90f9b2db9f459f463a3239dc4c24a04072fd43"
Unverified Commit 155eb854 authored by Jakob Görgen's avatar Jakob Görgen
Browse files

symphony/client: properly send instantiation to backend when calling create

parent 35a75ec0
...@@ -24,14 +24,13 @@ ...@@ -24,14 +24,13 @@
import aiohttp import aiohttp
import typing import typing
import contextlib import contextlib
import asyncio
import json import json
from simbricks.utils import base as utils_base from simbricks.utils import base as utils_base
from rich.console import Console
from .auth import TokenProvider from .auth import TokenProvider
from .settings import client_settings from .settings import client_settings
from simbricks.orchestration import system from simbricks.orchestration import system
from simbricks.orchestration import simulation from simbricks.orchestration import simulation
from simbricks.orchestration import instantiation
class BaseClient: class BaseClient:
...@@ -85,6 +84,9 @@ class BaseClient: ...@@ -85,6 +84,9 @@ class BaseClient:
await self._token_provider.resource_token(ticket) await self._token_provider.resource_token(ticket)
async with self.request(meth, url, data, False, **kwargs) as resp: async with self.request(meth, url, data, False, **kwargs) as resp:
yield resp yield resp
elif resp.status in [400, 402]:
msg = await resp.json()
raise Exception(f"Error sending request: {msg}")
else: else:
resp.raise_for_status() # TODO: handel gracefully resp.raise_for_status() # TODO: handel gracefully
yield resp yield resp
...@@ -296,8 +298,8 @@ class SimBricksClient: ...@@ -296,8 +298,8 @@ class SimBricksClient:
async with self._ns_client.get(url="/simulations") as resp: async with self._ns_client.get(url="/simulations") as resp:
return await resp.json() return await resp.json()
async def create_instantiation(self, sim_db_id: int, instantiation: simulation.Simulation) -> simulation.Simulation: async def create_instantiation(self, sim_db_id: int, instantiation: instantiation.Instantiation) -> dict:
inst_json = json.dumps({}) # FIXME inst_json = json.dumps(instantiation.toJSON())
json_obj = {"simulation_id": sim_db_id, "sb_json": inst_json} json_obj = {"simulation_id": sim_db_id, "sb_json": inst_json}
async with self._ns_client.post(url="/instantiations", json=json_obj) as resp: async with self._ns_client.post(url="/instantiations", json=json_obj) as resp:
return await resp.json() return await resp.json()
...@@ -539,8 +541,9 @@ class RunnerClient: ...@@ -539,8 +541,9 @@ class RunnerClient:
"state": state, "state": state,
"output": output, "output": output,
"id": run_id, "id": run_id,
"instantiation_id": 42, "instantiation_id": None, # TODO: FIXME
} }
obj = utils_base.filter_None_dict(to_filter=obj)
async with self.put(url=f"/update_run/{run_id}", json=obj) as resp: async with self.put(url=f"/update_run/{run_id}", json=obj) as resp:
await resp.json() await resp.json()
......
...@@ -88,14 +88,19 @@ async def submit_system(system: system.System) -> int: ...@@ -88,14 +88,19 @@ async def submit_system(system: system.System) -> int:
async def submit_simulation(system_id: int, simulation: simulation.Simulation) -> int: async def submit_simulation(system_id: int, simulation: simulation.Simulation) -> int:
simulation = await provider.client_provider.simbricks_client.create_simulation(system_id, simulation) simulation = await provider.client_provider.simbricks_client.create_simulation(
system_id, simulation
)
sim_id = int(simulation["id"]) sim_id = int(simulation["id"])
return sim_id return sim_id
async def submit_instantiation(simulation_id: int, instantiation: instantiation.Instantiation) -> int: async def submit_instantiation(
# TODO: the instantiation itself is currently not used as this is not yet supported simulation_id: int, instantiation: instantiation.Instantiation
instantiation = await provider.client_provider.simbricks_client.create_instantiation(simulation_id, None) ) -> int:
instantiation = await provider.client_provider.simbricks_client.create_instantiation(
simulation_id, instantiation
)
inst_id = int(instantiation["id"]) inst_id = int(instantiation["id"])
return inst_id return inst_id
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment