rucio

pilot.copytool.rucio._get_trace(fspec, traces)[source]

Traces returned by Rucio are not orderred the same as input files from pilot. This method finds the proper trace.

Param:

fspec: the file that is seeked

Param:

traces: all traces that are received by Rucio

Returns:

trace_candiates that correspond to the given file

pilot.copytool.rucio._stage_in_api(dst, fspec, trace_report, trace_report_out, transfer_timeout, use_pcache)[source]
pilot.copytool.rucio._stage_in_bulk(dst, files, trace_report_out=None, trace_common_fields=None)[source]

Stage-in files in bulk using the Rucio API.

Parameters:
  • dst – destination (string).

  • files – list of fspec objects.

  • trace_report

  • trace_report_out

Returns:

pilot.copytool.rucio._stage_out_api(fspec, summary_file_path, trace_report, trace_report_out, transfer_timeout)[source]
pilot.copytool.rucio.copy_in(files, **kwargs)[source]

Download given files using rucio copytool.

Parameters:
  • files – list of FileSpec objects

  • ignore_errors – boolean, if specified then transfer failures will be ignored

Raise:

PilotException in case of controlled error

pilot.copytool.rucio.copy_in_bulk(files, **kwargs)[source]

Download given files using rucio copytool.

Parameters:
  • files – list of FileSpec objects

  • ignore_errors – boolean, if specified then transfer failures will be ignored

Raise:

PilotException in case of controlled error

pilot.copytool.rucio.copy_out(files, **kwargs)[source]

Upload given files using rucio copytool.

Parameters:
  • files – list of FileSpec objects

  • ignore_errors – boolean, if specified then transfer failures will be ignored

Raise:

PilotException in case of controlled error

pilot.copytool.rucio.get_protocol(trace_report_out)[source]

Extract the protocol used for the transfer from the dictionary returned by rucio.

Parameters:

trace_report_out – returned rucio transfer dictionary (dictionary).

Returns:

protocol (string).

pilot.copytool.rucio.handle_rucio_error(error_msg, trace_report, trace_report_out, fspec, stagein=True)[source]
Parameters:
  • error_msg

  • trace_report

  • trace_report_out

  • fspec

Returns:

pilot.copytool.rucio.is_valid_for_copy_in(files)[source]
pilot.copytool.rucio.is_valid_for_copy_out(files)[source]
pilot.copytool.rucio.verify_stage_out(fspec)[source]

Checks that the uploaded file is physically at the destination. :param fspec: file specifications