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 } }) }) });
Yeah, but I still need to update the links in the clearml server
Hi EnormousWorm79 , are you using a self-hosted 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
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
Yeah, but I still need to update the links in the clearml server
yes... how many are we talking about here?
You would also need to edit the links somehow that are connected to the task
Well, that can be done by running a custom script on the server
You might be able to write a script to override the links ... wdyt?