mirror of
https://github.com/clearml/clearml-server
synced 2025-04-21 06:34:24 +00:00
Model files are now deleted from the fileserver on models.delete call
This commit is contained in:
parent
e48e64a82f
commit
8c4932c7eb
@ -583,14 +583,13 @@ def _delete_model_events(
|
|||||||
"services.async_urls_delete.enabled", True
|
"services.async_urls_delete.enabled", True
|
||||||
)
|
)
|
||||||
if delete_external_artifacts:
|
if delete_external_artifacts:
|
||||||
for m in models:
|
model_urls = {m.uri for m in models if m.uri}
|
||||||
if not m.uri:
|
if model_urls:
|
||||||
continue
|
|
||||||
schedule_for_delete(
|
schedule_for_delete(
|
||||||
task_id=m.id,
|
task_id=model_ids[0],
|
||||||
company=company_id,
|
company=company_id,
|
||||||
user=user_id,
|
user=user_id,
|
||||||
urls=m.uri,
|
urls=model_urls,
|
||||||
can_delete_folders=False,
|
can_delete_folders=False,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
import unittest
|
||||||
|
|
||||||
from apiserver.apierrors import errors
|
from apiserver.apierrors import errors
|
||||||
from apiserver.apierrors.errors.bad_request import InvalidModelId
|
from apiserver.apierrors.errors.bad_request import InvalidModelId
|
||||||
from apiserver.tests.automated import TestService
|
from apiserver.tests.automated import TestService
|
||||||
@ -236,6 +238,23 @@ class TestModelsService(TestService):
|
|||||||
res = self.api.models.get_frameworks(projects=[project])
|
res = self.api.models.get_frameworks(projects=[project])
|
||||||
self.assertEqual([], res.frameworks)
|
self.assertEqual([], res.frameworks)
|
||||||
|
|
||||||
|
@unittest.skip(
|
||||||
|
"""This test requires the following setting
|
||||||
|
CLEARML__services__async_urls_delete__fileserver__url_prefixes=["https://files.allegro-master.hosted.allegro.ai"
|
||||||
|
Check the test results in the logs of async_delete service
|
||||||
|
"""
|
||||||
|
)
|
||||||
|
def test_delete_many_with_files(self):
|
||||||
|
models = [
|
||||||
|
self._create_model(
|
||||||
|
name=f"delete model test{idx}",
|
||||||
|
uri=f"https://files.allegro-master.hosted.allegro.ai/models/test{idx}.txt"
|
||||||
|
)
|
||||||
|
for idx in range(2)
|
||||||
|
]
|
||||||
|
self.api.models.delete_many(ids=models)
|
||||||
|
|
||||||
|
|
||||||
def test_make_public(self):
|
def test_make_public(self):
|
||||||
m1 = self._create_model(name="public model test")
|
m1 = self._create_model(name="public model test")
|
||||||
|
|
||||||
@ -277,7 +296,7 @@ class TestModelsService(TestService):
|
|||||||
service="models",
|
service="models",
|
||||||
delete_params=dict(can_fail=True, force=True),
|
delete_params=dict(can_fail=True, force=True),
|
||||||
name=kwargs.pop("name", "test"),
|
name=kwargs.pop("name", "test"),
|
||||||
uri=kwargs.pop("name", "file:///a"),
|
uri=kwargs.pop("uri", "file:///a"),
|
||||||
labels=kwargs.pop("labels", {}),
|
labels=kwargs.pop("labels", {}),
|
||||||
**kwargs,
|
**kwargs,
|
||||||
)
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user