Ir al contenido principal

Cómo instalar la herramienta WSO2 Update Manager (WUM) y aplicar los parches WSO2

En este artículo se hablará acerca de los parches WSO2 y la herramienta WSO2 Update Manager (WUM). Además, con este tutorial aprenderás cómo instalar la herramienta  y cómo se descargan y aplican los parches WSO2.

Unos de los principales problemas que puedes encontrarte a la hora de actualizar versiones antiguas de WSO2 es, ¿cómo me descargo y aplicó los parches WSO2?, ya que en versiones antiguas, hay que hacerlo manualmente. Mientras que en versiones más actuales, WSO2, ya tiene este aspecto más controlado.

Esto es una problema común, pues aunque dispongas de la licencia de este producto, pocos usuarios saben aplicar los parches, y es que WSO2 te proporciona el producto (zip) ya actualizado, pero no permite realizar su despliegue si ya tienes realizado un despliegue con el producto vainilla (producto sin aplicar parches). Por lo que sólo permite realizar la segunda opción, la aplicación manual de lo parches.

1. ¿Qué es WSO2 Update Manager (WUM)?

WUM (WSO2 Update Manager) es una herramienta propia que tiene WSO2 para descargar los parches de sus productos y aplicarlos, aunque, tiene más funcionalidades.
Para usar esta herramienta, necesitas la licencia de WSO2, por que en caso contrario no podrás utilizar la herramienta.

Esta herramienta también te ayuda a la hora de llevar un control de versión de los mismos productos que te vas descargando, y de sus respectivos parches.

2. Instalación de WUM

La instalación de la herramienta WSO2 Update Manager (WUM) es fácil, debes de seguir estos pasos:

wget http://product-dist.wso2.com/downloads/wum/3.0.5/wum-3.0.5-linux-x64.tar.gz

  • Segundo. Descomprimes el tar en la ruta que deseas.

tar -C /opt -xzf wum-3.0.5-linux-x64.tar.gz

  • Tercero. Define la nueva ruta en $PATH para poder emplear el binario, de lo contrario deberás emplear la ruta completa del propio binario de WUM:

export PATH=$PATH:/opt/wum/bin

Como referencia para descargar otra alternativa a Linux la puedes encontrar aquí: https://wso2.com/wum/download

3. Comandos de WSO2 Update Manager (WUM)

Una vez instalado WUM, se va a revisar el listado de comandos que tiene, con el simple hecho de hacer “wum”, te listará los comandos que podrás utilizar:

root@c73956b85bda:/# wum
 
WUM keeps WSO2 products up-to-date.
 
Usage:
  wum [command]
 
Available Commands:
  init         Initialize WUM with your WSO2 credentials
  search       Search products containing the specific keyword(s)
  add          Add or download a product
  check-update Check new updates for products
  update       Update products in your local repository
  diff         Generate a diff comparing two updated product distributions
  list         List products in your local repository
  describe     Show details of products in your local repository
  delete       Delete products in your local repository
  config       Change WUM configuration
  version      Display WUM version information
 
Flags:
  -v, --verbose   Enable verbose mode
 
Use "wum [command] --help" for more information about a command.

3.1. Version

Comienza comprobando la versión de la herramienta, con este comando probarás ciertas especificaciones de la herramienta, como la versión de Go empleada, la arquitectura y la última actualización:

root@c73956b85bda:/# wum version
wum version: 3.0.5
Release date: 2019-05-08 08:45:15 UTC
OS\Arch: linux\amd64
Go version: go1.12.4

Este es el único comando que se puede emplear sin la licencia. En caso de emplear otro comando el resultado será el siguiente:

root@c73956b85bda:/# wum list
wum: you haven't initialized WUM with your WSO2 credentials
Run 'wum init' to continue

3.2. Init

Para empezar a usar WSO2 Update Manager (WUM), deberás registrarte con la misma herramienta para ello usa la opción init, seguido de tu correo y contraseña. Si lo deseas, puedes solo poner el correo, y luego te pedirá la contraseña, de esta forma no dejarás tu contraseña en claro:

root@c73956b85bda:/# wum init
You need a WSO2 subscription to start using WUM.
Don't have one yet? Sign up for a free-trial subscription at https://wso2.com/subscription/free-trial
 
