Skip to content

Commit fc1e2a7

Browse files
GitHKAndrei Neagu
andauthored
♻️ dynamic-sidecar rpc interfce namespace is now tied to the node_id (#6614)
Co-authored-by: Andrei Neagu <[email protected]>
1 parent e3b3673 commit fc1e2a7

File tree

4 files changed

+23
-18
lines changed

4 files changed

+23
-18
lines changed
Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +0,0 @@
1-
from typing import Final
2-
3-
from pydantic import parse_obj_as
4-
5-
from ..rabbitmq_basic_types import RPCNamespace
6-
7-
DYNAMIC_SIDECAR_RPC_NAMESPACE: Final[RPCNamespace] = parse_obj_as(
8-
RPCNamespace, "dynamic-sidecar"
9-
)
Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import logging
22

3-
from models_library.api_schemas_dynamic_sidecar import DYNAMIC_SIDECAR_RPC_NAMESPACE
43
from models_library.api_schemas_dynamic_sidecar.telemetry import DiskUsage
5-
from models_library.rabbitmq_basic_types import RPCMethodName
4+
from models_library.projects_nodes_io import NodeID
5+
from models_library.rabbitmq_basic_types import RPCMethodName, RPCNamespace
66
from pydantic import parse_obj_as
77
from servicelib.logging_utils import log_decorator
88
from servicelib.rabbitmq import RabbitMQRPCClient
@@ -12,11 +12,15 @@
1212

1313
@log_decorator(_logger, level=logging.DEBUG)
1414
async def update_disk_usage(
15-
rabbitmq_rpc_client: RabbitMQRPCClient, *, usage: dict[str, DiskUsage]
15+
rabbitmq_rpc_client: RabbitMQRPCClient,
16+
*,
17+
node_id: NodeID,
18+
usage: dict[str, DiskUsage],
1619
) -> None:
20+
rpc_namespace = RPCNamespace.from_entries(
21+
{"service": "dy-sidecar", "node_id": f"{node_id}"}
22+
)
1723
result = await rabbitmq_rpc_client.request(
18-
DYNAMIC_SIDECAR_RPC_NAMESPACE,
19-
parse_obj_as(RPCMethodName, "update_disk_usage"),
20-
usage=usage,
24+
rpc_namespace, parse_obj_as(RPCMethodName, "update_disk_usage"), usage=usage
2125
)
2226
assert result is None # nosec

services/dynamic-sidecar/src/simcore_service_dynamic_sidecar/api/rpc/routes.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
from fastapi import FastAPI
2-
from models_library.api_schemas_dynamic_sidecar import DYNAMIC_SIDECAR_RPC_NAMESPACE
2+
from models_library.rabbitmq_basic_types import RPCNamespace
33
from servicelib.rabbitmq import RPCRouter
44

55
from ...core.rabbitmq import get_rabbitmq_rpc_server
6+
from ...core.settings import ApplicationSettings
67
from . import _disk_usage
78

89
ROUTERS: list[RPCRouter] = [
@@ -13,7 +14,12 @@
1314
def setup_rpc_api_routes(app: FastAPI) -> None:
1415
async def startup() -> None:
1516
rpc_server = get_rabbitmq_rpc_server(app)
17+
settings: ApplicationSettings = app.state.settings
18+
19+
rpc_namespace = RPCNamespace.from_entries(
20+
{"service": "dy-sidecar", "node_id": f"{settings.DY_SIDECAR_NODE_ID}"}
21+
)
1622
for router in ROUTERS:
17-
await rpc_server.register_router(router, DYNAMIC_SIDECAR_RPC_NAMESPACE, app)
23+
await rpc_server.register_router(router, rpc_namespace, app)
1824

1925
app.add_event_handler("startup", startup)

services/dynamic-sidecar/tests/unit/test_api_rpc__disk_usage.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
from settings_library.rabbit import RabbitSettings
1818
from settings_library.redis import RedisSettings
1919
from simcore_service_dynamic_sidecar.core.application import create_app
20+
from simcore_service_dynamic_sidecar.core.settings import ApplicationSettings
2021
from simcore_service_dynamic_sidecar.modules.system_monitor._disk_usage import (
2122
get_disk_usage_monitor,
2223
)
@@ -69,8 +70,11 @@ async def test_get_state(app: FastAPI, rpc_client: RabbitMQRPCClient):
6970
total=ByteSize(0), used=ByteSize(0), free=ByteSize(0), used_percent=0
7071
)
7172
}
73+
settings: ApplicationSettings = app.state.settings
7274

73-
result = await disk_usage.update_disk_usage(rpc_client, usage=usage)
75+
result = await disk_usage.update_disk_usage(
76+
rpc_client, node_id=settings.DY_SIDECAR_NODE_ID, usage=usage
77+
)
7478
assert result is None
7579

7680
assert get_disk_usage_monitor(app)._usage_overwrite == usage # noqa: SLF001

0 commit comments

Comments
 (0)