Al actualizar SAS© Viya™ (por ejemplo, al pasar de la versión 3.2 a 3.3) o al redesplegar después de un intento fallido, es posible que el playbook de Ansible se detenga abruptamente.
Un error frecuente se refiere al componente sas©-javaesntl y se manifiesta con un mensaje que indica que no se encuentra una ruta de destino, bloqueando así todo el proceso de instalación.
Al ejecutar el despliegue a través de Ansible, la tarea falla con el siguiente mensaje JSON:
Aunque la variable sas©_install_java esté correctamente definida como true en su archivo vars.yml, el error persiste.
El Origen del problema: Un estado inconsistente
Este error generalmente ocurre cuando el sistema se encuentra en un estado inconsistente entre la base de datos RPM y el sistema de archivos real.
Esto sucede a menudo después de varios intentos de despliegue fallidos o una limpieza incompleta. Ansible detecta (a través de la base de datos RPM) que el paquete sas©-javaesntl ya está instalado, por lo que no intenta reinstalarlo. Sin embargo, los archivos físicos (en /opt/sas©/viya™/...) han sido eliminados o movidos manualmente, o el punto de montaje ha cambiado.
Como resultado, Ansible intenta configurar un archivo que ya no existe físicamente, aunque el sistema crea que está instalado.
Diagnóstico
Para confirmar que se enfrenta a este problema de "paquete fantasma", puede verificar la integridad del paquete en sus destinos mediante un comando ad-hoc de Ansible:
Si la salida indica numerosas líneas que comienzan con missing (faltante), como se muestra a continuación, la causa está confirmada:
missing /opt/sas©/viya™/config/etc/sysconfig/sas©-javaesntl
missing c /opt/sas©/viya™/config/etc/sysconfig/sas©-javaesntl/sas©-java
La Solución
Para corregir esta situación, debe forzar la desinstalación del paquete corrupto antes de volver a ejecutar el proceso de limpieza e instalación.
Paso 1: Eliminar el paquete manualmente
Use Ansible para eliminar limpiamente el paquete RPM problemático en todos los nodos afectados:
Paso 2: Limpiar el entorno
Una vez que se haya eliminado el paquete, ejecute el playbook de limpieza estándar proporcionado por SAS© para asegurarse de que el entorno esté limpio:
Paso 3: Reiniciar el despliegue
Ahora puede volver a ejecutar su comando de despliegue o actualización (ej: site.yml). El sistema reinstalará correctamente el paquete sas©-javaesntl y los archivos de configuración se crearán como se esperaba.