Open chrisburr opened 8 months ago
This is due to https://github.com/CoffeaTeam/fsspec-xrootd/issues/64
As an aside, you can do this with http as well:
url = "https://eoslhcb.cern.ch//eos/lhcb/user/c/cburr/test.root?xrd.wantprot=unix&authz=" + token
fin = uproot.open(url, verify_ssl=False)
fin.keys()
or equivalently,
fin = uproot.open(url, verify_ssl=False, params={"xrd.wantprot": "unix", "authz": token})
Edit: to be secure on a machine without IGTF grid certificates trusted systemwide you can download the CERN CA, convert it to pem:
openssl x509 -in CERN\ Root\ Certification\ Authority\ 2.crt -out CERN\ Root\ Certification\ Authority\ 2.pem -outform PEM
and load it with
import ssl
sslctx = ssl.create_default_context()
sslctx.load_verify_locations("CERN Root Certification Authority 2.pem")
fin = uproot.open(
url,
ssl=sslctx,
params={"xrd.wantprot": "unix", "authz": token},
)
though at this point one might as well use x509 user certs as in #1241
Since moving to fsspec uproot now strips URL parameters from XRootD URLs. In this case I use them to add EOS tokens to authenticate, but I've also known them be required to even access files for quirks of the storage system.
Running this on lxplus at CERN:
5.2.2
5.1.2