Para actualizar la plataforma, WSO2 está implantando nuevas y mejores maneras de aplicar las actualizaciones de sus productos. A través de unas líneas de comando podemos realizar de manera cada vez más sencilla el manejo de parches concretos a alguna versión o la subida de versión de algún producto.
Anteriormente, WSO2 con WUM (WSO2 Update Manager) realizaba ya estas acciones, pero ¿qué ha mejorado para las nuevas versiones? En este artículo se verá y desarrollará la nueva herramienta para la gestión de actualizaciones: Update Tool.
Comparativa entre el anterior WUM vs In place
En las versiones anteriores de WSO2 nos que la manera de actualizar la plataforma es a través de WUM. En las últimas versiones sin embargo se mejoró esta manera con “In place Tool” la cual realizaba mejoras considerables sobre la herramienta anterior. En la siguiente tabla expondremos las mejoras principales que nos encontramos entre estas dos herramientas:
WUM | In place |
La actualización de WUM crea una nueva distribución de producto y no tiene conocimiento de las configuraciones del paquete existente | Aplica actualizaciones sobre el paquete existente |
Requieren una cantidad considerable de entrada manual | Aplica actualizaciones sin ninguna intervención del usuario |
No identifica ni resuelve conflictos durante la actualización. | Introdujo un mecanismo para identificar y resolver conflictos durante el proceso de creación de actualizaciones |
Hacia Update Tool
WSO2 ha mejorado en la última versión la herramienta “In place Tool”, realizando algunas ventajas las cuales se exponen en una tabla a continuación:
In place | Update Tool |
Requiere que se descargue el paquete base del producto antes de aplicar actualizaciones | Descarga la actualización de archivo efectivo necesario para que la distribución esté en el estado de actualización deseado. |
Todas las aplicaciones son descargas y aplicadas individualmente. | |
Alto consumo de ancho de banda | Muy bajo consumo de ancho de banda |
Consumo de tiempo (aproximadamente 10 minutos para actualizar un paquete por producto) | Actualizaciones rápidas (aproximadamente 1 minuto para actualizar un paquete por producto) |
Principales características de “Update Tool”:
- Distribuciones CLI separadas para Linux, MaCOS y Windows.
- Actualiza la distribución personalizada del producto mientras fusiona
configuraciones y artefactos personalizados.
- Permite resolver conflictos de fusión.
- Realiza copias de seguridad del paquete del producto antes de realizar actualizaciones y habilitar volver al estado anterior
- Aplica revisiones (hotfixes) a las distribuciones de productos personalizados.
- La herramienta de actualización tiene un mecanismo para actualizarse automáticamente
Uso de la herramienta “Update Tool”
Para obtener “Update Tool” debemos actualizar nuestra versión del producto a través de la herramienta “In-place Tool”. Con ello es importante tener una cuenta de suscripción de WSO2 la cual nos va a permitir realizar esta actualización.
Dentro de <HOME_WSO2>/bin usaremos el comando update_windows o update_linux (dependiendo de nuestro sistema operativo). A continuación, nos pedirá nuestro usuario y contraseña de la suscripción. Paso seguido se descargará la actualización y nos pedirá el canal (por defecto si no definimos nada será “full”). Una vez realizada la actualización, tendremos disponible dentro de la carpeta <HOME_WSO2>/bin el cliente de Update Tool: “wso2update_darwin”.
Para el uso de la nueva herramienta, vamos a describir brevemente algunos de los comandos principales:
- wso2update_darwin current_state à describe la versión actual del producto.
- wso2update_darwin –revert à revierte la última actualización realizada.
- wso2update_darwin apply-hotfix <HOTFIX_FILE> à Aplica un parche (hotfix) al producto, este debe corresponder con la versión del producto. Se debe indicar el fichero local.
- wso2update_darwin revert-hotfix à revierte el último parche (hotfix) aplicado.
Los códigos de salida de estos comandos serían:
- 0 – Operación correcta.
- 1 – Error
- 2 – Actualización automática
- 3 – Conflicto(s) encontrado(s)
- 4 – Revertido
Demostración
En este apartado vamos a realizar una pequeña demostración del uso del cliente de Update Tool.
Hemos actualizado nuestra plataforma con una cuenta con suscripción y tenemos disponible el cliente de Update. A continuación, vamos a realizar una actualización del producto, en este caso, de API Manager 2.6.0. Para ello, ejecutamos fichero “wso2update_darwin”:
Una vez realizada la actualización con éxito obtenemos una salida del comando con el código “0” y con el comando wso2update_darwin current-state vemos que nuestra versión actual es 2.6.0.4 (la cual nos indica que no tenemos ningún hotfix aplicado):
Revertir la actualización
En este caso aplicaremos el comando wso2update_darwin –revert. Con ello volveremos a la versión que originalmente teníamos.
Aplicar parches (hotfix)
Vamos a aplicar un parche a nuestra actualización que hemos descargado previamente. Tenemos el fichero .zip el cual es un parche para la versión 2.6.0.1 y estamos en la versión del producto correspondiente (2.6.0.1) en la que se aplicará el parche. Esto es importante ya que si el parche no corresponde con la versión nos devolverá un error y no se aplicaría.
Para aplicar el parche utilizamos el comando wso2update_darwin apply-hotfix (ubicación de nuestro parche) :
Como se observa en la imagen anterior al realizar un current-state, aparecerá que la versión que tenemos tiene aplicado el parche.
Revertir parches (hotfix)
Para realizar esta acción en primer lugar vamos a aplicar un segundo parche a la anterior actualización:
Ahora tenemos dos parches aplicados, pero vamos a revertir este último. Para ello, utilizaremos el comando wso2update_darwin revert-hotfix :
Al realizar una comprobación de nuestra versión actual del producto vemos que el último parche se ha revertido y tenemos la versión 2.6.0.1 con el parche h1:
Actualización del producto con parches aplicados
Para este caso de uso en primer lugar debemos revertir todos los parches aplicados, ya que, de manera general, los parches que tendríamos en nuestra versión deberán estar aplicados en versiones superiores. Por lo tanto, si queremos actualizar nuestra versión con parches aplicados, debemos en primer lugar revertir dichos parches. De manera contraria al realizar una actualización, el cliente de Update Tool nos devolverá un error indicando que revirtamos los parches:
Por lo tanto, revertiremos el parche y a continuación realizaremos la actualización del producto:
REFERENCIAS:
WSO2: https://wso2.com/
Roberto Lopez: Consultor Senior WSO2 Digital WSO2