Usage

XRootD file storage support for Invenio.

This modules provide an Invenio file storage interface for XRootD. By default Invenio already has support for XRootD via PyFilesytem and the XRootDPyFS package. This module adds optimization and performance improvements such as efficient checksum calculations.

Using this module is as simple as configuring your Invenio instance to use the storage factory:

# config.py
FILES_REST_STORAGE_FACTORY = \
    'invenio_xrootd:xrootd_storage_factory'

The module also provides a file storage interface for CERN EOS disk storage system via XRootD protocol.

Using the EOS file storage module is as easy as configuring:

# config.py
FILES_REST_STORAGE_FACTORY = \
    'invenio_xrootd:eos_storage_factory'

Overwriting reported checksum

XRootD v3.x only has support for reporting adler32 as the used checksum algorithm, even though the server might be providing e.g. an MD5 checksum. If this is the case, you can overwrite the reported checksum using the configuration variable XROOTD_CHECKSUM_ALGO:

# config.py
XROOTD_CHECKSUM_ALGO = 'md5'

Keberos authentication

If your XRootD server requires Keberos authentication (e.g. CERN EOS), then you can run a tool such as k5start on each client node in order to obtain a keberos ticket and continue keeping the ticket valid. The XRootD python bindings will transparently use this keberos ticket to authenticate against your server.