Skip to content

[Main ticket] Alma9 migration

Situation

CentoOS 7 will reach its end-of-life on the 30th of June of 2024, after which there will no longer be software updates of any kind, including security fixes:

CERN supports several distributions, as seen here. From these, AlmaLinux 9 has been chosen as the main CentOS successor for the CTA services and infrastructure.

AlmaLinux 9 is planned to be supported until mid-2032, which should cover Run 3 and most of Run 4.

Task

Migrate all of CTA infrastructure to Alma 9. This requires being able to compile and run CTA on Alma 9, as well as modifying all of our CI and operations tools to run with Alma 9.

Actions

Compile and run CTA in Alma 9

Do all the necessary modifications on CTA, so that it can compile and run on Alma 9 with (at least) the same quality of service as before.
For a while (while it's still supported) CTA must be able to compile and run on both Alma 9 and CentOS 7.

This is a development task, and an important pre-requirement for most of the other actions.

Reference issue: #499 (closed)
Owner: @jcamarer

Important related issues:

  • #334 (closed): Allow CTA to load only the required DB client library. This removes the Oracle Instant Client dependency for external sites.

Completed and tested:

  • YES

Setup the Alma9 release pipeline

We need a mechanism to automate our Alma9 releases, similar to what we do for CentOS7.

Reference issue: #600 (closed)
Owner: @jcamarer

Completed and tested:

  • YES

Prepare for CC7->Alma9 migration

This migration is a major change to our infrastructure. Therefore, it's paramount that we investigate and implement the required changes that will be needed to run CTA with Alma9 in our software-defined infrastructure.

This work covers the collection, tracking and following up on any needed Puppet config changes, monitoring adjustments, etc. that are needed for the CC7->Alma9 switch.

Reference issue: https://gitlab.cern.ch/cta/operations/-/issues/1194
Owner: @rbachman

Completed:

  • YES

Create a test Alma9 tpsrv

We need a single test/canary Alma 9 tape server in production, to see how it behaves in a real scenario. We must be confident that it works correctly, before moving on with the rest of the migration.

This task can be started independently but, in order to complete, it needs CTA to be able to build and run with Alma 9.

Reference issue: https://gitlab.cern.ch/cta/operations/-/issues/1208
Owner: @rbachman

Completed and tested:

  • YES

Alma 9 CI runners

Our CI runners must all be migrated to Alma 9. It should be a transparent migration, because our CI jobs are already run with kubernetes.

This is not a direct dependency for the migration of CTA to Alma 9, but still necessary.

Reference issue: #255 (closed)
Owner: @rbachman, @jleduc

Completed and tested:

  • YES

Migrate the CTA service to Alma9

After all it's dependencies have been completed, we will finally migrate all of our CTA infrastructure to Alma 9.

This will require a plan, a deployment schedule and an evaluation of how the CTA service will be impacted during the migration (and what actions to take to minimise the impact on our users).

Reference issue: TBD
Owner: @rbachman, @jleduc

Completed:

  • YES

Port the TAS and TDMS systems to the public CTA-operations-utilities repo

The Tape Alerting System is responsible for detecting tape and drive issues across the CTA system, and TDMS creates SNOW issues for operators to follow up on these. TDMS at present relies on Perl modules which are not available in Alma9, so it is a good time to make this move.

Reference issue: https://gitlab.cern.ch/cta/operations/-/issues/1236
Owner: @rbachman @vlado

Completed:

  • YES

Convention for CTA repositories

Our CTA repositories need to be reframed on order to separate clearly Alma9 from CentOS7 RPMS, as well as its dependencies.

Reference issue: https://gitlab.cern.ch/cta/operations/-/issues/1296
Owner: @jleduc

Completed:

  • YES

Upgrade CTA ceph clusters to Quincy

The current Ceph version Pacific foes not offer any Alma 9 RPMs. We need to update it to the more modern version Quincy, which fully supports Alma 9.

Reference issue: https://gitlab.cern.ch/cta/operations/-/issues/1274
Owner: @jleduc

Completed:

  • YES

Action dependency graph

graph LR

ALMA_A[Alma 9 migration complete]
ALMA_B[CTA#499 \n Compile and run CTA in Alma 9]
ALMA_C[CTA#255 \n Setup Alma 9 CI runners]
ALMA_D[Ops#1194 \n Prepare for CC7->Alma9 migration]
ALMA_E[Ops#1208 \n Create a test Alma9 tpsrv]
ALMA_F[Migrate the CTA service to Alma9]
ALMA_G[Ops#1236 \n Port the TAS and TDMS systems]
ALMA_H[Ops#1296 \n Convention for CTA repositories]
ALMA_I[Ops#1274 \n Upgrade CTA Ceph clusters to Quincy]
ALMA_J[CTA#600 \n Setup the Alma9 release pipeline]

ALMA_B --> ALMA_A
ALMA_C --> ALMA_A
ALMA_B --> ALMA_E
ALMA_D --> ALMA_F
ALMA_E --> ALMA_F
ALMA_F --> ALMA_A
ALMA_G --> ALMA_D
ALMA_H --> ALMA_D
ALMA_I --> ALMA_E
ALMA_B --> ALMA_J
ALMA_J --> ALMA_A
Edited by Joao Afonso