Como actualizar los productos de WSO2 sin problemas.

En esta entrada veremos como la nueva podemos actualizar una instalación de un producto de WSO2 empleando la herramienta “WSO2 In-place update” .

Esta herramienta ha sido incluida en la mayoría de las últimas versiones de los productos y como un parche en las versiones previas, para comprobar que en nuestra instalación esta está instalada basta con ejecutar el siguiente comando en la carpeta CARBON_HOME de su instalación :

ls -al bin/update_*

Existe un binario para los principales sistemas operativos.

Esta herramienta requiere disponer de un usuario de soporte válido, podemos obtener uno gratuito por un tiempo limitado y que solo permite actualizar las versiones más modernas de los productos , al igual que ocurría con la herramienta wum.

Podéis registraros con una dirección de correo en el siguiente enlace:

https://wso2.com/subscription/free-trial

Primero debemos crear el usuario de acceso y a continuación cuando nos logamos en el portal, pulsaremos sobre “Soporte” -> “Subscriptions” y pulsando sobre el botón “GET A FREE 15-DAY TRIAL“. Una vez validéis los datos, se habilitará el acceso.

El comando “update” tiene varias opciones. Las principales y que veremos en las siguientes líneas son :

update --username <usuario> --password <contraseña>
update --details
update --dry-run
update --revert
update --continue

Si ejecutamos el comando este nos solicitará que indiquemos el usuario y contraseña, pero con los opciones “–username” y “–password” podemos automatizar este paso. Dado que no queremos que se aplique ningún cambio aún añadiremos la opción “–dry-run”.

Lo primero que hará esta utilidad será conectar con el repositorio central de WSO2 y agregar la versión de nuestro producto y automáticamente comenzará el proceso de actualización.

El proceso consta de distintos pasos que podemos resumir en :

  • Comprobar las actualizaciones pendientes en el canal al que estemos suscritos, por lo general “full”.
  • Descargar las actualizaciones.
  • Identificar si existen conflictos con los ficheros de nuestra instalación.
  • Mezclar los ficheros asociados con las actualizaciones con los de nuestra instalación para actualizarla.

En la siguiente captura podemos ver como sería el proceso.

Como vemos en la secuencia anterior nos ha indicado todos los ficheros que van a ser actualizados, pero aún no aplicó ningún cambio.

Debemos ser prudentes con este mecanismo de actualización , ya que a pesar de haber realizado las comprobaciones e indicar que no se han encontrado conflictos, podemos ver que han sido actualizados varios ficheros relativos al tema por defecto del producto, si hemos desarrollado un tema personalizado deberemos identificar los nuevos cambios y trasladarlos a nuestro desarrollo.

Bien , vamos a ejecutar el comando de actualización sin la opción “–dry-run” para que actualice nuestro sistema.

En la siguiente captura puedes ver cómo se realiza el proceso.

A diferencia de la ejecución anterior , ahora se realiza una copia de seguridad de nuestra instalación, por lo que debemos asegurarnos de disponer de suficiente espacio.

Creating a backup of 'wso2am-2.6.0'...
Successfully created the backup at : /Users/.wso2-updates/backup/wso2am-2.6.0-1568915453725

Y otro aspecto que ha cambiado es que ahora se muestra un resumen de la actualización y se genera un reporte en formato PDF con los cambios aplicados, que siempre es recomendable repasar.

Pero qué ocurre si después de arrancar tenemos algún problema o decidimos que queremos repetir la actualización, pues para este caso debemos ejecutar el comando con la opción “–revert”

El resultado es que se recupera de la copia de backup nuestra instalación y se revierten los cambios. Esta recuperación deja la instalación en el punto de la copia previa , si necesitamos sacar logs o algún fichero para estudiar o revisar los efectos de la actualización debemos hacerlos previamente.

Y en el mejor de los casos habremos aprendido todo lo necesario para actualizar nuestra instalación , ahora toca repasar algunos casos especiales.

¿ Que pasa si al ejecutar la actualización se produce algún conflicto?

La herramienta nos deja en la ruta indicada una copia del fichero original, el fichero de que esperaba encontrar con la extensión “.old” y el fichero actualizado con la extensión “.updated” , de modo que debemos evaluar los cambios y guardarlo con la extensión “.final” . Al volver a ejecutar la herramienta con la opción “–continue” se aplicará el cambio.

En el siguiente ejemplo vemos como hay un conflicto con el fichero “locale_en.json”

Si nos ubicamos en la ruta indica podemos ver los distintos ficheros y compararlos.

Dado que el fichero “.update” corrige otra frase, nos quedamos con este cambio y le ponemos la extensión “.final”.

cp locale_en.json.updated locale_en.json.final 

Y volvemos a ejecutar la herramienta con “–continue”.

La propia herramienta nos indica la solución que resolvamos el conflicto y ejecutemos el comando update con la opción “–continue” .

Para concluir diremos que la herramienta nos facilita actualizar la instalación de forma fácil y segura, y de seguro será una gran ayuda para aquellos administradores que aún dispongan de instalaciones on-premise.

Comments are closed, but trackbacks and pingbacks are open.