Conversation
fb62e9c to
6693b87
Compare
|
I think we need to decide on the layout of core as replica_catalogue feels to specific for the top level |
I guess that, at some point (may be now?), it would make sense to have a
Any opinion? |
It makes sense to me |
6a595bb to
4af54f4
Compare
|
I would split the refactoring in a separate PR |
4af54f4 to
fd28f0f
Compare
04dd4d1 to
1ea1fb2
Compare
|
Will rebase after #746 |
1ea1fb2 to
9506a40
Compare
|
Historically, the DFC (before LFC) has always been referred to as the Replica Catalog. Do you think you could come up with an alternative name (reflecting for example that it's a local file) ? Otherwise it's not dramatic :-) |
|
My first thought is replica mapping? |
|
I'm happy with |
test: add unit tests for ReplicaMap feat: disallow relative paths with any depth other than zero
9506a40 to
2b54d75
Compare
| if "/" in value: | ||
| raise ValueError( | ||
| "LFN must be an absolute path starting with '/' " | ||
| "or have no slashes at all (e.g. refers to a file in the current working directory)." |
There was a problem hiding this comment.
What's the use case for no slash at all ?
Even if we were to support working directory (which soulds like a bad idea at first sight), that would be more of a URL thing than an LFN
There was a problem hiding this comment.
It deals with a Gaudi behaviour: #741 (comment)
There was a problem hiding this comment.
Sorry I had missed it ! It makes sense
There was a problem hiding this comment.
My guess multiple steps in a job e.g. the HLT1 needs to be given a mapping that includes the output of Boole earlier in the job.
| root={ | ||
| "/lhcb/MC/2024/file.dst": { | ||
| "replicas": [ | ||
| {"url": "https://storage1.cern.ch/file.dst", "se": "CERN-DST"}, |
There was a problem hiding this comment.
for local file, I wonder if we should enforce the file:// URI schema.
There was a problem hiding this comment.
I think that's a good idea. Plus it's easier to add than remove if we change our mind.
| if "/" in value: | ||
| raise ValueError( | ||
| "LFN must be an absolute path starting with '/' " | ||
| "or have no slashes at all (e.g. refers to a file in the current working directory)." |
There was a problem hiding this comment.
Sorry I had missed it ! It makes sense
Summary
Adds
ReplicaMap, a Pydantic model for mapping Logical File Names (LFNs) to their physical replicas across distributed storage elements.Description
ReplicaMapprovides a structured, validated representation of file replica information intended to be stored in JSON format. It serves as a more user-friendly replacement for Pool XML Catalog.Key features:
LFN:andPFN:prefixes, with path validationExample usage: