Keep your WSO2 products up-to-date with WUM

Sameera Jayasoma
7 min readSep 8, 2016

--

WSO2 Update Manager

We at WSO2 continuously improve our products with bug fixes, security fixes , and various other improvements. Every major release of our WSO2 products is followed by a series of periodic dot releases that roll up all these recent updates.

We want everyone evaluating, developing on, or preparing WSO2 products for production deployments to have the best experience — and especially not trip over a bug that has already been fixed! Therefore we recommend always to use the latest versions of our products.

Usually, we do dot releases once a month, once in two months, once in a quarter. But sometimes these releases can get delayed even further. Though we continuously improve our products, you have to wait for dot releases to gain access to those updates.

But with WUM, we are bridging this gap. WUM gives continuous access to WSO2 product updates. You will get access to latest updates as and when we release them.

What is WUM?

WUM is a command-line application which allows you to keep WSO2 products up-to-date. It determines which updates are new and relevant for your WSO2 products, downloads and installs them. WUM builds you a new product distribution with all the relevant updates, which is ready to deploy into your development or production environment. Note that WUM will not push updates into production — you have full control over when and how you want to such pushes to occur.

Updates are available for the following products and versions. We are in the process of adding more products and versions.

  • WSO2 Enterprise Service Bus 5.0.0
  • WSO2 Enterprise Service Bus 4.9.0
  • WSO2 Enterprise Service Bus Analytics 5.0.0
  • WSO2 API Manager 2.0.0
  • WSO2 API Manager Analytics 2.0.0

One important thing to note here is, that fresh WSO2 product distributions downloaded via the wso2.com site or using WUM, are licensed under Apache 2. But the product distributions built by WUM with updates installed are licensed under WSO2 Update License 1.0. Therefore the updated product distributions are not licensed for use in production without a valid WSO2 subscription. Visit http://wso2.com/support for more information about WSO2 subscription.

Installing WUM

You can download WUM from http://wso2.com/update. Please download the binary release suitable for your operation system and processor architecture. Binary distributions are available for Linux, Mac OS, and Windows. Please follow installation instructions available on the same download page.

Once the installation is completed, open a new terminal and execute the following command. You should get the help page with all the available commands.

$ wum

Initialize WUM with your WSO2 credentials

You need to have a WSO2 account to get started with WUM. If you don’t have an account with WSO2, please create one here.

$ wum init
You need a WSO2 account to start using wum.
Don't have one yet? Sign up at https://wso2.com/user/register
Please enter your WSO2 credentials to continue
Username: sameera@wso2.com
Password for 'sameera@wso2.com':
Authenticating...
Done!
-- Welcome to WUM 1.0-beta --* Find more information at http://wso2.com/update
* Documentation: https://docs.wso2.com/display/ADMIN44x/Updating+WSO2+Products
* JIRA: https://wso2.org/jira/browse/WUM
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
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
Use "wum [command] --help" for more information about a command.Use "wum [command] --help" for more information about a command.

Local product repository

WUM maintains a local product repository in your machine, where it stores WSo2 product distributions. Whenever you update a product, WUM creates a new distribution with all these updates and stores it in this repository.
By default, WUM creates this repository in the user’s home directory, but you have the option to change this as well.

Search and add WSO2 products

Before you update any WSO2 product, you need to add the product to your local product repository. You can either download a product or add an already downloaded product. If you are not sure about what product name to use, you can use the ‘wum search’ command. If you run the search command without any arguments, it will list all the WUM supported WSO2 products.

$ wum search
Connecting to WSO2 Update...
wso2esb-5.0.0 - Enterprise Service Bus
wso2esb-analytics-5.0.0 - Enterprise Service Bus Analytics
wso2am-2.0.0 - API Manager
wso2am-analytics-2.0.0 - API Manager Analytics
wso2esb-4.9.0 - Enterprise Service Bus
What's next?
use "wum add <product>" to download a product
e.g "wum add wso2esb-5.0.0" to download Enterprise Service Bus 5.0.0

You can also search using keywords.

$ wum search api manager
Connecting to WSO2 Update...
wso2am-2.0.0 - API Manager
wso2am-analytics-2.0.0 - API Manager Analytics
What's next?
use "wum add <product>" to download a product
e.g "wum add wso2am-2.0.0" to download API Manager 2.0.0

If you look at the examples given in the “what’s next” section, you would see the expected format of the product name to use. Use the following command if you want to add the latest version of wso2esb.

