Page History
...
Back up the databases in your API Manager instances and synapse configs in of all the tenants, including the super tenant.
You find the synapse configs in<APIM_1.8.0_HOME>/repository/deployment/server/synapse-config/default.
For the synapse configurations of tenants, look in<APIM_1.8.0_HOME>/repository/tenants/<tenant_id>/deployment/server/
synapse-config/default
.
If you use a clustered/distributed API Manager setup, back up the configs in the API Gateway node.- Download the API Manager 1.9.0 from http://wso2.com/products/api-manager/.
Open the
<APIM_1.9.0_HOME>/repository/conf/datasources/master-datasources.xml
file and provide the datasource configurations for the following databases. You can copy the configurations from the same file in the API Manager 1.8.0 instance.- User Store
- Registry database
- API Manager Databases
Edit the registry configurations in the
<APIM_1.9.0_HOME>/repository/config/registry.xml
and the user database in the<APIM_1.9.0_HOME>/repository/conf/user-mgt.xml
file.Move all your synapse configurations by copying and replacing
<APIM_1.8.0_HOME>/repository/deployment/server/synapse-config/default
directory to<APIM_1.9.0_HOME>/repository/deployment/server/synapse-config/default
directory.Warning NOTE: Do not replace the
_TokenAPI_.xml
,_RevokeAPI_.xml
and_AuthorizeAPI_.xml
files in the/default/api
sub directory unless you use a custom token endpoint. They are application-specific APIs.Warning When you move the synapse configs, you must copy and replace. Make sure you do not delete any existing files in the
<APIM_1.9.0_HOME>/repository/deployment/server/synapse-config/default
directory, such as the _cors_request_handler
.xml
. This causes 'artifact not found' exceptions.
Upgrading the API Manager from 1.8.0 to 1.9.0
- Stop all running API Manager server instances.
Make sure you backed up all the databases and synapse configs as instructed in step 1 of the previous section.
Download the WSO2 API Manager Migration Client v1.9.X.
- Extract the file you downloaded in the previous step and do the following:
- Copy the
org.wso2.carbon.apimgt.migrate.client-1.9.X.jar
file to<APIM_1.9.0_HOME>/repository/components/dropins
. If you use a clustered/distributed API Manager setup, copy the JAR file to all nodes. - Copy the
migration-script
folder into<APIM_1.9.0_HOME>/
. If you use a clustered/distributed API Manager setup, copy the migration-script folder to the node that hosts your database.
- Copy the
If you are not using the MySQL database with the API Manager, change the query inside
<APIM_1.9.0_HOME>/migration-scripts/18-19-migration/drop-fk.sql
according to your database type. The scripts for each database type are given in the table below:Database type Script MySQL No changes are required as the default drop-fk.sql
file already contains the scripts for MySQL.H2 SELECT DISTINCT constraint_name FROM information_schema.constraints WHERE table_name = 'AM_APP_KEY_DOMAIN_MAPPING';
ALTER TABLE AM_APP_KEY_DOMAIN_MAPPING DROP CONSTRAINT <temp_key_name>;
Oracle SELECT DISTINCT constraint_name FROM user_cons_columns WHERE table_name = 'AM_APP_KEY_DOMAIN_MAPPING';
ALTER TABLE AM_APP_KEY_DOMAIN_MAPPING DROP CONSTRAINT <temp_key_name>;
MS SQL Server SELECT CONSTRAINT_NAME FROM INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE WHERE TABLE_NAME = 'AM_APP_KEY_DOMAIN_MAPPING' AND COLUMN_NAME='CONSUMER_KEY';
ALTER TABLE AM_APP_KEY_DOMAIN_MAPPING DROP CONSTRAINT <temp_key_name>;
Postgresql SELECT CONSTRAINT_NAME FROM information_schema.constraint_table_usage WHERE TABLE_NAME = 'AM_APP_KEY_DOMAIN_MAPPING';
ALTER TABLE AM_APP_KEY_DOMAIN_MAPPING DROP CONSTRAINT <temp_key_name>;Start the API Manager 1.9.0 with the following command line options to migrate the database, registry and the file system together or separately.
Warning If you have a multitenant API Manager setup, copy the contents from your previous
<APIM_HOME>/repository/tenants
directory to the same directory in the API Manager 1.9.0 (do not replace the_TokenAPI_.xml
,_RevokeAPI_.xml
and_AuthorizeAPI_.xml
files in the/default/api
sub directory) before you start the server with the following commands.To migrate the database, registry and file system together -Dmigrate=true -DmigrateToVersion=1.9 To migrate the database only -DmigrateDB=true -DmigrateToVersion=1.9 To migrate the registry only -DmigrateReg=true -DmigrateToVersion=1.9 To migrate the file system only -DmigrateFS=true -DmigrateToVersion=1.9 Tip Tip: Make sure you do not delete any new files added in <APIM_1.9.0or If you get an 'artifact not found' exception
Tip Tip: If you are using a standalone API Manager setup, you can migrate all the resources together with the -Dmigrate=true -DmigrateToVersion=1.9 command, or perform single-resource migrations using the other commands separately. If you execute -Dmigrate=true -DmigrateToVersion=1.9, you do not need to execute the rest of the commands.
Tip Tip: If you are using a clustered/distributed API Manager setup, runwith the following options -DmigrateDB=true -DmigrateReg=true -DmigrateToVersion=1.9 in the API Publisher node and the -DmigrateFS=true -DmigrateToVersion=1.9 options in the API Gateway node.
Optionally, to migrate the API stats DB, use the following options when running the API Publisher node: -DmigrateStats=true -DmigrateToVersion=1.9 when running on the API Publisher node.
Do the following to re-index the artifacts in the registry:
Rename the
<lastAccessTimeLocation>
element in the<APIM_1.9.0_HOME>
/repository/conf/registry.xml
file. If you use a clustered/distributed API Manager setup, change the file in the API Publisher node. For example, change the/_system/local/repository/components/org.wso2.carbon.registry/indexing/lastaccesstime
registry path to/_system/local/repository/components/org.wso2.carbon.registry/indexing/lastaccesstime_1.
Shut down the API Manager 1.9.0, back up and delete the
<APIM_1.9.0_HOME>
/solr
directory and restart the server.
...