Skip to content

Commit

Permalink
renaming
Browse files Browse the repository at this point in the history
  • Loading branch information
Andrei Neagu committed Jun 7, 2024
1 parent f0878ce commit aa93e57
Show file tree
Hide file tree
Showing 11 changed files with 49 additions and 51 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
from pydantic import BaseModel


class RPCDynamicServiceCreate(DynamicServiceCreate):
class DynamicServiceStart(DynamicServiceCreate):
request_dns: str
request_scheme: str
simcore_user_agent: str
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
from models_library.api_schemas_directorv2.dynamic_services import DynamicServiceGet
from models_library.api_schemas_dynamic_scheduler import DYNAMIC_SCHEDULER_RPC_NAMESPACE
from models_library.api_schemas_dynamic_scheduler.dynamic_services import (
DynamicServiceStart,
DynamicServiceStop,
RPCDynamicServiceCreate,
)
from models_library.api_schemas_webserver.projects_nodes import NodeGet, NodeGetIdle
from models_library.projects_nodes_io import NodeID
Expand Down Expand Up @@ -45,12 +45,12 @@ async def get_service_status(
async def run_dynamic_service(
rabbitmq_rpc_client: RabbitMQRPCClient,
*,
rpc_dynamic_service_create: RPCDynamicServiceCreate,
dynamic_service_start: DynamicServiceStart,
) -> DynamicServiceGet | NodeGet:
result = await rabbitmq_rpc_client.request(
DYNAMIC_SCHEDULER_RPC_NAMESPACE,
parse_obj_as(RPCMethodName, "run_dynamic_service"),
rpc_dynamic_service_create=rpc_dynamic_service_create,
dynamic_service_start=dynamic_service_start,
timeout_s=_RPC_DEFAULT_TIMEOUT_S,
)
assert isinstance(result, DynamicServiceGet | NodeGet) # nosec
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
from fastapi import FastAPI
from models_library.api_schemas_directorv2.dynamic_services import DynamicServiceGet
from models_library.api_schemas_dynamic_scheduler.dynamic_services import (
DynamicServiceStart,
DynamicServiceStop,
RPCDynamicServiceCreate,
)
from models_library.api_schemas_webserver.projects_nodes import NodeGet, NodeGetIdle
from models_library.projects_nodes_io import NodeID
Expand All @@ -28,10 +28,10 @@ async def get_service_status(

@router.expose()
async def run_dynamic_service(
app: FastAPI, *, rpc_dynamic_service_create: RPCDynamicServiceCreate
app: FastAPI, *, dynamic_service_start: DynamicServiceStart
) -> NodeGet | DynamicServiceGet:
director_v2_client = DirectorV2Client.get_from_app_state(app)
return await director_v2_client.run_dynamic_service(rpc_dynamic_service_create)
return await director_v2_client.run_dynamic_service(dynamic_service_start)


@router.expose(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
from fastapi import FastAPI, status
from models_library.api_schemas_directorv2.dynamic_services import DynamicServiceGet
from models_library.api_schemas_dynamic_scheduler.dynamic_services import (
RPCDynamicServiceCreate,
DynamicServiceStart,
)
from models_library.api_schemas_webserver.projects_nodes import NodeGet, NodeGetIdle
from models_library.projects_nodes_io import NodeID
Expand Down Expand Up @@ -55,11 +55,9 @@ async def get_status(
raise

async def run_dynamic_service(
self, rpc_dynamic_service_create: RPCDynamicServiceCreate
self, dynamic_service_start: DynamicServiceStart
) -> NodeGet | DynamicServiceGet:
response = await self.thin_client.post_dynamic_service(
rpc_dynamic_service_create
)
response = await self.thin_client.post_dynamic_service(dynamic_service_start)
dict_response: dict[str, Any] = response.json()

# legacy services
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from fastapi import FastAPI, status
from httpx import Response, Timeout
from models_library.api_schemas_dynamic_scheduler.dynamic_services import (
RPCDynamicServiceCreate,
DynamicServiceStart,
)
from models_library.projects_nodes_io import NodeID
from models_library.services_resources import ServiceResourcesDictHelpers
Expand Down Expand Up @@ -48,29 +48,29 @@ async def get_status(self, node_id: NodeID) -> Response:
@retry_on_errors()
@expect_status(status.HTTP_201_CREATED)
async def post_dynamic_service(
self, rpc_dynamic_service_create: RPCDynamicServiceCreate
self, dynamic_service_start: DynamicServiceStart
) -> Response:
post_data = {
"product_name": rpc_dynamic_service_create.product_name,
"can_save": rpc_dynamic_service_create.can_save,
"user_id": rpc_dynamic_service_create.user_id,
"project_id": rpc_dynamic_service_create.project_id,
"key": rpc_dynamic_service_create.key,
"version": rpc_dynamic_service_create.version,
"node_uuid": rpc_dynamic_service_create.node_uuid,
"basepath": f"/x/{rpc_dynamic_service_create.node_uuid}",
"product_name": dynamic_service_start.product_name,
"can_save": dynamic_service_start.can_save,
"user_id": dynamic_service_start.user_id,
"project_id": dynamic_service_start.project_id,
"key": dynamic_service_start.key,
"version": dynamic_service_start.version,
"node_uuid": dynamic_service_start.node_uuid,
"basepath": f"/x/{dynamic_service_start.node_uuid}",
"service_resources": ServiceResourcesDictHelpers.create_jsonable(
rpc_dynamic_service_create.service_resources
dynamic_service_start.service_resources
),
"wallet_info": rpc_dynamic_service_create.wallet_info,
"pricing_info": rpc_dynamic_service_create.pricing_info,
"hardware_info": rpc_dynamic_service_create.hardware_info,
"wallet_info": dynamic_service_start.wallet_info,
"pricing_info": dynamic_service_start.pricing_info,
"hardware_info": dynamic_service_start.hardware_info,
}

headers = {
X_DYNAMIC_SIDECAR_REQUEST_DNS: rpc_dynamic_service_create.request_dns,
X_DYNAMIC_SIDECAR_REQUEST_SCHEME: rpc_dynamic_service_create.request_scheme,
X_SIMCORE_USER_AGENT: rpc_dynamic_service_create.simcore_user_agent,
X_DYNAMIC_SIDECAR_REQUEST_DNS: dynamic_service_start.request_dns,
X_DYNAMIC_SIDECAR_REQUEST_SCHEME: dynamic_service_start.request_scheme,
X_SIMCORE_USER_AGENT: dynamic_service_start.simcore_user_agent,
}

return await self.client.post(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@
from fastapi.encoders import jsonable_encoder
from models_library.api_schemas_directorv2.dynamic_services import DynamicServiceGet
from models_library.api_schemas_dynamic_scheduler.dynamic_services import (
DynamicServiceStart,
DynamicServiceStop,
RPCDynamicServiceCreate,
)
from models_library.api_schemas_webserver.projects_nodes import NodeGet, NodeGetIdle
from models_library.projects import ProjectID
Expand Down Expand Up @@ -171,10 +171,10 @@ async def test_get_state(


@pytest.fixture
def rpc_dynamic_service_create() -> RPCDynamicServiceCreate:
def dynamic_service_start() -> DynamicServiceStart:
# one for legacy and one for new style?
return RPCDynamicServiceCreate.parse_obj(
RPCDynamicServiceCreate.Config.schema_extra["example"]
return DynamicServiceStart.parse_obj(
DynamicServiceStart.Config.schema_extra["example"]
)


Expand Down Expand Up @@ -226,11 +226,11 @@ async def test_run_dynamic_service(
mock_director_v0_service_run: None,
mock_director_v2_service_run: None,
rpc_client: RabbitMQRPCClient,
rpc_dynamic_service_create: RPCDynamicServiceCreate,
dynamic_service_start: DynamicServiceStart,
is_legacy: bool,
):
result = await services.run_dynamic_service(
rpc_client, rpc_dynamic_service_create=rpc_dynamic_service_create
rpc_client, dynamic_service_start=dynamic_service_start
)

if is_legacy:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
from aiohttp import web
from models_library.api_schemas_directorv2.dynamic_services import DynamicServiceGet
from models_library.api_schemas_dynamic_scheduler.dynamic_services import (
DynamicServiceStart,
DynamicServiceStop,
RPCDynamicServiceCreate,
)
from models_library.api_schemas_webserver.projects_nodes import (
NodeGet,
Expand Down Expand Up @@ -43,11 +43,11 @@ async def get_dynamic_service(


async def run_dynamic_service(
app: web.Application, *, rpc_dynamic_service_create: RPCDynamicServiceCreate
app: web.Application, *, dynamic_service_start: DynamicServiceStart
) -> DynamicServiceGet | NodeGet:
return await services.run_dynamic_service(
get_rabbitmq_rpc_client(app),
rpc_dynamic_service_create=rpc_dynamic_service_create,
dynamic_service_start=dynamic_service_start,
)


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@
GetProjectInactivityResponse,
)
from models_library.api_schemas_dynamic_scheduler.dynamic_services import (
DynamicServiceStart,
DynamicServiceStop,
RPCDynamicServiceCreate,
)
from models_library.api_schemas_webserver.projects import ProjectPatch
from models_library.api_schemas_webserver.projects_nodes import NodePatch
Expand Down Expand Up @@ -680,7 +680,7 @@ async def _start_dynamic_service(
)
await dynamic_scheduler_api.run_dynamic_service(
app=request.app,
rpc_dynamic_service_create=RPCDynamicServiceCreate(
dynamic_service_start=DynamicServiceStart(
product_name=product_name,
can_save=save_state,
project_id=project_uuid,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
from faker import Faker
from models_library.api_schemas_directorv2.dynamic_services import DynamicServiceGet
from models_library.api_schemas_dynamic_scheduler.dynamic_services import (
RPCDynamicServiceCreate,
DynamicServiceStart,
)
from models_library.api_schemas_webserver.projects_nodes import (
NodeGet,
Expand Down Expand Up @@ -46,9 +46,9 @@ def mock_rpc_client(


@pytest.fixture
def rpc_dynamic_service_create() -> RPCDynamicServiceCreate:
return RPCDynamicServiceCreate.parse_obj(
RPCDynamicServiceCreate.Config.schema_extra["example"]
def dynamic_service_start() -> DynamicServiceStart:
return DynamicServiceStart.parse_obj(
DynamicServiceStart.Config.schema_extra["example"]
)


Expand Down Expand Up @@ -108,11 +108,11 @@ async def test_run_dynamic_service(
mock_rpc_client: None,
mocked_app: AsyncMock,
expected_response: NodeGet | NodeGetIdle | DynamicServiceGet,
rpc_dynamic_service_create: RPCDynamicServiceCreate,
dynamic_service_start: DynamicServiceStart,
):
assert (
await run_dynamic_service(
mocked_app, rpc_dynamic_service_create=rpc_dynamic_service_create
mocked_app, dynamic_service_start=dynamic_service_start
)
== expected_response
)
Original file line number Diff line number Diff line change
Expand Up @@ -392,7 +392,7 @@ def num_services(

def inc_running_services(self, *args, **kwargs): # noqa: ARG002
self.running_services_uuids.append(
kwargs["rpc_dynamic_service_create"].node_uuid
kwargs["dynamic_service_start"].node_uuid
)

# let's count the started services
Expand Down Expand Up @@ -515,7 +515,7 @@ async def inc_running_services(self, *args, **kwargs): # noqa: ARG002
# reproduces real world conditions and makes test to fail
await asyncio.sleep(SERVICE_IS_RUNNING_AFTER_S)
self.running_services_uuids.append(
kwargs["rpc_dynamic_service_create"].node_uuid
kwargs["dynamic_service_start"].node_uuid
)

# let's count the started services
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
from faker import Faker
from models_library.api_schemas_directorv2.dynamic_services import DynamicServiceGet
from models_library.api_schemas_dynamic_scheduler.dynamic_services import (
RPCDynamicServiceCreate,
DynamicServiceStart,
)
from models_library.api_schemas_webserver.projects_nodes import NodeGet, NodeGetIdle
from models_library.projects import ProjectID
Expand Down Expand Up @@ -370,7 +370,7 @@ async def test_open_project(
calls.append(
call(
app=client.app,
rpc_dynamic_service_create=RPCDynamicServiceCreate(
dynamic_service_start=DynamicServiceStart(
project_id=user_project["uuid"],
service_key=service["key"],
service_uuid=service_uuid,
Expand Down Expand Up @@ -449,7 +449,7 @@ async def test_open_template_project_for_edition(
calls.append(
call(
app=client.app,
rpc_dynamic_service_create=RPCDynamicServiceCreate(
dynamic_service_start=DynamicServiceStart(
project_id=template_project["uuid"],
service_key=service["key"],
service_uuid=service_uuid,
Expand Down

0 comments on commit aa93e57

Please sign in to comment.