New CTA public release
Dear CTA community,
We have made available a new version of CTA in our stable repo:
5.11.18.0-2- Release documentation
- Changelog documentation
- This release was tested with:
- EOS:
5.3.23.el9 - XRootD:
5.8.4-1.el9
- EOS:
On top of these changes, we have also done work to further improve the completeness of the CTA Documentation Website. We would highly recommend you have a look, in particular the Operations Section.
This version of CTA was deployed in production at CERN since 28 April 2026.
Installation instructions
- If setting up CTA for the first time, or upgrading from a version
5.11.x.y-z:- Version
5.11.18.0-2can be installed directly, following these instructions on the CTA docs. Depending on the version previously installed, new configurations may be required.
- Version
- If upgrading from an older CTA major version (
5.10.x.y-z):- First, install
5.11.0.1-1. This version is required to upgrade the CTA Catalogue version from14.0to15.0- For the instructions on the procedure to upgrade the CTA Catalogue, please check the documentation on the automated update procedure and the following presentation.
- After the CTA Catalogue schema migration is complete, the installation of version
5.11.18.0-2can be performed as described above.
- First, install
Breaking Changes
This stable release comes with a few important breaking changes outlined below.
1. New CTA Service: cta-maintd
The maintenance process used to be a separate process running within cta-taped. However, this subprocess was not directly tied to any tape hardware and is now a standalone daemon.
This maintenance daemon periodically executes routines that do various tasks within CTA:
- Reporting to the disk instance
- Handling repack requests
- Garbage collection and queue cleanup in the objectstore
This means that for CTA to continue functioning, you will have to deploy this new service: cta-maintd. While this should be relatively straightforward, we outline a few points below:
cta-maintduses TOML for its configuration format. See either themanpage ofmaintd, the bundledcta-maintd.example.tomlfile or the relevant documentation pagecta-maintddoes not set its own user and group (unlike taped). As such, it may be necessary to set this user and group in e.g. the Systemd service file to ensure keytabs can be read correctly.- We recommend using the following flags for
cta-maintd:--log-file PATHfor the log file location--config PATHfor the config file location--config-strictfor strict config checking--runtime-dir PATHfor the runtime directory if desired- (optional)
--config-checkif you just want to quickly check whether the config is correct
cta-maintddoes not interact directly with tape hardware. It is therefore not a requirement to runcta-maintdon the same host ascta-taped- Because each
cta-tapedprocess came with its own maintenance process, we would recommend starting out by running as manycta-maintdprocesses ascta-tapedfor the initial migration. In practice, this will likely be too many, so you can scale down as needed. The various routines incta-maintdcan also be enabled/disabled at will, making the deployment configuration very flexible. Ultimately, we don’t yet have a clear guideline that specifies exactly how many you need. cta-maintduses the declarative OpenTelemetry format, as this provides increased flexibility in how the OpenTelemetry SDK is configured. See either the bundledcta-otel.example.yamlfile or the relevant documentation page- While still experimental, the metrics
maintdproduces may be useful to understand how many replicas you need. See Metrics Documentation
- While still experimental, the metrics
- To avoid service disruption, ensure all CTA packages (including the new
cta-maintd) are updated to the same version simultaneously. Installing a new service may inadvertently update the shared libraries; a version mismatch betweencta-tapedand underlying libraries such ascta-libwill cause running tape sessions to crash.
With cta-maintd being a new service, it was a great opportunity for us to rethink the way CTA applications are set up and configured.
The various new features such as TOML configuration, declarative OpenTelemetry configuration, strict config checking, health endpoints, runtime metadata files and better signal handling will be rolled out to cta-frontend-grpc and cta-taped over the next few months.
We would be happy to hear your feedback on these changes!
Documentation References:
2. Catalogue Install Behaviour Change
We identified a bug in the installation behaviour of the CTA catalogue libraries.
CTA supports multiple database backends for the catalogue: Postgres and Oracle.
Thanks to a plugin system, CTA only needs one of these two RPMs installed, depending on which backend is used:
cta-lib-catalogue-occicta-lib-catalogue-postgres
That was the theory, at least. In practice, due to a bug, both of these RPMs would always be installed with no way of uninstalling either one when you don’t need them. This has now been fixed.
Old Catalogue Install Behaviour:
- Installing any CTA package requiring
cta-lib-cataloguewill install bothcta-lib-catalogue-postgresandcta-lib-catalogue-occi.- This means even if you are using Postgres for the catalogue, it would still download and install the Oracle-related RPMs.
New Catalogue Install Behaviour:
- By default, installing any CTA package requiring
cta-lib-cataloguewill only installcta-lib-catalogue-postgres.- That means:
dnf install cta-tapedwill bring incta-lib-catalogue-postgres, but notcta-lib-catalogue-occi
- That means:
- If you are using Oracle for the catalogue, you will have to explicitly install
cta-lib-catalogue-occi- In this case:
dnf install cta-lib-catalogue-occi cta-tapedwill not bring incta-lib-catalogue-postgres
- In this case:
In general, CTA will now be happily installed as long as at least one of cta-lib-catalogue-postgres or cta-lib-catalogue-occi is present.
Documentation references:
3. ABI Change opentelemetry-cpp v1.26
The ABI of opentelemetry-cpp v1.26 from cta-dependencies changed w.r.t. previous versions due to a change in build flags.
Upgrading the opentelemetry-cpp RPM to v1.26 before upgrading CTA causes running services with opentelemetry enabled to crash.
Ensure a correct versionlock is in place (such as the ones from cta-release) and ensure CTA and its dependencies are updated simultaneously.
Experimental features
CTA can publish metrics in the OTLP format, using the OpenTelemetry framework mentioned above. This feature is experimental and disabled by default.
- For it to be activated, it has to be explicitly configured according to these instructions: Enabling Metrics - CTA Documentation