You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/source/AdministratorGuide/Resources/storage.rst
+5Lines changed: 5 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -307,6 +307,11 @@ External services like FTS requires pair of URLs to perform third party copy.
307
307
This is implemented using the same logic as described above. There is however an extra step: once the common protocols between 2 SEs have been filtered, an extra loop filter is done to make sure that the selected protocol can be used as read from the source and as write to the destination. Finally, the URLs which are returned are not necessarily the url of the common protocol, but are the native urls of the plugin that can accept/generate the common protocol. For example, if the common protocol is gsiftp but one of the SE has only an SRM plugin, then you will get an srm URL (which is compatible with gsiftp).
308
308
309
309
310
+
.. versionadded:: v7r1p37
311
+
The FTS3Agent can now use plugins to influence the list of TPC protocols used. See :ref:`fts3`
Copy file name to clipboardExpand all lines: docs/source/AdministratorGuide/Systems/DataManagement/fts3.rst
+13-2Lines changed: 13 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -50,6 +50,7 @@ Operations configuration
50
50
51
51
* DataManagement/FTSVersion: FTS2/FTS3. Set it to FTS3...
52
52
* DataManagement/FTSPlacement/FTS3/ServerPolicy: Policy to choose the FTS server see `FTSServer policy`_.
53
+
* DataManagement/FTSPlacement/FTS3/FTS3Plugin: Plugin to alter the behavior of the FTS3Agent
53
54
54
55
55
56
======================
@@ -92,11 +93,11 @@ The RMS will create one FTS3TransferOperation per RMS Operation, and one FTS3Fil
92
93
The grouping into jobs is done following this logic:
93
94
* Group by target SE
94
95
* Group by source SE. If not specified, we take the active replicas as returned by the DataManager
95
-
* Since their might be several possible source SE, we need to pick one only. The choice is to select the SE where there is the most files of the operation present. This increases the likely hood to pick a good old Tier1
96
+
* Since there might be several possible source SEs, we need to pick one only. By default, the choice is random, but this can be changed (see FTS3Plugins)
96
97
* Divide all that according to the maximum number of files we want per job
97
98
98
99
Once the FTS jobs have been executed, and all the operation is completed, the callback takes place. The callback consists in fetching the RMS request which submitted the FTS3Operation, update the status of the RMS files, and insert a Registration Operation.
99
-
Note that since the multiple targets are grouped in a single RMS operation, failing to transfer one file t one destination will result in the failure of the Operation. However, there is one Registration operation per target, and hence correctly transferred files will be registered.
100
+
Note that since the multiple targets are grouped in a single RMS operation, failing to transfer one file to one destination will result in the failure of the Operation. However, there is one Registration operation per target, and hence correctly transferred files will be registered.
100
101
101
102
====================
102
103
FTS3StagingOperation
@@ -170,3 +171,13 @@ States from the FTS3Job::
170
171
The status of the FTS3Jobs and FTSFiles are updated every time we monitor the matching job.
171
172
172
173
The FTS3Operation goes to Processed when all the files are in a final state, and to Finished when the callback has been called successfully
174
+
175
+
176
+
FTS3 Plugins
177
+
------------
178
+
179
+
.. versionadded:: v7r1p37
180
+
The ``FTS3Plugin`` option
181
+
182
+
183
+
The ``FTS3Plugin`` option allows one to specify a plugin to alter some default choices made by the FTS3 system. These choices concern the list of third party protocols used, as well as the selection of a source storage element. This can be useful if you want to implement a matrix-like selection of protocols, or if some links require specific protocols, etc. The plugins must be placed in :py:mod:`DIRAC.DataManagementSystem.private.FTS3Plugins`. The default behaviors, as well as the documentation on how to implement your own plugin can be found in :py:mod:`DIRAC.DataManagementSystem.private.FTS3Plugins.DefaultFTS3Plugin`
Copy file name to clipboardExpand all lines: docs/source/DeveloperGuide/AddingNewComponents/DevelopingCommands/index.rst
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -37,7 +37,7 @@ which will set the interpreter directive to the python on the environment.
37
37
38
38
**2.** The next is the documentation line which is describing the command. This same documentation line will be used also the command help information available with the *-h* command switch.
39
39
40
-
**3.** The majority of the code should be contained with a function, often called ``main`` though this is not required. This function should be wrapped with the ``@DiracScript()`` decorator to allow the DIRAC plugin mechanism to override the script with the function from the highest priority extension.
40
+
**3.** The majority of the code should be contained with a function, often called ``main`` though this is not required. This function should be wrapped with the ``@DIRACScript()`` decorator to allow the DIRAC plugin mechanism to override the script with the function from the highest priority extension.
41
41
42
42
.. code-block:: python
43
43
@@ -46,8 +46,8 @@ which will set the interpreter directive to the python on the environment.
0 commit comments