
¿Qué es CentOS Stream?
CentOS Stream es una distribución de Linux, en la que los miembros de la comunidad open source, junto con los desarrolladores de Red Hat, pueden desarrollar y probar una distribución upstream de Red Hat Enterprise Linux de implementación continua, además de colaborar con ella.
Red Hat desarrolla el código fuente de Red Hat Enterprise Linux en la plataforma de CentOS Stream antes de lanzar las versiones nuevas.
Red Hat Enterprise Linux 9 es la primera versión principal diseñada dentro de CentOS Stream.
Objetivo:
En una instancia basada en CentOS Stream 8, actualízala a la versión CentOS Stream 9.
La instancia debe quedar totalmente operativa.
Requisitos previos:
Parto de la base de tener ya una instancia en OpenStack de CentOS Stream 8.
Empezamos:
Desde OpenStack he creado una instancia de CentOS Stream 8, y para acceder a la máquina previamente le habia inyectado a OpenStack mi clave pública (antes de crear la máquina o no funcionará y darle una ip flotante).
He entrado usando la clave pública como siempre:
ssh -i id_rsa centos@ip

Una vez dentro, el primer paso es actualizar todos los paquetes a sus versiones mas recientes:
dnf update -y


Hecho esto, limpio los paquetes que no han sido usados y que no son necesarios ya y luego eliminarlos , porque son paquetes relacionados con CentOS Stream 8, porque algunos no son compatibles con la version 9:
dnf repoquery --unneeded
dnf remove -y NetworkManager-initscripts-updown-1:1.40.0-1.el8.noarch grub2-tools-efi-1:2.02-129.el8.x86_64 libmetalink-0:0.1.3-7.el8.x86_64 pciutils-0:3.7.0-1.el8.x86_64 python3-configobj-0:5.0.6-11.el8.noarch python3-schedutils-0:0.6-6.el8.x86_64 rdma-core-0:41.0-1.el8.x86_64


Ahora viene la parte de instalar los repositorios:
dnf install -y https://mirror.stream.centos.org/9-stream/BaseOS/x86_64/os/Packages/centos-gpg-keys-9.0-23.el9.noarch.rpm https://mirror.stream.centos.org/9-stream/BaseOS/x86_64/os/Packages/centos-stream-release-9.0-23.el9.noarch.rpm https://mirror.stream.centos.org/9-stream/BaseOS/x86_64/os/Packages/centos-stream-repos-9.0-23.el9.noarch.rpm

Ahora es momento de actualizar el sistema operativo con:
dnf -y --releasever=9-stream --allowerasing --setopt=deltarpm=false distro-sync

Hecho esto, recargo la base de datos rpm, limpio la caché de dnf y vuelvo a actualizar los repositorios:
rpmdb --rebuilddb
dnf clean packages
dnf update -y

Y con los repositorios preparados, instalo los paquetes para una instalación mínima:
dnf -y groupupdate "Core" "Minimal Install"

Cuando acabe la instalación, hay que reiniciar la máquina y por último comprobar que ahora en vez de ser CentOS Stream 8 ha pasado a ser CentOS Sream 9 con:
cat /etc/*release

Conclusión
Y de esta forma hemos conseguido actualizar el sistema operativo a su última versión (en el momento que se escribió esto).