Please enter your WSO2 credentials to continue
Email: correo@gmail.com
Password for correo@gmail.com': 
Authenticating...
*** New version of WUM is now available. Please visit http://wso2.com/update to download. ***
Done!
Setting default channel full...
 
-- Welcome to WUM 3.0.5 --
 
* Please contact WSO2 for further information at https://wso2.com/contact
 
What's next? Have a look at the following list of WUM commands:
 
Add WSO2 products to your product repository
  wum search		Search WSO2 products         
  wum add	   	Add or download WSO2 products
 
Update WSO2 products available in your product repository
  wum check-update	Check for new updates                          
  wum update	     	Update your WSO2 products                      
  wum diff	       	Create a diff between two updated distributions
 
Manage WSO2 products available in your product repository
  wum list	    	List WSO2 products           
  wum describe		Show details of WSO2 products
  wum delete	  	Delete WSO2 products

WUM nos da siempre información acerca de qué comando puedes emplear posteriormente.

3.3. Search

Este comando muestra los productos que puedes descargar en sus últimas versiones:

root@c73956b85bda:/# wum  search
Connecting to WSO2 Update Server...
 
Available latest products
Product                      		Description                     
wso2am-3.0.0                 		API Manager                     
wso2am-analytics-3.0.0       		API Manager Analytics           
wso2am-micro-gw-linux-3.0.2  		API Microgateway Linux          
wso2am-micro-gw-macos-3.0.2  		API Microgateway MacOS          
wso2am-micro-gw-toolkit-2.5.0		API Microgateway Toolkit        
wso2am-micro-gw-windows-3.0.2		API Microgateway Windows        
wso2cep-4.2.0                		Complex Event Processor         
wso2das-3.2.0                		Data Analytics Server           
wso2dss-3.5.1                		Data Services Server            
wso2ei-6.6.0                 		Enterprise Integrator           
wso2emm-2.2.0                		Enterprise Mobility Manager     
wso2esb-5.0.0                		Enterprise Service Bus          
wso2esb-analytics-5.0.0      		Enterprise Service Bus Analytics
wso2greg-5.4.0               		Governance Registry             
wso2iot-3.3.1                		IoT Server                      
wso2iot-3.3.0                		IoT Server                      
wso2is-5.9.0                 		Identity Server                 
wso2is-analytics-5.8.0       		Identity Server Analytics       
wso2is-km-5.9.0              		IS as Key Manager               
wso2mb-3.2.0                 		Message Broker                  
wso2mi-1.0.0                 		Micro Integrator                
wso2si-1.0.0                 		Streaming Integrator            
wso2si-tooling-1.0.0         		Streaming Integrator Tooling    
wso2sp-4.4.0                 		Stream Processor                
 
Subscribed channels
None

Además, muestra los distintos canales, haciendo referencia a los productos con los parches instalados:

Do you want to see all available latest channels? [y/N] y
 
All available latest channels
Product                          		Channel      
wso2am-3.0.0                     		full,security
wso2am-analytics-3.0.0           		full,security
wso2am-micro-gw-linux-3.0.2      		full         
wso2am-micro-gw-macos-3.0.2      		full         
wso2am-micro-gw-toolkit-2.5.0    		full,security
wso2am-micro-gw-windows-3.0.2    		full         
wso2cep-4.2.0                    		full         
wso2das-3.2.0                    		full         
wso2dss-3.5.1                    		full         
wso2ei-6.6.0                     		full,security
wso2emm-2.2.0                    		full         
wso2esb-5.0.0                    		full         
wso2esb-analytics-5.0.0          		full         
wso2greg-5.4.0                   		full         
wso2iot-3.3.0                    		full         
wso2iot-3.3.1                    		full         
wso2is-5.9.0                     		full,security
wso2is-analytics-5.8.0           		full,security
wso2is-km-5.9.0                  		full,security
wso2mb-3.2.0                     		full         
wso2mi-1.0.0                     		security     
wso2mi-monitoring-dashboard-1.1.0		full         
wso2mi-monitoring-dashboard-1.1.1		full,security
wso2si-1.0.0                     		full,security
wso2si-tooling-1.0.0             		full,security
wso2sp-4.4.0                            full,security

Por último, destacar que la propia herramienta indica el siguiente paso a dar:

