Open novicecpp opened 1 year ago
My comments (move from meeting minutes):
crab checkdataset
.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
shall we move this to CRABClient repo ?
My comments:
poetry
and wheel
stuff. README is not clear in this regard, also there's a pip3 install -r requirements.txt
but no requirements.txt
file in the repo. Is that part about how to build a package for pip ? Why, since you can simply do pip
install rucio` ? What does this need to depend on besides Rucio ?upload_..._and_create_rule()
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
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.
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.
@dynamic-entropy Could you please update requirements.txt
?
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
Thanks Rahul. We are in the evaluation step and are figuring out how to migrate to CRABClient. Some information from you is indeed needed.
we have a chat in CRAB Meeting. Some live notes:
all in all it looks "little and easy" code, esp. after Rahul's clarifications
so we decided to go for it and it has top be a "crab command". This is the only way to make users use it.
how do we go ?
scram unstenv
like for crab checkdataset
if this CMSSW version is good for Rucio
(this may help in other cases as well, e.g. checkwrite)/cvmfs/cms.cern.ch/rucio/current/bin
? is it possible ? does it make sense ? Need to talk to Shahzad.who will do this ?
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.
We went for option 2) in integrating CRABClient and Rucio
and this must be move to CRABClient repo !
we will go for option 2)
Rahul wrote cmsrucio_import to import user's files to Rucio. We need to decide if it worth to integrate to CRABClient.