$ wum add wso2esb
Connecting to WSO2 Update...
The following product(s) will be downloaded.
wso2esb-5.0.0.zip
After this operation, 218.1MB of additional disk space will be used.
Do you want to continue? [Y/n]
Downloading product wso2esb-5.0.0... [2.4MB/218.1MB]

If you want to add a specific version of wso2esb then you need to specify the version as follows:

$ wum add wso2esb-4.9.0

You also have the option to add an already downloaded product distribution using the add command.

$ wum add --file ~/user/wso2/dist/wso2esb-5.0.0.zip

Now try the following command to see the list of add products.

$ wum list

Update WSO2 products

As I’ve explained earlier, WUM creates a new product zip file with all the updates installed. But if you want to check whether updates are available before you attempt to update, you can use the “check-update” command as follows.

$ wum check-update wso2esb-4.9.0
Connecting to WSO2 Update...
Checking for latest updates for wso2esb-4.9.0...
96 updates are available
[WARNING] 11 critical security updates. WSO2 strongly recommends that you install these updates now.
What's next?
use "wum update" to install latest updates

Now let’s update the products using the “update” command

$ wum update wso2esb-4.9.0
Connecting to WSO2 Update...
Validating your subscription status for product wso2esb...
[WARNING] Your credentials are not associated with an active WSO2 subscription.
Please remember that updates are not licensed for use in production without a valid WSO2 subscription.
See:
http://wso2.com/update for more details.
Updating wso2esb-4.9.0...
96 updates are available
Downloading updates...
Installing updates...
Preparing update summary...
Building updated product...
Update summary:
Installed updates: 96
* [WARNING] WSO2 strongly recommends to use this updated product for production as soon as possible.
Security updates: 11
Updated Product: /Users/sameera/.wum-wso2/products/wso2esb/4.9.0/wso2esb-4.9.0.1472889183206.zip
* More information about updates are available inside the above product archive
Update summary(pdf): (product-archive)/updates/summary-2016-09-08T19-23-50/update-summary-1472889183206.pdf
* Configuration changes are available
Change log: (product-archive)/updates/summary-2016-09-08T19-23-50/change-log-1472889183206.txt
What's next?
use "wum list [<product-pattern>]" to list products in your local repository
use "wum describe [<product-pattern>]" to get more details of products

If you don’t have an active WSO2 subscription for wso2esb, you would get a warning as above. Which means you can use the updated product for your development activities, but you are not supposed to use it in production.

Once the update is completed, you should be able to see the updated product files in your local repository. We version updated product distributions using the timestamp of the latest update.

$ wum list
Product Updated Filename
wso2am-2.0.0 08 Sep 16 18:01 IST wso2am-2.0.0.1473322072976.zip
wso2am-2.0.0 - wso2am-2.0.0.zip
wso2esb-4.9.0 08 Sep 16 19:24 IST wso2esb-4.9.0.1472889183206.zip
wso2esb-4.9.0 - wso2esb-4.9.0.zip

Manage your product repository

There are several WUM commands available for you to manage your local product repository. “wum list” command lists all the available products. If you want to get more information about a product, you can use the “wum describe” command. It gives you the location of the product file, update history among other information

$ wum describe wso2esb-4.9.0.1472889183206.zip
Filename: wso2esb-4.9.0.1472889183206.zip
Product Name: wso2esb
Product Version: 4.9.0
Kernel Version: 4.4.1
Last Updated Time: 2016-09-08T19:23:55+05:30
Product File Path: /Users/sameera/.wum-wso2/products/wso2esb/4.9.0/wso2esb-4.9.0.1472889183206.zip
No Of Times Updated: 1
Installed Updates: 96
Update History:
Date Installed Updates Username
2016-09-08T19:23:55+05:30 96 sameera@wso2.com

In case if you want cleanup your product repository by deleting files, you can use the “wum delete” command.

$ wum delete wso2esb-4.9.0
The following product file(s) will be deleted.
wso2esb-4.9.0.1472889183206.zip
wso2esb-4.9.0.zip
Do you want to continue? [y/N]

Above command will delete all the wso2esb-4.9.0 product files including the updated files. List, describe and delete commands accepts a product pattern. Therefore you can filter out products by given a particular pattern.

We’ve released the Beta version of WUM. Try it out and let us know what you think.

--

--

Sameera Jayasoma

Lead architect and developer of Ballerina compiler and runtime, Coder, Senior Director at WSO2, Wildlife & landscape photography enthusiast