This site contains the documentation that is relevant to older WSO2 product versions and offerings.
For the latest WSO2 documentation, go to https://wso2.com/documentation/.

Using WSO2 In-Place Updates

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.

Given below is how to get in-place updates to your product.

Before you begin,

  • Make sure you are already using a WSO2 product. (Let's call this <PRODUCT_HOME>).
  • Make sure you have an active Internet connection.
  • Get a valid WSO2 subscription.
  • Do you have a proxy server/firewall? Then, grant access to the endpoints mentioned below.

     Expand to read more...

    WUM gets updates by connecting to the https://api.updates.wso2.com,https://cdn.updates.wso2.com,https://wso2.com, and https://product-dist.wso2.com endpoints in the WSO2 Update service. If your system connects to the Update service through a proxy server/firewall, grant access to these endpoints.Since WUM is a command-line tool, the proxy should be configured from your command-line as follows: 

    export http_proxy=http://username:password@proxyhost:port/

    If you are behind an NTLM proxy, you can use a third party tool like  CNTLM  to do the NTLM proxy authentication. See the CNTLM documentation for instructions.

  • If there are any soft links that reside inside your product distribution, please delete and recreate them once the update process is completed.

Let's begin.

  1. Stop the WSO2 product server if it is running.

  2. Go to the  <PRODUCT_HOME>/bin directory and run the in-place updates tool that is appropriate to your OS:

    Supported Windows versions are Windows 7, 10, and Windows Server 2012 R2, 2016.

    ./update_linux (On Linux)
    ./update_windows (On Windows)
    ./update_darwin (On OS X)
  3. When prompted, give the following:
    • WSO2 subscription's user credentials.
    • The channel that you subscribed to (e.g., full or security) when getting a WSO2 subscription.
  4. Note that the tool starts to update your product.

     If the tool lists any conflicts, click to see how to resolve them...

    A conflict is likely to happen  when a configuration file or artifact that you have customized has changed during the update. If a file/artifact has conflicts, the tool does not attempt to merge them. You need to manually apply the customizations on top of the updated files.

    Note that if there are conflicts identified by the tool, it is mandatory to either resolve them or revert the updates. If not, you cannot proceed.

    1. Go to the locations of the files that have conflicts and note the following files that are created by the tool:
      1. The file that has your customizations (e.g., test.jag).
      2. The file that was there in the previous update level, before customizations (e.g., test.jag.old).
      3. The file that is in the new update level, after updating (e.g., test.jag.updated).
    2. By looking at the created files (.old and .updated), resolve the conflicts and save the resolved file with the  .final extension (e.g., test.jag.final). 
    3. Run the tool again with the '--continue' flag for the tool to merge the changes in the .final file with the file that created the conflict.

      ./update_linux --continue (On Linux)
      ./update_windows --continue (On Windows)
      ./update_darwin --continue (On OS X)
    4. Go back to the location of the conflicting file and note that the tool has merged the  .final  file with the file that had your custom configurations and deleted all the other temporary files (i.e., .old.updated, and .final).

  5. Restart the server.

  6. If you want to revert the updates and restore the previous state, run the following command:

    ./update_linux --revert (On Linux)
    ./update_darwin --revert (On OS X)
    
    Currently not supported on Windows due to file restrictions.
  Click to see a list of flags and exit codes...

Here the flags:

--helpSee a list of commands the tool provides.
-t, --timestamp int
The timestamp up to which updates should be retrieved.
--dry-runSimulate the in-place update
--d, --detailsView details of the updates.
--continueMerge resolved conflicts.

Here are the exit codes:

0 Exit successfully
1Exit on error
2Exit on tool update
3Exit on merge conflict
4Exit on revert

You have now updated your product using the WSO2 in-place update tool.