Perform the Migration
1. If the new and old API Portals are on the same machine, make sure the old API Portal is shut down.
2. If you installed the new API Portal in a clustered, high-availability setup, make sure all nodes are running and accessible to the Zookeeper ensemble. Then register all the nodes with the parent node by invoking the REST service shown below. The default for the cloud agent port is 18012.
The table below provides details about the REST service.
Parameter | Value |
End point | http://load_balancer_host:load_balancer_port/acc/rest/nodes/ |
Method type | POST |
Content type | application/json |
Payload | {"nodename": "host_name", "hostname": "host_name", "port": "cloud_agent_port", "username": "Clous", "password": "g3h31m“} |
3. Start the new API Portal Cloud Controller.
4. Run this command:
acc> startall
5. For each tenant in the old API Portal, create a corresponding tenant in the new API Portal and then import the license for the new tenant. For instructions, see webMethods API Portal Administrator’s Guide.
6. For each new tenant you created, restore the data for the corresponding old tenant into the new API Portal from the backup file you created earlier by running the commands below. Each file has the file extension .acb.
Important:
Inform API Portal users that they cannot work on the tenants during the restoration process.
Important:
If the new tenant contains any data, the data will be replaced by the data you restore from the old tenant. Only the user metadata will be merged.
The table below explains how to restore each old tenant’s data into the new API Portal for each old product release.
Old release | Run these commands... |
9.9 9.10 9.12 | acc> set acc config backup.restore.tenant.app.types = UMC, ABS, ADS, ECP acc> restore tenant tenant_name from full_path_to_backup_file username=your_user_name password=your_password acc> invoke prepareTenant on bundle_runnable_name tenant.name=tenant_name |
10.1 10.3 10.4 10.5 | acc> restore tenant tenant_name from full_path_to_backup_file username=your_user_name password=your_password acc> invoke prepareTenant on bundle_runnable_name tenant.name=tenant_name |