For anyone else struggling with this:
Shell into the mongo container and rundb.task.find({ "project": "<PROJECT_ID>" }, { "execution.artifacts.$": 1 }).forEach(function (doc) { Object.keys(doc.execution.artifacts).forEach(function (k) { doc.execution.artifacts[k].uri = doc.execution.artifacts[k].uri.replace("old_host", "new_host"); db.task.updateOne({ _id: doc._id }, { $set: { execution: doc.execution } }) }) });
Thatโs not as straightfoward as it might seem.. the clearml client lib handles artifacts as read only dict. I am not taking a look at changing the values directly in mongodb
You might be able to write a script to override the links ... wdyt?
Yeah, but I still need to update the links in the clearml server
yes... how many are we talking about here?
Yeah, but I still need to update the links in the clearml server
Well, that can be done by running a custom script on the server
Yes, I am using a self-hosted server.
So we ran some experiments(tasks) and uploaded the artifacts to local storage. We want to move them to a s3 storage
Furthermore we want to move existing datasets on one s3 server to another s3 server
Hi EnormousWorm79 , are you using a self-hosted server?
You would also need to edit the links somehow that are connected to the task