dmwm / CRABServer

15 stars 38 forks source link

Adopting cmsrucio_import to CRABClient #7755

Open novicecpp opened 1 year ago

novicecpp commented 1 year ago

Rahul wrote cmsrucio_import to import user's files to Rucio. We need to decide if it worth to integrate to CRABClient.

novicecpp commented 1 year ago

My comments (move from meeting minutes):

belforte commented 1 year ago

What does rucio.client.uploadclient.UploadClient use behind the scene for uploading files to temp_RSE?

I was so sure that the answer was gfal-copy that I was surprised you asked and had a look. It looks quite complex, what is used depends on the protocol which depends on the RSE configuration. But e.g. for webDavb it seems to using "plain" HTTP calls via the (external) requests package. That may ultimately need libcurl.so but there\s a chance that it works inside cmsenv. To be tested. NOPE ! requests needs urllib3

belforte commented 1 year ago

shall we move this to CRABClient repo ?

belforte commented 1 year ago

My comments:

novicecpp commented 1 year ago

We can safely ignore poetry (and also wheel). It is just python package manager to locks dependency to specific version and hash, prevent tamper (supply chain attack). We do not need that if we integrate into crab. Well, he forgot to put requirements.txt or proper pyproject.toml @dynamic-entropy

dynamic-entropy commented 1 year ago

Hello Stefano, Wa, Dario I never received feedback (for no one was using it other than myself), so I never bothered to make changes and corrections. My choice of poetry wasn't a wise one, from one recommendation to another, starting from typer. ( We can change all that, we had a chat with Dario, but alas! he stopped reminding me anymore :eyes: )

What is the intended timeline for this? I am happy to help in whatever direction you wish/decide to go.

belforte commented 1 year ago

thanks @dynamic-entropy , and do no take it bad that we started to talk about this w/o you. The aim is to make sure that we have a tool which users can use and we can support. Turning it into a 'crab importotorucio' has some obvious appealing but before we do we need to understand the dependencies, current and possibly future one. We have suffered enough in the past when grid tools and CMSSW migrated from on SL version to another and from one python version to another on different timelines. So we do not have a defined timeline for this, but I think that if we do not do it before end of the year, it is possible that we never do.

novicecpp commented 1 year ago

@dynamic-entropy Could you please update requirements.txt?

dynamic-entropy commented 1 year ago

Hello ( I did not take it badly, it was a joke about Dario stopping reminding me :sweat_smile: - i should have noted that others do not have context ). I think I need to remove typer and poetry for this, but you can use this requirement file if you want to go ahead as is, https://github.com/dmwm/CMSRucio/blob/af21943c6a53bf387155e4067fe6568938864a67/UserDMTools/requirements.txt

Cheers

novicecpp commented 1 year ago

Thanks Rahul. We are in the evaluation step and are figuring out how to migrate to CRABClient. Some information from you is indeed needed.

belforte commented 1 year ago

we have a chat in CRAB Meeting. Some live notes:

NOTE especially if we go for 1), work on CRABClient side is minimal. Issue is all about understanding exactly what needs to be passed to the rucio_import script, document, validate args etc. etc. Also a whole new set of arguments different from what we already defined makes it horrible the already uglysh code in e.g. ClientMapping. Some decisions to take etc. But it looks like most work will go in understanding how exactly the import script works, which we need to do anyhow.

belforte commented 11 months ago

We went for option 2) in integrating CRABClient and Rucio

belforte commented 11 months ago

and this must be move to CRABClient repo !

belforte commented 2 months ago

we will go for option 2)