Skip to content
chaen edited this page Nov 14, 2014 · 22 revisions

Changes for FTS (MANDATORY)

Work still ongoing.

There are some mandatory changes in the CS structure, even if you choose to keep using FTS2.

  • In the DataManagement section of Operations, a new flag is needed : 'FTSVersion', whose value can be 'FTS2' (default) or 'FTS3'
  • Still in Operations/[default or setup]/DataManagement/ a new nested section needs to be created:
  FTSPlacement
  {
    FTS2
    {
      ...
    }
    FTS3
    {
      # How to choose the FTS server. It can be:
      # Random : choose random from the list
      # Sequence : one after the other
      # Failover : always use the first one, goes to the next if problem
      ServerPolicy = Random 
    }
  }
  • The section Systems/DataManagement/Services/FTSManager/FTSStrategy can be removed, and its content moved to the previously created section Operations/[default or setup]/DataManagement/FTSPlacement/FTS2
  • The section /Resources/FTSEndpoints also needs to be divided in FTS2 and FTS3. The previous list of servers can go in FTS2. BEWARE: the FTS3 servers need to point on the REST API port (default 8446 )
  • In Systems/DataManagement/Agents/FTSAgents, the attribute FTSGraphValidityPeriod is removed, and the attribute RWAccessValidityPeriod is replaced with FTSPlacementValidityPeriod

The FTS3 rest API release is needed in the externals, but is not yet deployed. For testing, you can get it here https://github.com/cern-it-sdc-id/fts3-rest/tree/master

Changes for RMS (MANDATORY)

The new RMS is now using SQLAlchemy as a backend. This specific change is fully transparent. However, he uniqueness of the RequestName is not enforced anymore, and this requires two actions :

  • All the interfaces of the ReqClient have been changed to using RequestID instead of RequestName in the method signatures. Please change the code accordingly. The names remained the same except for
  • getRequestNamesList -> getRequestIDsList
  • getRequestNamesForJob -> getRequestIDsForJob
  • Existing databases have to be altered :
ALTER TABLE Request DROP KEY RequestName;

In order to deal better with SE in downtime or similar events, an extra field needs to be added to the Request table:

ALTER TABLE Request ADD COLUMN NotBefore DATETIME DEFAULT NULL;
Clone this wiki locally