PhEDEx to Rucio Transition - dmwm/WMCore GitHub Wiki

PhEDEx apis used by Agent

In WMAgent we are using PhEDEx REST apis. Most of the API is wrapped in PhEDEx python wrapper

Read operation (GET)

  1. Translate lfn to pfn: lfn2pfn: https://cmsweb.cern.ch/phedex/datasvc/json/prod/lfn2pfn Parameters in use: (node, lfn, protocol='srmv2', custodial='n')

    API in detail (used in WMStats)

  2. Get block locations: blockreplicas: https://cmsweb.cern.ch/phedex/datasvc/json/prod/blockreplicas Parameters in use for location info for block: (block, complete='y') Parameters in use for location info for dataset: (dataset, complete='y')

    API in detail

  3. Get subscriptions for block and dataset: subscriptions: https://cmsweb.cern.ch/phedex/datasvc/json/prod/subscriptions Parameters in use: (dataset, node) Parameters in use: (dataset, group) - Unified Parameters in use for location, deletion: (block)

    API in detail

  4. Get node mapping (find node type - butter, disk, etc): nodes: https://cmsweb.cern.ch/phedex/datasvc/json/prod/nodes Parameters in use: None

    API in detail

  5. Find files already injected by block: data: https://cmsweb.cern.ch/phedex/datasvc/json/prod/data Parameters in use: (block)

    API in detail

  6. Checks existing subscription requests: requestlist: https://cmsweb.cern.ch/phedex/datasvc/json/prod/requestlist Parameters in use: (dataset, node, decision = 'pending')

    API in detail

  7. Checks existing subscription requests and compare them in detail: transferrequests: https://cmsweb.cern.ch/phedex/datasvc/json/prod/transferrequests Parameters in use: request

    API in detail

Write operation (POST)

  1. Inject blocks in TMDB (and close blocks): inject: https://cmsweb.cern.ch/phedex/datasvc/json/prod/inject Parameters in use: (node, data, strict)

    API detail

  2. Make and approve a transfer request: subscribe https://cmsweb.cern.ch/phedex/datasvc/json/prod/subscribe Parameters in use: (node, data, level, priority, move, static, custodial, group, request_only)

    API in detail

  3. delete data: delete: https://cmsweb.cern.ch/phedex/datasvc/json/prod/delete Parameters in use: (node, data, level, rm_subscriptions, comments)

    API in detail (used in Tier0)

  4. Use for auto approving delete request: updaterequest: https://cmsweb.cern.ch/phedex/datasvc/json/prod/updaterequest (used in Tier0) Parameters in use: (node, request, decision)

    API in detail

Corresponding Rucio call