Open dynamic-entropy opened 1 year ago
I like this idea, it can be useful. I see some modifications that we could do. Let's start with our current process:
update_from_json: False
reaper: True
{'availability_delete':True}
greedyDeletion: True
client.delete_rse(‘site’)
This is how it is handled on the generic daemon:
RSE_EXPRESSION = RSE
split_container = true
??????collection_replicas
table didn't show the correct informationSome things can be easily added into the code for the missing params setup (protocol, reaper, loadtest, and update_from_json)
On the other hand, we have some decisions to me related to what I said about step 3.
Finally, we should add an extra step to do the RSE deletion and handle the possible exceptions getting in that step
Hello @amanrique1
These are quite interesting observations. Given your summary of the current implementation, I think we can go ahead and talk to the person working on this, asking if their instance does not need these, and where will experiment-specific settings sit in the daemon workflow. Do you think we should arrange a meeting? Explaining our intent to help with the development and testing of the daemon?
Cheers
Hi @dynamic-entropy
There is a folder named Profiles, where I guess each experiment should add its specific settings and implementation (I did my analysis based on the generic profile).
I like that meeting idea because I do not have clear what the CMS custom features added to rucio are.
Hello Andres I had a chat with Dimitrios, and he suggested we hold off till the PR is ready to merge. We can already start working on the profile if you want.
For the third point,
Hi Rahul My bad. I checked again and there are no problems with the generics RSE_EXPRESSIONS, it gets the rules based on the locks table and not based on the rules table.
When split_container=true there would be problems because it's going to delete the rule, and the rule is not only protecting replicas in site to decommission. In the move rule scenario, the rules are going to move to a specific RSE all the containers and not only the datasets that are currently there.
Additionally to that, in the move scenario, they won't be able to be cleaned. The loadtest won’t be moved due to an ALREADY existing exception.
I think that these are not really a big deal but we should take into account when using the daemon
In the move rule scenario, the rules are going to move to a specific RSE all the containers and not only the datasets that are currently there.
But if the destination is also generic rse expression that will not cause any extra transfers.
Additionally to that, in the move scenario, they won't be able to be cleaned. The loadtest won’t be moved due to an ALREADY existing exception. Loadtests are CMS specific and we should deal with them in the profile part of the procedure.
So, if you want, you can already start looking into what all is possible in the profile and already start drafting one for us.
Hello @amanrique1 The RSE Decommisionner daemon is not finalised and will be available to us when we upgrade to the next release. You can start looking at coding the CMS profile I guess, based on the priorities of other issues in your bucket. Cheers
https://github.com/rucio/rucio/issues/6321 aims to introduce a rucio daemon that can be used for RSE migrations and decommissioning. It is being worked on in PR https://github.com/rucio/rucio/pull/6066. We need to assess how to use this dameon for operations. A couple of broad question we may ask are