-
Notifications
You must be signed in to change notification settings - Fork 302
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Transfers: Implement pluggable LFN2PFN algorithms. Fixes #570 #585
Transfers: Implement pluggable LFN2PFN algorithms. Fixes #570 #585
Conversation
Running flake8lib/rucio/tests/test_rse_lfn2path.py:106:9: E306 expected 1 blank line before a nested definition, found 0 |
155afac
to
36e0a32
Compare
57832d3
to
6f59ad3
Compare
Additionally adds python client API for retrieving a PFN.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it can go in testing for me.
@bbockelm please fix the docsting of the functions
lib/rucio/common/config.py
Outdated
@@ -60,6 +60,24 @@ def config_get_items(section): | |||
return __CONFIG.items(section) | |||
|
|||
|
|||
def config_remove_option(section, option): | |||
"""Remove the specified option from a given section. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the docstring is incomplete . e.g.:
:param section
:param option
same comment for most of them
In Slack, @vingar asked about how this could impact current code:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok, even after going through it in detail i can't find something obviously wrong with this (except that the client and server should have the same version of the algorithm, which is fine). in any case we will see quickly if this breaks our integration testbed ;-) thanks @bbockelm !
Alright - merging. Thanks to everyone for sticking with me on this! |
This adds the ability for a Rucio server configuration to specify a module that can register additional lfn2pfn algorithm implementations. The configuration file may also specify the default LFN2PFN algorithm (for example, replacing
hash
withidentity
or a VO-specific algorithm).The callout algorithms receive a scope, LFN name, RSE name, RSE attributes, and protocol attributes. It should return the path portion of a PFN (not the full PFN).
The server instance's default can still be overridden by setting the
lfn2pfn_algorithm
attribute on the RSE.This is the
next
version of #584.