This guide takes you through the steps for upgrading product versions from DSS 3.1.0 to DSS 3.1.1. For more information on release versions, see the Release Matrix.
Preparing to Upgrade
Before starting the upgrade, the following prerequisites must be followed on the database.
- A separate staging database should run as the production database server. As a result, once the upgrade is completed, the database server should have the configurations required for a production server.
- Take backups of the database and system prior to upgrading the database. The system backup can be taken by copying the Carbon server home folder.
- Shut down all the Carbon servers connected to the database before running the upgrade scripts.
- Since a separate database (staging database) is used for the upgrade instead of the actual production database, the data that is collected in the actual production system while the upgrade is in progress should later be added to the upgraded database using a script.
- The database administrator should collect the data portion that is added to the production database, while the upgrade is in progress. Generally, the WSO2 support team will provide help in these types of situations.
If any files/folders are changing in the product pack to which you are migrating, you need to make a backup of the relevant files/folders prior to changes.
New product must not be connected to the old database without executing the upgrade script provided in the old database.
Limitations
Following are the limitations of upgrading:
- This upgrade can only be done for some database types. For example, if you are using MySQL currently and you need to migrate to Oracle in the new version, these scripts will not work.
- You cannot rollback an upgrade. It is impossible to restore a backup of the previous server and retry the migration progress.
Downtime
The downtime is limited to the time taken for switching databases when the migrating environment is connected to the production.
Upgrade Procedure
Follow the instruction below to upgrade the system:
- Stop the current server.
- Select the relevant script for the upgrade from here. Select the
migration.sql
script corresponding to your database type. E.g., If your database is MySQL, you need to executemysql-migration.sql.
Note that there are three migration scripts available:migration-service-provider.sql
,migration-identity.sql
andmigration.sql
. However, for all Carbon products except WSO2 IS, only themigration.sql
script is required to be executed. - Connect the latest production server to the database as described below:
- Configure the<PRODUCT_HOME>/repository/conf/datasources/master-datasources.xml file
. Refer configuring master-datasources.xml.
- Go to the<PRODUCT
_HOME>/repository/conf
directory and update datasource references in theuser-mgt.xml
andregistry.xml files
.
Refer configuring user-mgt.xml and configuring registry.xml. - Start the server.
Recommended Checkpoints
The databases should contain the newly added tables, which are namely as follows:UM_DOMAIN
UM_SYSTEM_USER
UM_SYSTEM_ROLE
UM_SYSTEM_USER_ROLE
Going into Production - Recommended Tests
The following are recommended tests to run on the staging system:
Create multiple user stores and try adding users to different user stores.
Create multiple tenants and add different user stores to the different tenants. Thereafter, add users to the various user stores.
The staging database should be used as the new production database with the new Carbon server. The staging server should have the configurations equivalent to the production server. Map the production domain to the staging environment, when the staging environment is running smoothly. This upgrade should be done during a period when there is low traffic on the system.
Once the above tests are run successfully, it is safe to consider that the upgrade is ready for production. However, it is always advised to carryout testing on features that are being used in production.