Skip to content

Commit b2d7962

Browse files
author
Andrei Neagu
committed
refactored disk
1 parent bc9c7d5 commit b2d7962

File tree

7 files changed

+76
-3
lines changed

7 files changed

+76
-3
lines changed
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import logging
2+
3+
from models_library.projects_nodes_io import NodeID
4+
from models_library.rabbitmq_basic_types import RPCMethodName, RPCNamespace
5+
from pydantic import TypeAdapter
6+
7+
from ....logging_utils import log_decorator
8+
from ... import RabbitMQRPCClient
9+
10+
_logger = logging.getLogger(__name__)
11+
12+
13+
@log_decorator(_logger, level=logging.DEBUG)
14+
async def free_reserved_disk_space(
15+
rabbitmq_rpc_client: RabbitMQRPCClient,
16+
*,
17+
node_id: NodeID,
18+
) -> None:
19+
rpc_namespace = RPCNamespace.from_entries(
20+
{"service": "dy-sidecar", "node_id": f"{node_id}"}
21+
)
22+
result = await rabbitmq_rpc_client.request(
23+
rpc_namespace,
24+
TypeAdapter(RPCMethodName).validate_python("free_reserved_disk_space"),
25+
)
26+
assert result is None # nosec

services/dynamic-sidecar/src/simcore_service_dynamic_sidecar/api/rest/disk.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from fastapi import APIRouter, status
22

3-
from ...core.reserved_space import remove_reserved_disk_space
3+
from ...services import disk
44

55
router = APIRouter()
66

@@ -11,4 +11,4 @@
1111
status_code=status.HTTP_204_NO_CONTENT,
1212
)
1313
async def free_reserved_disk_space() -> None:
14-
remove_reserved_disk_space()
14+
disk.remove_reserved_disk_space()
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
from fastapi import FastAPI
2+
from servicelib.rabbitmq import RPCRouter
3+
4+
from ...services import disk
5+
6+
router = RPCRouter()
7+
8+
9+
@router.expose()
10+
async def free_reserved_disk_space(_: FastAPI) -> None:
11+
disk.remove_reserved_disk_space()

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,11 @@
44

55
from ...core.rabbitmq import get_rabbitmq_rpc_server
66
from ...core.settings import ApplicationSettings
7-
from . import _disk_usage, _volumes
7+
from . import _disk, _disk_usage, _volumes
88

99
ROUTERS: list[RPCRouter] = [
1010
_disk_usage.router,
11+
_disk.router,
1112
_volumes.router,
1213
]
1314

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
from ..core.reserved_space import remove_reserved_disk_space
2+
3+
__all__: tuple[str, ...] = ("remove_reserved_disk_space",)
4+
5+
# nopycln: file
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# pylint:disable=unused-argument
2+
3+
4+
from fastapi import FastAPI
5+
from servicelib.rabbitmq import RabbitMQRPCClient
6+
from servicelib.rabbitmq.rpc_interfaces.dynamic_sidecar import disk
7+
from simcore_service_dynamic_sidecar.core.reserved_space import (
8+
_RESERVED_DISK_SPACE_NAME,
9+
)
10+
from simcore_service_dynamic_sidecar.core.settings import ApplicationSettings
11+
12+
pytest_simcore_core_services_selection = [
13+
"rabbit",
14+
]
15+
16+
17+
async def test_free_reserved_disk_space(
18+
cleanup_reserved_disk_space: None, app: FastAPI, rpc_client: RabbitMQRPCClient
19+
):
20+
assert _RESERVED_DISK_SPACE_NAME.exists()
21+
22+
settings: ApplicationSettings = app.state.settings
23+
24+
result = await disk.free_reserved_disk_space(
25+
rpc_client,
26+
node_id=settings.DY_SIDECAR_NODE_ID,
27+
)
28+
assert result is None
29+
30+
assert not _RESERVED_DISK_SPACE_NAME.exists()

0 commit comments

Comments
 (0)