Estoy empezando con ansible y red hat. es una aplicación muy interesante para hacer despliegues masivos. En una de mis investigaciones me he encontrado un error al desplegar una instalación de un entorno de alta disponibilidad con ansible en red hat 7.
En error concretamente es este, en cada nodo:
TASK [subscribe : Install cluster packages] ***********************************************************************************************************************
fatal: [xxxxxxx.xxxxx.xx]: FAILED! => {«changed»: false, «failed»: true, «msg»: «No package matching ‘pcs’ found available, installed or updated», «rc»: 126, «results»: [«No package matching ‘pcs’ found available, installed or updated»]}
fatal: [xxxxxx.xxxxx.xx]: FAILED! => {«changed»: false, «failed»: true, «msg»: «No package matching ‘pcs’ found available, installed or updated», «rc»: 126, «results»: [«No package matching ‘pcs’ found available, installed or updated»]}
Que es lo que ocurre que no tiene un repositorio para poder instalar todos nuestros paquetes de alta disponibilidad.
Para corregirlo, yo he encontrado esta solución, debemos montar el dvd de red hat en nuestro servidor, os recuerdo que esto es una plataforma virtual. Esto deberíamos montarlo en cada nodo o haceros un playbook de ansible para que lo montara. Yo os doy los pasos para corregir este error, así nos vale tanto si usamos ansible como si no.
Lo primero, entramos como root.
Montamos nuestro cd.
#mount -o loop /dev/sr0 /mnt
Ya que estará pinchado en el cd de la máquina virtual. Si no, podemos montar la iso de esta manera:
#mount -o loop rhel-server-7.3-x86_64-dvd.iso /mnt
Con esto lo que hemos hecho es montar la iso o el cd en /mnt
Copiamos el archivo media.repo en la raíz de nuestros repositorios y le damos permisos
#cp /mnt/media.repo /etc/yum.repos.d/rhel7dvd.repo
#chmod 644 /etc/yum.repos.d/rhel7dvd.repo
Editamos el archivo y cambiamos lo siguiente:
gpgcheck=1 esto estará a 0 debemos ponerlo a 1
y añadimos estas 3 líneas:
enabled=1
baseurl=file:///mnt/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
en el contenido de cat /etc/yum.repos.d/rhel7dvd.repo vemos esto:
[InstallMedia]
name=Red Hat Enterprise Linux 7.3
mediaid=xxxxxxxxxxxxxxxxxxxxxxx
metadata_expire=-1
gpgcheck=1
cost=500
enabled=1
baseurl=file:///mnt/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
ahora creamos el fichero /etc/yum.repos.d/HA.repo
Con este contenido:
[repo-update]
gpgcheck=0
enabled=1
baseurl=file:///mnt
name=repo-update
[repo-ha]
gpgcheck=0
enabled=1
baseurl=file:///mnt/addons/HighAvailability
name=repo-ha
[repo-storage]
gpgcheck=0
enabled=1
baseurl=file:///mnt/addons/ResilientStorage
name=repo-storage
revisamos los repositorios de nuestra maquina:
#yum repolist
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
repo id repo name status
!repo-ha repo-ha 30
!repo-storage repo-storage 37
!repo-update repo-update
Espero que os sirva.
Nos vemos en el próximo post.