What's next?
  run "wum add <product-name>-<product-version>" to download a product
  run "wum update <product-name>-<product-version> <channel>" to update a product

También puedes filtrar por productos:

root@c73956b85bda:/# wum search wso2ei
Connecting to WSO2 Update Server...
 
Available latest products
Product     		Description          
wso2ei-6.6.0		Enterprise Integrator
 
Subscribed channels
None

3.4. Add

Con este comando podrás añadir el producto que quieras:

root@c73956b85bda:/# wum add wso2ei-6.6.0
Connecting to WSO2 Update Server...
The product, "wso2ei-6.6.0.zip", will be downloaded.
After this operation, 511.6MB of additional disk space will be used.
 
Do you want to continue? [Y/n] y
Downloading product wso2ei-6.6.0.zip... [511MB/511MB] (100%) - 0kB/s 0s remaining                         
Download complete
Successfully added to following location:
/home/root/.wum3/products/wso2ei/6.6.0/wso2ei-6.6.0.zip

Después de su descarga, WSO2 te preguntará cual va a ser tu siguiente paso:

What's next?
  run "wum check-update <product-name>-<product-version> <channel>" to check for updates
  run "wum update <product-name>-<product-version> <channel>" to install latest updates

3.5. Check-update

Este comando te permitirá comprobar si existen parches para la versión actual que tienes. Si tienes el producto original, al igual si tienes ya algunos parches descargados:

root@c73956b85bda:/# wum check-update wso2ei-6.6.0
Connecting to WSO2 Update Server...
Using default channel full...
Checking updates for wso2ei-6.6.0 via full channel...
 
There are 9 updates available for the product 'wso2ei-6.6.0'.
[WARNING] There are 6 critical security updates for the product 'wso2ei-6.6.0'. WSO2 strongly recommends to apply these updates in production as soon as possible.

Como puedes ver, WSO2 te está indicando que hay 9 actualizaciones disponibles. Además WSO2 te indica los paso siguientes:

run "wum update <product-name>-<product-version>" to update the product in the default channel
run "wum update <product-name>-<product-version> <channel>" to update the product in the specified channel

3.6. Update

Con este comando te descargarás los parches del producto que desees, podrás hacerlo de un producto o de la versión full (productos con parches), cabe decir que la versión full, cuando existe parches, es una versión full anterior, desactualizada.

root@c73956b85bda:/# wum update wso2ei-6.6.0
Connecting to WSO2 Update Server...
Using default channel full...
Updating wso2ei-6.6.0 via full channel...
There are 9 updates available for the product 'wso2ei-6.6.0'.
Downloading updates... [9/9] - 0s remaining                         
 
Installing updates...
Preparing summary...
Building updated product...
 
Update summary:
  Update count: 9
  [WARNING] There are 6 critical security updates for the product 'wso2ei-6.6.0'. WSO2 strongly recommends to apply these updates in production as soon as possible.
  Updated product: /home/root/.wum3/products/wso2ei/6.6.0/full/wso2ei-6.6.0+1584025788848.full.zip
  * More information about updates are available inside the above product archive.
  Update summary (pdf): (/home/root/.wum3/products/wso2ei/6.6.0/full/wso2ei-6.6.0+1584025788848.full.zip)/updates/summary/update-summary-wso2ei-6.6.0+1584025788848.full.pdf
  * The above update summary has also been emailed to [correo@gmail.com].

Una vez realizado el update, te llegará un correo, con un pdf donde te especificará los cambios que se han realizado, desde la última actualización, si es la primera vez, todos los cambios que se han producido. Cabe destacar, que hay cambios que hay que hacerlos manualmente en ciertos ficheros de configuración.

El siguiente paso, te lo indica el propio WSO2:

What's next?
  run "wum list [product-pattern]" to list products in your local repository
  run "wum describe [product-pattern]" to get more details of products
  run "wum diff <updated-distribution-1> <updated-distribution-2>" to create a diff between the given updated product distributions

3.7. List

Este comando muestra los productos que te has descargado, tanto el vainilla (original sin parches), como los full que hayas ido descargando:

root@c73956b85bda:/# wum list
Product     		Updated                  		Filename                           		Channel
wso2ei-6.6.0		xxxx-xx-xxxxx:xx:xx+xx:xx		wso2ei-6.6.0+xxxxxxxxxxxxxxx.full.zip		full   
wso2ei-6.6.0		-                        		wso2ei-6.6.0.zip                   		-

