[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: 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