The current CI workflow is complex and not very flexible.
The Kubernetes environment is setup with cumbersome commands and not in a "standard" way.
The current CI does not allow to run parallels pipelines with different software environments.
By example it would be good to be able to test the same code with (most urgent first):
xrootd5
eos5
Alma9
Custom dev environment (by example with the new postgres library)
This is a prerequisite before adding new type of tests to the CI, so avoid doing them twice.
In addition there are some modifications on ctaci01 that have not been pushed yet to the old repository and are spread a bit on that VM: some in the local /root/CTA local clone of CTA-old repo and some in /root folder.
We need to sort out what is the most up to date information and add all this in the branch associated to this ticket.
Looks like the tools are converging toward kubeadm, with calico and CRIO, would be good to have an option to use podman too.
What about minikube for the full install of kubernetes?
Regarding mhvtl, we need more packages on our side: we have a specific version of mhvtl with removed fsync (check with @smurray) that we must be able to build in CI and distribute.
All package installation instructions are writing repo files for CentOS in /etc/yum.repos.d. On puppetized machines we use
/etc/yum-puppet.repos.d but adding a repo file here means that puppet will just delete it.
Repo files can stay in /etc/yum.repos.d, so that they are safe, then to install rpms from there using yum: just use a specific yum.conf that has the following line:
reposdir=/etc/yum.repos.d/
Just type yum -c yum.conf ...
Install cri-o
cri-o rpm is needed as well as cri-tools that are a requirement for kubeadm rpm.
Installation instructions are interesting:
cri-o rpm must have the same version as the kubernetes rpms: kubernetes 1.22-XX requires cri-o 1.22 (release number is not a big deal I guess).
cri-tools does not seem to follow the same logic and I got 1.25 which was the latest greatest and kubeadm seems to be happy with that.
Here is a small snippet to install cri-o 1.22 on CentOS7: