Skip to content

Remove cta-taped dependency on eos-client

Problem

As seen in https://gitlab.cern.ch/cta/CTA/-/blob/d59bce0a/cta.spec.in#L149, the cta-taped RPM required eos-client to be installed.

External sites that do not use EOS should not have to install this dependency.
Even at CERN, it would be desirable that the CTA server does not depend directly on a EOS package.

Analysis

The EOS client is used to check the amount of free space in the disk buffer. This information is used by the tape server to know if it can go on with reading the data from tape to disk:

However, CTA already provides an alternative method for this. Instead of using the EOS client, we can use an external script for evaluating the available disk space:

This alternative method can be used for the same effect, without relying on an extra dependency.

Proposed solution

  • Remove any dependency on eos-client from the cta-taped code.
  • As a replacement for this functionality, configure the tape servers to use the existing configuration externalEncryptionKeyScript to get the free space using a script.
    • The script should make use of the EOS HTTP API, not the EOS client. This completely removes the need to have the EOS client installed on the CTA tape servers.
Edited by Konstantina Skovola