Skip to content

Commit 9a71d52

Browse files
author
Andrei Neagu
committed
delegate volume removal to agent
1 parent 5930d5d commit 9a71d52

File tree

2 files changed

+28
-23
lines changed

2 files changed

+28
-23
lines changed

services/director-v2/src/simcore_service_director_v2/modules/dynamic_sidecar/scheduler/_core/_events_utils.py

Lines changed: 6 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -67,11 +67,10 @@
6767
get_projects_networks_containers,
6868
remove_dynamic_sidecar_network,
6969
remove_dynamic_sidecar_stack,
70-
remove_volumes_from_node,
7170
try_to_remove_network,
7271
)
7372
from ...errors import EntrypointContainerNotFoundError
74-
from ...volumes import DY_SIDECAR_SHARED_STORE_PATH, DynamicSidecarVolumesPathsResolver
73+
from ...volumes_removal import remove_volumes_from_node
7574

7675
if TYPE_CHECKING:
7776
# NOTE: TYPE_CHECKING is True when static type checkers are running,
@@ -230,29 +229,13 @@ async def service_remove_sidecar_proxy_docker_networks_and_volumes(
230229
task_progress.update(
231230
message="removing volumes", percent=ProgressPercent(0.3)
232231
)
233-
unique_volume_names = [
234-
DynamicSidecarVolumesPathsResolver.source(
235-
path=volume_path,
236-
node_uuid=scheduler_data.node_uuid,
237-
run_id=scheduler_data.run_id,
238-
)
239-
for volume_path in [
240-
DY_SIDECAR_SHARED_STORE_PATH,
241-
scheduler_data.paths_mapping.inputs_path,
242-
scheduler_data.paths_mapping.outputs_path,
243-
*scheduler_data.paths_mapping.state_paths,
244-
]
245-
]
246-
with log_context(
247-
_logger, logging.DEBUG, f"removing volumes via service for {node_uuid}"
248-
):
232+
with log_context(_logger, logging.DEBUG, f"removing volumes '{node_uuid}'"):
233+
rabbitmq_client: RabbitMQClient = app.state.rabbitmq_client
249234
await remove_volumes_from_node(
250-
swarm_stack_name=swarm_stack_name,
251-
volume_names=unique_volume_names,
235+
rabbitmq_client=rabbitmq_client,
252236
docker_node_id=scheduler_data.dynamic_sidecar.docker_node_id,
253-
user_id=scheduler_data.user_id,
254-
project_id=scheduler_data.project_id,
255-
node_uuid=scheduler_data.node_uuid,
237+
swarm_stack_name=swarm_stack_name,
238+
node_id=scheduler_data.node_uuid,
256239
)
257240

258241
_logger.debug(
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
from models_library.projects_nodes_io import NodeID
2+
from servicelib.rabbitmq import RabbitMQClient
3+
from servicelib.rabbitmq.rpc_interfaces.agent.volumes import (
4+
remove_volumes_without_backup_for_service,
5+
)
6+
7+
8+
async def remove_volumes_from_node(
9+
rabbitmq_client: RabbitMQClient,
10+
docker_node_id: str,
11+
swarm_stack_name: str,
12+
*,
13+
node_id: NodeID,
14+
) -> None:
15+
"""removes all service volumes form the node where it was running"""
16+
17+
await remove_volumes_without_backup_for_service(
18+
rabbitmq_client,
19+
docker_node_id=docker_node_id,
20+
swarm_stack_name=swarm_stack_name,
21+
node_id=node_id,
22+
)

0 commit comments

Comments
 (0)