com.atlassian.confluence.content.render.xhtml.migration.exceptions.UnknownMacroMigrationException: The macro 'next_previous_links' is unknown.

Upgrading from a Previous Release

The following steps describe how to upgrade WSO2 Application Server from version 5.2.1 to 5.3.0. To upgrade from a version older than 5.2.1, start from the documentation that was released immediately after your current release and upgrade incrementally. For more information on release versions, see the Release Matrix

If you want to migrate your WSO2 AS configurations from one instance to another (such as when promoting your instance from test to production) using the same AS version, see Migrating the Application Server.

The instructions on this page takes you through the steps for upgrading from AS 5.2.1 to AS 5.3.0. This includes upgrading the database changes as well as the configurations that should follow the upgrade.

You cannot rollback the upgrade process. However, It is possible to restore a backup of the previous database and restart the upgrade progress.

Preparing to upgrade

The following prerequisites must be completed before upgrading:

The downtime is limited to the time taken for switching databases when in the production environment.

Upgrading the database/registry

There are no registry and user database schema changes between AS 5.2.1 and 5.3.0. Therefore, you do not need to do any database schema migration. 

Migrating the configurations

The following topics explain the configuration changes that need to be updated for AS 5.3.0:

Updating the configuration files

The following are the updates that need to be done to the configuration files in AS 5.3.0.

Note that configuration files should not be copied directly between servers.

  1. Create a new database for AS 5.3.0 and restore the backup of the old database in this new database.
  2. To connect AS 5.3.0 to the upgraded database, configure the following files:
    1. Configure the <AS_HOME_5.3.0>/repository/conf/datasources/master­datasources.xml file as shown in the following example:

      <datasource>
      user manager</description>
      <name>WSO2_CARBON_DB</name>
      <description>The datasource used for registry and
      <jndiConfig>
      <name>jdbc/WSO2CarbonDB</name>
      </jndiConfig>
      <definition type="RDBMS">
      <configuration>
      <url>jdbc:mysql://localhost:3306/<new_database></url>
      <username>username</username>
      <password>password</password>
      <driverClassName>com.mysql.jdbc.Driver</driverClassName>
      <maxActive>80</maxActive>
      <maxWait>60000</maxWait>
      <minIdle>5</minIdle>
      <testOnBorrow>true</testOnBorrow>
      <validationQuery>SELECT
      1</validationQuery>
      <validationInterval>30000</validationInterval>
      </configuration>
      </definition>
      </datasource>
    2. Go to the <AS _HOME_5.3.0>/repository/conf/ directory and update the datasource references in the user-­mgt.xml and registry.xml files to match the updated configurations in the master­datasources.xml file. The following are sample configurations if the datasource is “jdbc/WSO2CarbonDB”:

      registry.xml

      <dbConfig name="wso2registry">
      <dataSource>jdbc/WSO2CarbonDB</dataSource>
      </dbConfig>

      user­mgt.xml

      <UserManager>
      <Realm>
      <Configuration>
      ...
      <Property
      name="dataSource">jdbc/WSO2CarbonDB</Property>
      </Configuration>
      ...
      </Realm>
      </UserManager>
  3. Data services feature is no longer shipped with WSO2 Application Server. If you need to use the data services hosting feature, you have two options:
    1. Install the Data Services hosting feature from the public p2-repo. See Installing Features for instructions.

    2. Use the WSO2 Data Services Server product which can be downloaded from http://wso2.com/products/data-services-server/. See the About this Release page to check if the latest WSO2 DSS is compatible with the current AS version.

  4. The configurations for SaaS web applications has changed in AS 5.3.0. In previous releases, SaaS configurations were enabled in the web.xml file of the web application by adding a context-param called carbon.enable.saasIn AS 5.3.0, SaaS is configured via the context.xml file that needs to be placed under the META-INF/ folder of the web application. See more details about configuring SaaS applications in AS 5.3.0 from here.
  5. Prior to AS 5.3.0, the primary keystore configured in the carbon.xml file was used for securing transports. In AS 5.3.0, the keystore used for transports should be separately configured in the catalina-server.xml file.

    The “RegistryKeyStore” configuration in carbon.xml is removed. See the section on configuring keystores for more information.

  6. Check for any other configurations that were done for AS 5.2.1 (based on your solutions), and update the configuration files in AS 5.3.0 accordingly. For example, external user stores, caching, mounting, etc.

Migrating third party libraries

If there are third party libraries used with AS 5.2.1 that you want to migrate, copy them to the following directories in AS 5.3.0 as applicable.

  1. If you have used JDBC drivers etc, copy them to the <AS_HOME>/repository/components/lib directory.
  2. If you have used OSGi bundles such as SVNKit etc, copy them to the <AS_HOME>/repository/components/dropins directory.   

Migrating the services and artifacts

You can migrate all artifacts relevant to the super tenant as well as the ordinary tenants by copying the following directories from the old server to the new server.

  1. To migrate the super tenant’s artifacts, copy the <AS_HOME>/repository/deployment/server/ directory from AS 5.2.1 to AS 5.3.0.

  2. If you are using multi­tenancy, copy the <AS_HOME>/repository/tenants directory from AS 5.2.1 to AS 5.3.0.

  3. Since the Axis2 Quality of Services UI to apply policies such security has been removed from the management console, users need to use alternative mechanisms and apply the policies for their services. For Axis2 AAR services, the policies can be applied through the services.xml.

  4.  In AS 5.3.0, it is not possible to globally engage modules using the management console. Therefore, you need to update the axis2.xml file in the <AS_HOME>/repository/conf/axis2 directory as shown below. You can find more information on engaging modules for axis2 services from here.

    <axisconfig name="AxisJava2.0">
        <module ref=”addressing”/>
        ....
    </axisconfig>

Testing the upgrade

  1. When the database upgrade scripts are executed, the following are some of the new tables that will be created in the database:
    • UM_DOMAIN
    • UM_SYSTEM_USER
    • UM_SYSTEM_ROLE
    • UM_SYSTEM_USER_ROLE
  2. Verify that all the required scenarios are working as expected as shown below. This confirms that the upgrade is successful.
    1. Start the AS 5.3.0 server instance once the configurations are done.

    2. Make sure that the server starts up fine without any errors.

    3. Test the deployed artifacts:
      1. Log in to the management console as the super tenant.

      2. Navigate to Main -> Applications -> List.

      3. Verify the web application list shown there.

      4. Invoke a web application to verify that it works.


      5. Then, navigate to Main -> Services -> List.

      6. Verify the services list shown there.

      7. Invoke a service to verify that it works.
         

      8. Then, navigate to Main -> Carbon Applications -> List.

      9. Verify the CApp list shown there.
    4. Verify that the Users and Roles are picked up:

      1. Navigate to Configure -> Accounts & Credentials -> Users and Roles

      2. Verify that the list of users and roles are shown correctly.

      3. View the permissions of a chosen role, and make sure that the permissions are correct.
    5. If you are using multitenancy,

      1. Log in to the management console using the super tenant credentials.

      2. Navigate to Configure -> View Tenants.

      3. Verify the tenant list shown there.

      4. Then, log in to the system as a tenant and make sure that the log in is successful.
com.atlassian.confluence.content.render.xhtml.migration.exceptions.UnknownMacroMigrationException: The macro 'next_previous_links2' is unknown.