Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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.

...

Tip

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
    titleExpand 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: 

    Code Block
    export http_proxy=http://username:password@proxyhost:port/
    Tip

    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:

    Tip

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

    Code Block
    ./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.

    Expand
    titleIf 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.

    Warning

    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 updating 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.

      Code Block
      ./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:

    Code Block
    ./update_linux --revert (On Linux)
    ./update_darwin --revert (On OS X)
    
    Currently not supported on Windows due to file restrictions.
Expand
title 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.