Page History
This page walks you through the process of upgrading to WSO2 Enterprise Integrator (WSO2 EI) 6.5.0 from WSO2 Enterprise Service Bus (WSO2 ESB) 5.0.0.
Info | |||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Before you begin, note the following:
|
See the following topics for instructions:
Table of Contents |
---|
Preparing to upgrade
The following prerequisites must be completed before upgrading:
- Create a backup of the databases in your WSO2 ESB 5.0.0 instance.
- Copy the
<ESB_HOME>
directory to back up the product configurations. - Download the product installer from here, and install WSO2 EI 6.5.0.
Excerpt Include Installing the Product Installing the Product nopanel true
Info |
---|
The downtime is limited to the time taken for switching databases in the production environment. |
Upgrading the databases
You can use the same databases that you used for WSO2 ESB 5.0.0 with WSO2 EI 6.5.0. However, you need to apply the changes discussed below. Once these changes are done, you can connect your WSO2 EI 6.5.0 instances to the old databases.
As per the Security Advisory (WSO2-2017-0345), WSO2 EI 6.5.0 uses OAEP for data encryption in addition to the RSA algorithm (which is used in WSO2 ESB 5.0.0). Therefore, the internally-encrypted data in your current databases (such as datasource configurations, syslog passwords, user store configurations, keystore registry entries, service security policies, event publisher configurations, event receiver configurations, and event sink configurations), as well as data encrypted using secure vault (such as plain text passwords in configuration files and synapse configurations) should be re-encrypted using OAEP.
To re-encrypt all internally-encrypted data using OAEP:
Get the latest WUM updates (later than the update level released on 18/04/2018) for your WSO2 ESB 5.0.0. This will give you a new WSO2 ESB 5.0.0 distribution with the latest updates.
Connect the WUM-updated ESB distribution to your existing databases (which are used for registry data, and user management data):
Panel borderColor #542989 bgColor #ffffff borderWidth 1 Expand title Connecting to the database Open the
master-datasources.xml
file (stored in the<WUM_UPDATED_ESB_HOME>/repository/conf/datasources/
directory) and update the parameters given below.Tip By default, registry and user management data are stored in one database and is configured in the
m
aster-datasources.xml
file. If you have separate databases for registry and user management data, you may have separate datasource configurations.Element Description url The URL of the database. username and password The name and password of the database user. driverClassName The class name of the database driver. Open the
registry.xml
file (stored in the<WUM_UPDATED_ESB_HOME>/repository/conf
directory) and specify the datasource name of the registry database.Code Block <dbConfig name="wso2registry"> <dataSource>jdbc/MY_DATASOURCE_NAME</dataSource> </dbConfig>
If a JDBC user store is used in your ESB, open the
user-mgt.xml
file (stored in the<WUM_UPDATED_ESB_HOME>/repository/conf/
directory), and update the following database connection parameters under the<UserStoreManager class="org.wso2.carbon.user.core.jdbc.JDBCUserStoreManager">
section.Element Description url The URL of the database. username and password The name and password of the database user. driverClassName The class name of the database driver. Further, update the system administrator configurations and the datasource name in the
user-mgt.xml
file.Encrypt the plain text passwords that you added to the configuration files (
master-datasources.xml
,user-mgt.xml
, etc.).
Be sure that the
carbon.properties
file is included in the<WUM_UPDATED_ESB_HOME>/repository/conf/
directory with the following parameter:Code Block org.wso2.CipherTransformation=RSA/ECB/OAEPwithSHA1andMGF1Padding
- Start the WUM-updated ESB server. This will re-encrypt the data in the databases.
- To re-encrypt plain text strings using OAEP:
Connect the ESB profile of WSO2 EI to your existing databases (which are used for registry data, and user management data):
Panel borderColor #542989 bgColor #ffffff borderWidth 1 Expand title Connecting to the database Open the
master-datasources.xml
file (stored in the<EI_HOME>/conf/datasources/
directory) and update the parameters given below.Tip By default, registry and user management data are stored in one database and is configured in the
m
aster-datasources.xml
file. If you have separate databases for registry and user management data, you may need separate datasource configurations.Element Description url The URL of the database. username and password The name and password of the database user. driverClassName The class name of the database driver. Open the
registry.xml
file (stored in the<EI_HOME>/conf
directory) and specify the datasource name.Code Block <dbConfig name="wso2registry"> <dataSource>jdbc/MY_DATASOURCE_NAME</dataSource> </dbConfig>
If a JDBC user store is used, open the
user-mgt.xml
file (stored in the<EI_HOME>/conf/
directory), and update the following database connection parameters under the<UserStoreManager class="org.wso2.carbon.user.core.jdbc.JDBCUserStoreManager">
section.Element Description url The URL of the database. username and password The name and password of the database user. driverClassName The class name of the database driver. Further, update the system administrator configurations and the datasource name in the
user-mgt.xml
file.
The keystores for WSO2 EI 6.5.0 need to be setup and configured in order to perform this data re-encryption.Anchor keystore_migration keystore_migration - Migrate the keystores and truststores from WSO2 ESB 5.0.0 to WSO2 EI 6.5.0 by copying the files from the
<ESB_HOME>/repository/resources/security
directory to the same directory in WSO2 EI 6.5.0. Open the
carbon.xml
file (stored in the<EI_HOME>/conf/
directory), and update the details of the keystore used for data encryption.Panel borderColor #542989 bgColor #ffffff borderWidth 1 Expand title Using a common keystore for data encryption and SSL signing? Update the following configuration element:
Code Block <KeyStore> <Location>${carbon.home}/resources/security/wso2carbon.jks</Location> <Type>JKS</Type> <Password>wso2carbon</Password> <KeyAlias>wso2carbon</KeyAlias> <KeyPassword>wso2carbon</KeyPassword> </KeyStore> <TrustStore> <!-- trust-store file location --> <Location>${carbon.home}/repository/resources/security/client-truststore.jks</Location> <!-- trust-store type (JKS/PKCS12 etc.) --> <Type>JKS</Type> <!-- trust-store password --> <Password>wso2carbon</Password> </TrustStore>
Expand title Using a separate keystore exclusively for data encryption? Add the following configuration element under
<Security>
in thecarbon.xml
file, and update the values:Code Block <InternalKeyStore> <Location>${carbon.home}/repository/resources/security/internal.jks</Location> <Type>JKS</Type> <Password>wso2carbon</Password> <KeyAlias>wso2carbon</KeyAlias> <KeyPassword>wso2carbon</KeyPassword> </InternalKeyStore>
See Configuring Keystores in WSO2 Products for more information.
- Migrate the keystores and truststores from WSO2 ESB 5.0.0 to WSO2 EI 6.5.0 by copying the files from the
Create the
<EI_HOME>/migration/
directory, copy themigration-conf.properties
file, and update the following values:keystore.identity.location The location of the keystore that is used for data encryption in WSO2 EI 6.5.0. By default, this is <EI_HOME>/repository/resources/security/wso2carbon.jks
.keystore.identity.key.password The key password of the keystore. By default, this is wso2carbon. admin.user.name The user name of the system administrator. - Copy the migration JAR file to the
<EI_HOME>/dropins/
directory. Start the ESB profile of WSO2 EI:
Open a terminal and navigate to the
<EI_HOME>/bin/
directory.Execute the product start up script with the '-Dmigrate' command as shown below.
Panel borderColor #542989 bgColor #ffffff borderWidth 1 Localtab Group Localtab title On MacOS/Linux/CentOS Open a terminal and execute the following command:
Code Block sh integrator.sh -Dmigrate
Localtab title On Windows Open a terminal and execute the following command:
Code Block integrator.bat -Dmigrate
The relevant data is now re-encrypted.
- Once the migration is successful, stop the server and delete the migration JAR (
org.wso2.carbon.ei.migration-6.5.0.jar)
from the<EI_HOME>/dropins/
directory.
Migrating the ESB
Follow the instructions given below to upgrade from WSO2 ESB 5.0.0 to WSO2 EI 6.5.0.
Migrating ESB configurations
Note |
---|
Do not copy configuration files directly between servers. Instead, update the files manually. |
To migrate all the required folders, files, libraries, etc. from WSO2 ESB 5.0.0 to the ESB profile of WSO2 EI 6.5.0:
- Copy the database connector JAR files stored in the
<ESB_HOME>/repository/components/lib
directory to the<EI_HOME>/lib
directory. You need to migrate the keystores and truststores used in the WSO2 ESB 5.0.0 from the
<ESB_HOME>/repository/resources/security
directory to the same directory in WSO2 EI 6.5.0.Tip Note that you have already completed this keystore migration before upgrading the ESB databases.
- If you have secondary user stores created for WSO2 ESB 5.0.0, you need to copy the 'userstore' folder in the
<ESB_HOME>/repository/deployment/server/
directory to the same directory in WSO2 EI 6.5.0. - If there are any third-party libraries used with WSO2 ESB 5.0.0 that you want to migrate, copy the relevant libraries to WSO2 EI 6.5.0:
- If you have used JMS libraries, JDBC libraries, etc., copy the files from the
<ESB_HOME>/repository/components/lib
directory to the<EI_HOME>/lib
directory. - If you have used OSGi bundles such as SVN kit etc., copy the contents of the
<ESB_HOME>/repository/components/dropins
directory to the<EI_HOME>/dropins
directory.
- If you have used JMS libraries, JDBC libraries, etc., copy the files from the
Anchor | ||||
---|---|---|---|---|
|
Info | |||||||
---|---|---|---|---|---|---|---|
Before you begin, note the following changes that affect your configuration files:
|
- Update the configuration files with information of the migrated keystores and truststores. See Configuring Keystores in WSO2 products for more information. Note that some keystore configurations were already updated before upgrading the ESB databases.
- Go to the
<EI_HOME>/conf/datasources
directory and update the Carbon datasource configuration in themaster-
datasources.
xml file. Note that some configurations in this file were already updated before upgrading the ESB databases. For instructions, see Changing the Carbon Database and select your database type. Go to the
<EI_HOME>/conf
directory and update the datasource references in theuser-mgt.xml
andregistry.xml
files to match the updated configurations in themaster-datasources.xml
file. Note that some configurations in these files were already updated before upgrading the ESB databases. The instructions are available in Changing the Carbon Database.Check for any other configurations that were done for WSO2 ESB 5.0.0 based on your solution, and update the configurations in WSO2 EI 6.5.0 accordingly. For example, check the configurations related to external user stores, caching, mounting, transports, etc.
Migrating ESB artifacts
Info | ||
---|---|---|
| ||
Before you begin, note the following changes that may affect your ESB artifacts.
|
You should manually deploy the Composite Application Archive (CAR) files that you have in WSO2 ESB 5.0.0 to WSO2 EI 6.5.0.
- To migrate deployment artifacts including message flow configurations, copy the required Synapse artifacts from the
<ESB_HOME>/repository/deployment/server/synapse-configs/default
directory to the same directory in WSO2 EI 6.5.0. - To migrate connector artifacts:
- Create a folder named
synapse-libs
in the<EI_HOME>/repository/deployment/server/synapse-configs/default/
directory, and copy the JARs from the directory by the same name in WSO2 ESB 5.0.0. Note that this directory will not exist in your WSO2 ESB 5.0.0 distribution if no connectors are used. - Copy the JARs from the
<ESB_HOME>/repository/deployment/server/synapse-configs/default/imports
directory to the same directory in WSO2 EI 6.5.0.
- Create a folder named
- If you have custom artifacts created in the
<ESB_HOME>/repository/deployment/server/
directory, copy them to the same directory in WSO2 EI 6.5.0.
Migrating tenant artifacts (ESB)
If multitenancy is used, copy the tenant artifacts of the ESB from the <ESB_HOME>/repository/tenants
directory to the same directory in WSO2 EI 6.5.0.
Note | |||||
---|---|---|---|---|---|
You may not be able to access the tenant domain after migrating to EI 6.5.0. To fix this issue, change the tenant’s main sequence located in
|
Migrating the ESB Analytics
Follow the instructions given below to upgrade ESB Analytics to the Analytics profile of WSO2 EI 6.5.0. This migration is necessary only if Analytics was used with your ESB 5.0.0 installation.
Migrating Analytics configurations
Note |
---|
Do not copy configuration files directly between servers. Instead, update the files manually. |
To migrate all the required folders, files, libraries, etc.:
- Copy the database connector JAR files stored in the
<ESB_5.0.0_ANALYTICS_HOME>/repository/components/lib
directory to the<EI_HOME>/wso2/analytics/repository/components/lib
directory in WSO2 EI 6.5.0. - Copy the keystores and truststores from the
<ESB_5.0.0_ANALYTICS_HOME>/repository/resources/security
directory to the<EI_HOME>/wso2/analytics/repository/resources/security
directory in WSO2 EI 6.5.0. - If you have secondary user stores created for WSO2 ESB Analytics 5.0.0, you need to copy the 'userstore' folder in the
<ESB_5.0.0_ANALYTICS_HOME>/repository/deployment/server/
directory to the<EI_HOME>/wso2/analytics/repository/deployment/server/
directory in WSO2 EI 6.5.0.
Anchor | ||||
---|---|---|---|---|
|
- Update the configuration files with information of the migrated keystores and truststores. See Configuring Keystores in WSO2 products for more information.
- Go to the
<EI_HOME>/wso2/analytics/conf/datasources
directory and update the Carbon datasource configuration in themaster-
datasources.
xml file with the details of the Carbon database. For instructions, see Changing the Carbon Database and select your database type. - Go to the
<EI_HOME>/wso2/analytics/conf/datasources
directory and update the datasource configuration in theanalytics-
datasources.
xml file with the details of the Analytics-specific databases. - Go to the
<EI_HOME>/wso2/analytics/conf
directory and update the datasource references in theuser-mgt.xml
andregistry.xml
files to match the updated configurations in themaster-datasources.xml
file. The instructions are available in Changing the Carbon Database. - Go to the
<EI_HOME>/wso2/analytics/conf/analytics/
directory and update therdbms-config.xml
file according to the configurations in the same file of your previous Analytics installation. - Go to the <
EI_HOME>/wso2/analytics/conf/data-bridge
directory in WSO2 EI 6.5.0 and update the configuration files according to the configurations in the previous installation. Go to the
<EI_HOME>/wso2/analytics/conf
directory and update theevent-processor.xml
file according to the configurations in the previous installation.Info If you enable the HA mode for ESB Analytics by setting the
<mode name="HA" enable="true">
property in theevent-processor.xml
file, state persistence is enabled by default. If there is no real-time use case that requires any state information after starting the cluster, you should disable event persistence by setting thepersistence
attribute tofalse
in the same file as shown below.Code Block language xml <persistence enable="false"> <persistenceIntervalInMinutes>15</persistenceIntervalInMinutes> <persisterSchedulerPoolSize>10</persisterSchedulerPoolSize> <persister class="org.wso2.carbon.event.processor.core.internal.persistence.FileSystemPersistenceStore"> <property key="persistenceLocation">cep_persistence</property> </persister> </persistence>
Enable WSO2 EI 6.5.0 to publish ESB statistics to the Analytics profile by following the instructions in Publishing ESB Analytics Data.
Info Note that in EI 6.5.0, you need to configure the
<EI_HOME>/conf/carbon.xml file
to enable the ESB server to publish statistics, whereas in WSO2 ESB, you need to configure the<ESB_HOME>/repository/deployment/server/eventpublishers/MessageFlowConfigurationPublisher.xml
and<ESB_HOME>/repository/deployment/server/eventpublishers/MessageFlowStatisticsPublisher.xml
file instead.- Check for any other configurations that were done for WSO2 ESB 5.0.0 Analytics based on your solution and update the configurations in WSO2 EI 6.5.0 accordingly. For example, check the configurations related to external user stores, caching, mounting, transports etc.
Migrating tenant artifacts (Analytics)
If you are using multitenancy, copy the <ESB_5.0.0_ANALYTICS_HOME>/repository/tenants
directory to the <EI_HOME>/wso2/analytics/repository/tenants
directory of WSO2 EI 6.5.0.