Como puedes ver, te muestra 2 productos, la versión original (wso2ei-6.6.0, -, wso2ei-6.6.0.zip, -) y otro que te has descargado (wso2ei-6.6.0, xxxx-xx-xxxxx:xx:xx+xx:xx, wso2ei-6.6.0+xxxxxxxxxxxxxxx.full.zip, ful ).

Por último, WSO2 te muestra el siguiente comando a emplear:

What's next?
  run "wum describe [product-pattern]" to get more details of products

3.8. Describe

Con este comando te describe un poco acerca del producto:

root@c73956b85bda:/# wum describe wso2ei-6.6.0
Filename:		wso2ei-6.6.0+xxxxxxxxxx.full.zip
Product Name:		wso2ei
Product Version:	6.6.0
Channel Name:		full
Kernel Version:		4.5.3
Last Updated Time:	xxxx-xx-xxxxx:xx:xx+xx:xx
Product File Path:	/home/root/.wum3/products/wso2ei/6.6.0/full/wso2ei-6.6.0+xxxxxxxx.full.zip
No Of Times Updated:	1
Installed Updates:	9
Update History:
	Date                     		Installed Updates		Username                        
	xxxx-xx-xxxxx:xx:xx+xx:xx		9                		correo@gmail.com
 
 
Filename:		wso2ei-6.6.0.zip
Product Name:		wso2ei
Product Version:	6.6.0
Channel Name:		-
Kernel Version:		4.5.3
Last Updated Time:	-
Product File Path:	/home/root/.wum3/products/wso2ei/6.6.0/wso2ei-6.6.0.zip

En él se aprecian ciertos detalles como son: la ruta donde se encuentra el producto, la versión del kernel, características del producto como versión, nombre y actualizaciones disponibles.

3.9. Diff

Este comando te permitirá distinguir entre diferentes versiones de un mismo producto:

root@c73956b85bda:/#  wum diff wso2ei-6.6.0+xxxxxxxxx.full.zip wso2ei-6.6.0.zip
Connecting to WSO2 Update Server...
Creating a diff between the product distributions, 'wso2ei-6.6.0' and 'wso2ei-6.6.0+xxxxxxxxx.full'...
Preparing summary...
 
Diff summary:
  Update count: 9
  [WARNING] There are 6 critical security updates for the product 'wso2ei-6.6.0'. WSO2 strongly recommends to apply these updates in production as soon as possible.
  Diff archive: /home/root/.wum3/wso2ei-6.6.0-diff-0-xxxxxxxxx.full.zip
  * More information about updates are available inside the above diff archive.
  Diff summary (pdf): (/home/root/.wum3/wso2ei-6.6.0-diff-0-xxxxxxxxx.full.zip)/updates/summary/diff-summary-wso2ei-6.6.0-full+xxxxxxxxx.pdf
  * The above diff summary has also been emailed to [correo@gmail.com].

Así, te muestra la diferencia entre la versión wso2ei-6.6.0.zip y la versión full que te descargaste anteriormente. Dichas diferencias te las refleja en un pdf como se indica al final, además te enviará un correo con estas diferencias.

3.10. Config

Con este comando puedes cambiar la ruta de trabajo de WSO2, por defecto se emplea la ruta del usuario el cual ha realizado el “init”, es decir, si empleas root, la ruta por defecto será “/home/root/.w3m”, pero puedes cambiar la ruta si lo deseas:

root@c73956b85bda:/home/root# mkdir wso2_folder
root@c73956b85bda:/home/root# wum config local.product.repo /home/root/wso2_folder/
New product repository is /home/root/wso2_folder

Ahora añade un producto para verificar esto:

root@7862c719402a:/home/root# wum add wso2ei-6.6.0
Connecting to WSO2 Update Server...
The product, "wso2ei-6.6.0.zip", will be downloaded.
After this operation, 511.6MB of additional disk space will be used.
 
Do you want to continue? [Y/n] y
Downloading product wso2ei-6.6.0.zip... [511MB/511MB] (100%) - 0kB/s 0s remaining                         
Download complete
Successfully added to following location:
/home/root/wso2_folder/wso2ei/6.6.0/wso2ei-6.6.0.zip
 
