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 thecta-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.