Skip to content

Commit 8c4932c

Browse files
author
clearml
committed
Model files are now deleted from the fileserver on models.delete call
1 parent e48e64a commit 8c4932c

File tree

2 files changed

+24
-6
lines changed

2 files changed

+24
-6
lines changed

apiserver/services/models.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -583,14 +583,13 @@ def _delete_model_events(
583583
"services.async_urls_delete.enabled", True
584584
)
585585
if delete_external_artifacts:
586-
for m in models:
587-
if not m.uri:
588-
continue
586+
model_urls = {m.uri for m in models if m.uri}
587+
if model_urls:
589588
schedule_for_delete(
590-
task_id=m.id,
589+
task_id=model_ids[0],
591590
company=company_id,
592591
user=user_id,
593-
urls=m.uri,
592+
urls=model_urls,
594593
can_delete_folders=False,
595594
)
596595

apiserver/tests/automated/test_models.py

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import unittest
2+
13
from apiserver.apierrors import errors
24
from apiserver.apierrors.errors.bad_request import InvalidModelId
35
from apiserver.tests.automated import TestService
@@ -236,6 +238,23 @@ def test_get_frameworks(self):
236238
res = self.api.models.get_frameworks(projects=[project])
237239
self.assertEqual([], res.frameworks)
238240

241+
@unittest.skip(
242+
"""This test requires the following setting
243+
CLEARML__services__async_urls_delete__fileserver__url_prefixes=["https://files.allegro-master.hosted.allegro.ai"
244+
Check the test results in the logs of async_delete service
245+
"""
246+
)
247+
def test_delete_many_with_files(self):
248+
models = [
249+
self._create_model(
250+
name=f"delete model test{idx}",
251+
uri=f"https://files.allegro-master.hosted.allegro.ai/models/test{idx}.txt"
252+
)
253+
for idx in range(2)
254+
]
255+
self.api.models.delete_many(ids=models)
256+
257+
239258
def test_make_public(self):
240259
m1 = self._create_model(name="public model test")
241260

@@ -277,7 +296,7 @@ def _create_model(self, **kwargs):
277296
service="models",
278297
delete_params=dict(can_fail=True, force=True),
279298
name=kwargs.pop("name", "test"),
280-
uri=kwargs.pop("name", "file:///a"),
299+
uri=kwargs.pop("uri", "file:///a"),
281300
labels=kwargs.pop("labels", {}),
282301
**kwargs,
283302
)

0 commit comments

Comments
 (0)