What's next?
  run "wum check-update <product-name>-<product-version> <channel>" to check for updates
  run "wum update <product-name>-<product-version> <channel>" to install latest updates

Comprueba que efectivamente se ha descargado:

root@7862c719402a:/home/root#  tree wso2_folder/
wso2_folder/
`-- wso2ei
    `-- 6.6.0
        `-- wso2ei-6.6.0.zip
 
2 directories, 1 file

4. Estructura de carpetas y ficheros de la herramienta WSO2 Update Manager (WUM)

Una vez registrados, añadido algunos productos y actualizado estos productos, el repositorio local de WSO2 Update Manager (WUM), local.product.repo (como has redefinido cuando has empleado el comando config, has cambiado de ruta de “.w3m” a “wso2_folder”), comienza a aumentar de volumen.

A continuación, se irá explicando cada fichero que irás encontrando, además de las carpetas.
Cuando inicies por primera vez, se te creará en el directorio principal del usuario con el que lo hayas iniciado, una carpeta oculta llamada wum3. Si has cambiado la configuración y has definido otra ruta, en la propiedad local.product.repo, deberás mirar en la ruta que hayas definido:

root@c73956b85bda:~# ls -la | grep wum3
drwxr-xr-x 5 root root 4096 Mar 11 21:14 .wum3

Si accedes a ese directorio encontrarás:

  • El fichero config.yml.
  • El directorio products/.
  • El directorio updates/.

4.1. Fichero config.yml

El fichero config.yml, es un fichero de configuración donde viene información de tu cuenta, el usuario, token con el cual te autenticas, la versión de producto, el propio producto que estás descargando y la versión del kernel, entre otras cosas.

root@c73956b85bda:~/.wum3# cat config.yaml 
username: correo@gmail.com
local.product.repo: /root/.wum3/products
local.update.repo: /root/.wum3/updates
defaultchannel: full
repositories:
  wso2:
    enabled: true
    name: WSO2 Update Repository
    url: https://api.updates.wso2.com
    tokenurl: https://api.updates.wso2.com/token
    appkey: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    refreshtoken: xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    accesstoken: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
products: {}

En el caso de que tengas un producto ya descargado, tendrás en el diccionario “product”, información al respecto:

Products: {}
  wso2ei-6.4.0:
    name: wso2ei
    version: 6.4.0
    productdir: /home/root/.wum3/products/wso2ei/6.4.0
    kernel-version: 4.4.36
    channel: full

4.2. Directorio products/

El directorio products/, es el directorio donde encuentras los productos que te has descargado, viene desglosado en 3 niveles.

  • En el primer nivel te encuentras el producto que te has descargado (wso2ei).
  • En un segundo nivel, las versiones que te has descargado del producto (6.4.0).
  • Y en un tercer nivel, el zip del producto (wso2ei-6.4.0.zip) y un último directorio, llamado “full”, dónde viene en formato zip, el producto con los parches aplicados. Habrá tantos productos full comprimidos, como actualizaciones de los productos se hayan realizado.
├── products
│   └── wso2ei
│       └── 6.4.0
│           ├── full
│           │   ├── wso2ei-6.4.0+XXXXXXXXXXXXX.full.zip
│           │   ├── wso2ei-6.4.0+XXXXXXXXXXXXX.full.zip
│           │   ├── wso2ei-6.4.0+XXXXXXXXXXXXX.full.zip
│           │   ├── wso2ei-6.4.0+XXXXXXXXXXXXX.full.zip
│           │   ├── wso2ei-6.4.0+XXXXXXXXXXXXX.full.zip
│           └── wso2ei-6.4.0.zip

4.3 Directorio updates

El directorio updates/, es un directorio donde se van guardando cada actualización que se vaya haciendo en formato zip. También tiene diferentes niveles en función del kernel del producto. A diferencia de la carpeta “products”, en esta carpeta viene directamente todos los parches.
Por ejemplo, en la primera actualización que haces, puede venir un total de 7 zip WSO2-CARBON-UPDATE-4.4.0-****.zip en la carpeta “update”, pero en “products”, se te creará solo un zip, pues en “products” viene ya el zip original con todos los parches en el momento que actualizas, mientras que en “updates”, viene directamente los parches, por lo que habría que aplicarlos manualmente, pero el resultado es igual.

└── updates
    └── wilkes
        └── 4.4.0
            ├── WSO2-CARBON-UPDATE-4.4.0-XXXX.zip
            ├── WSO2-CARBON-UPDATE-4.4.0-XXXX.zip
            ├── WSO2-CARBON-UPDATE-4.4.0-XXXX.zip
            ├── WSO2-CARBON-UPDATE-4.4.0-XXXX.zip
            ├── WSO2-CARBON-UPDATE-4.4.0-XXXX.zip

En nuestro caso, al descargar el producto WSO2ei-6.4.0, está empleado una versión en concreta de la plataforma, 4.4.0, por lo que la release será wilkes. El nombre que recibe esto es debido al nombre que le pone WSO2. Para más información de las distintas release, podéis consultar este enlace: LINK

Por lo que se puede decir, que si descargas otro producto como WSO2ei-6.6.0, la estructura será esta:

├── minsky
│   └── 4.5.0
│       ├── WSO2-CARBON-UPDATE-4.5.0-XXXX.zip
│       ├── WSO2-CARBON-UPDATE-4.5.0-XXXX.zip
│       ├── WSO2-CARBON-UPDATE-4.5.0-XXXX.zip
│       ├── WSO2-CARBON-UPDATE-4.5.0-XXXX.zip
│       └── WSO2-CARBON-UPDATE-4.5.0-XXXX.zip
└── wilkes
    └── 4.4.0
         ├── WSO2-CARBON-UPDATE-4.4.0-XXXX.zip
         ├── WSO2-CARBON-UPDATE-4.4.0-XXXX.zip
         ├── WSO2-CARBON-UPDATE-4.4.0-XXXX.zip
         └── WSO2-CARBON-UPDATE-4.4.0-XXXX.zip

Dependiendo del producto que tengamos descargado, tendremos releases diferentes.

5. Instalación de los parches WSO2 manualmente

Cuando quieres aplicar los parches de forma manual, es decir aplicar una series de WSO2-CARBON-UPDATE-4.4.0-****.zip, debes saber que hay que seguir un orden lógico de menor a mayor, pues a veces, hay binarios que se modifican en un zip, pero puede ser que haya otro parche más nuevo, con un valor mayor, que puede que también lo haya modificado, por lo que este tiene mayor preferencia.

¿Cómo distingues que un parche es mayor que otro? En este caso, WSO2-CARBON-UPDATE-4.4.0-0123.zip es menor que WSO2-CARBON-UPDATE-4.4.0-2560.zip, por lo tanto, si el 2560 ha modificado un binario que también lo toca el 0123, el del 2560 tiene que prevalecer ante el 0123.

Una vez entendido esto, se puede proceder a ver qué es lo que tienen estos zip. La estructura que suele tener es esta:

WSO2-CARBON-UPDATE-4.4.0-XXXX
├── carbon.home
│   └── bin
│       ├── update_darwin
│       └── update_linux
├── LICENSE.txt
├── NOT_A_CONTRIBUTION.txt
├── update-descriptor3.yaml
└── update-descriptor.yaml
 
 
 
WSO2-CARBON-UPDATE-4.5.0-XXXX
├── carbon.home
│   └── wso2
│       └── components
│           └── plugins
│               └── org.wso2.carbon.endpoint.ui_4.7.30.jar
├── LICENSE.txt
├── NOT_A_CONTRIBUTION.txt
└── update-descriptor3.yaml
  • Una carpeta “carbon.home”, donde vienen los parches que se han incluido.
  • Un fichero o ficheros “yaml” donde se describe que se añade, modifica y elimina. Normalmente con este nombre, update-descriptor3.yaml, aunque también puedes encontrarlo por otro diferente, update-descriptor.yml.
  • El resto de ficheros, es simplemente información, como licencias, etc.

¿Cómo aplicar los parches? En el fichero, update-descriptor3.yaml o con otro nombre, se te informará de los parches que hay en el directorio “carbon.home”, y cuáles son los apropiados en tu entorno. Partiremos como escenario un WSO2ei-6.4.0:

Primera parte. Como puedes ver, se realiza una breve descripción del parche, versión del parche, versión del kernel…

update_number: XXXX
platform_version: 4.4.0
platform_name: wilkes
md5sum: xxxxxxxxxxxxxxxxxxxxxx
description: |
 The WSO2 in-place updates tool allows you to update your currently used product by fetching updates from the server and merging all configurations and files. The tool also gives backup and restore capability.
instructions: |
 N/A
bug_fixes:
 https://github.com/wso2/carbon-kernel/issues/xxxx: Add In-place updates client

Segunda parte. En esta parte, se ve en compatible_products cuáles son los parches que deberás aplicar en función del entorno, además de cuales se modificarán y cuales se eliminarán.

Como puedes ver, te lo muestra en forma de lista, deberás buscar primero, cuál es tu producto (product_name), en tu caso, wso2ei. Luego, la versión completa de tu producto (product_version), en tu caso 6.4.0.full. Al estar en la lista, deberás aplicar los parches, para ello tenemos 3:

  • added_files: nuevos ficheros que se van a añadir.
  • modified_files: ficheros que se van a actualizar.
  • delete_files: ficheros que se van a eliminar.
compatible_products:
- product_name: wso2am
 product_version: 2.6.0.full
 added_files:
 - bin/update_darwin
 - bin/update_linux
 removed_files: []
 modified_files: []
- product_name: wso2is-km
 product_version: 5.7.0.full
 added_files:
 - bin/update_darwin
 - bin/update_linux
 removed_files: []
 modified_files: []
- product_name: wso2ei
 product_version: 6.4.0.full
 added_files:
 - bin/update_darwin
 - bin/update_linux
 removed_files: []
 modified_files: []

Debes, tanto añadir, como modificar y eliminar si nos lo indican los parches.

Tercera parte. Esta parte es igual que la segunda parte, salvo que en vez de llamarse “compatible_products”, se llamará partially_applicable_products. La funcionalidad es la misma, pero con la salvedad que es para un producto en concreto y su versión.

La forma de aplicar los parches, es copiar cada fichero y pegarlos en su respectivo directorio, tal como indica en su ruta. Partiendo del directorio del carbon.home, que es la ruta donde tenemos instalado el producto carbon.
También decir, que la única diferencia que hay entre compatible_products y partially_applicable_products, es que:

  • compatible_products: son parches que se aplican a nivel general para los productos de WSO2, ya sean EI, IS o AM, entre otros. Pero como ya se ha mencionado anteriormente, sólo se aplican en el caso de que vengan nombrados en su lista. Se podría decir, que son parches aplicables para todos los productos.
  • partially_applicable_products: son parches que se aplican a productos en concretos, es decir, a las distintas versiones que haya de un mismo producto, por ejemplo, de WSO2 Enterprise Integrator, podemos distinguir 6.4.0, 6.5.0, 6.6.0…

Continuamos ahora con los ficheros yaml que podamos encontrar, en este caso update-descriptor.yml
added_files:

update_number: XXXX
platform_version: 4.4.0
platform_name: wilkes
applies_to: wso2am-2.6.0
bug_fixes:
 https://github.com/wso2/carbon-kernel/issues/xxxx: Add In-place updates client
description: The WSO2 in-place updates tool allows you to update your currently used
 product by fetching updates from the server and merging all configurations and files.
 The tool also gives backup and restore capability.
file_changes:
 added_files:
 - bin/update_darwin
 - bin/update_linux
 removed_files: []
 modified_files: []

Como se puede apreciar la forma de aplicar los cambios es muy similar a la de update-descriptor3.yml, salvo que solo indica que es aplicable a un producto en concreto (wso2am-2.6.0). La forma de aplicar viene al final:

 added_files:
 - bin/update_darwin
 - bin/update_linux
 removed_files: []
 modified_files: []

Indica que ficheros deberás añadir, pero no dice qué ficheros se van a eliminar y/o actualizar.

Conclusión

Con este resumen de los comandos que nos proporciona WSO2 Update Manager (WUM), podrás enfrentarte sin ningún problema con los parches de WSO2.

Aunque dispongas de conocimientos necesarios para aplicar los parches de WSO2, hay que tener mucho cuidado cuando quieras aplicarlos, por que un parche mal instalado, puede conllevar a que el propio servicio de WSO2 se corrompa. Esto se debe a que ciertos parches tienen dependencias con otros parches.

Con esta herramienta tendrás la posibilidad de tener un entorno controlado con parches aplicados y funcionando correctamente.