FTS2Placement

class DIRAC.DataManagementSystem.private.FTS2.FTS2Placement.FTS2Placement(csPath=None, ftsHistoryViews=None)

Bases: DIRAC.DataManagementSystem.private.FTSAbstractPlacement.FTSAbstractPlacement

This class manages all the FTS strategies, routes and what not.

__init__(csPath=None, ftsHistoryViews=None)

Nothing special done here :param csPath : path of the CS :param ftsHistoryViews : history view of the db (useful for FTS2)

findRoute(sourceSE, targetSE)

Find the appropriate route from point A to B

:param sourceSE : source SE :param targetSE : destination SE

Returns:S_OK(FTSRoute)
finishTransferOnRoute(route)

Declare that one finishes a transfer on a given route. Accounting purpose only

:param route : FTSRoute that is used

getReplicationTree(sourceSEs, targetSEs, size, strategy=None)
For multiple source to multiple destination, find the optimal replication
strategy.

:param sourceSEs : list of source SE :param targetSEs : list of destination SE :param size : size of the File :param strategy : which strategy to use

:returns S_OK(dict) < route name : { dict with key Ancestor, SourceSE, TargetSEtargetSE, Strategy } >

isRouteValid(route)

Check if the source is readable, the target writable, and we don’t have to many active jobs on that route

:param route : FTSRoute

Returns:S_OK or S_ERROR(reason)
refresh(ftsHistoryViews)

Recreates the graph and update the rw access

startTransferOnRoute(route)

Declare that one starts a transfer on a given route. Accounting purpose only

:param route : FTSRoute that is used