Introduction
This page will guide you through the process of migrating from an old Kiuwan On-Premises Monolithic installation to the new Kiuwan On-Premises distributed version.
Note that the installation tool used for each version is different:
- Kiuwan On-Premises Monolithic version: The installation tool is named "docker-for-kiuwan".This tool is now DEPRECATED and will not be updated anymore.
- Kiuwan On-Premises Distributed version: The installation tool is named "kiuwan-cluster".
Migration process
Step 1: Upgrade your single-container installation
First of all, you need to upgrade your current installation to the latest available. A complete upgrade (both Kiuwan and clients) is needed, you can obtain the latest version here.
Please follow the steps shown in Kiuwan On-Premises Monolithic Installation Guide - Upgrading your KOP installation in order to upgrade.
Once the upgrade is completed, you should see these versions in the KOP system administration console:
Step 2: Stop the old Kiuwan On-Premises server
First, make sure there are no running analyses before stopping the application server. You can check this in the sysadmin console:
- Log in your old Kiuwan On-Premises with sysadmin user.
- Access the Queues option in the upper right dropdown menu.
- Click on the "Active analyses" button and check if the table shows any running or pending analysis.
If you are using an automation tool to launch Kiuwan analyses, make sure you pause the needed jobs so no more analyses enter the Kiuwan queues.
Once there are no more active analyses, you should wait for Redis queues to be completely freed before stopping the Kiuwan server. This should take up to 30 minutes maximum.
To stop the running Kiuwan and prevent creating more data before backing it up, run these commands in the Kiuwan On-Premises host:
docker exec -it [kiuwan_on_premise_container_name] /bin/bash supervisorctl stop wildfly exit
Step 3: Backup your data
Now that the application server is stopped but not the container itself, you can access the MySQL server and persistent volume to backup your data.
Using mysqldump or MySQL Workbench (using self-contained file is recommended), backup these data and structure schemas:
- opt_activity
- opt_cinc
- opt_insight
- opt_metamodel
- opt_qmm
- opt_transaction
Access your persistent volume and backup central and source code repositories, located in:
- $DIR_PERSISTENT_VOLUME/$KIUWAN_HOST/KiuwanCentralWorkingDirectory
- $DIR_PERSISTENT_VOLUME/$KIUWAN_HOST/repos/kiuwanSourceCodeRepository
Step 4: Install a new Kiuwan On-Premises using the new installer tool (kiuwan-cluster)
Follow the steps provided in the Kiuwan On-Premises Installation Guide to prepare the new installation of Kiuwan On-Premises, but do NOT perform the installation step (that may be executing install.sh or other scripts depending on your installation needs).
We recommend using a new host(s) machine(s), so the old installation does not interfere in any way.
If it is mandatory for you to use the same machine to install the new Kiuwan On-Premises, please make sure no persistent volume paths collide.
Step 5: Restore the repository data
To restore the repository data into the new persistent volumes, copy the persistent volume backup to these folders:
- KiuwanCentralWorkingDirectory should be copied to [VOLUMES_DIR]/data-shared/repos/kiuwanCentralRepository
- kiuwanSourceCodeRepository should be copied to [VOLUMES_DIR]/data-shared/repos/kiuwanSourceCodeRepository
Step 6: Start new Kiuwan On-Premises infrastructure
Execute these commands to create and start the new Kiuwan On-Premises infrastructure:
cd [INSTALLER_DIR]/docker sudo ./create-network.sh sudo ./install-infrastructure.sh sudo ./start-infrastructure.sh
Step 7: Restore the database
Restore the MySQL backup, either using mysqldump or MySQL Workbench restore utility (import from self-contained file is recommended).
You should connect to the MySQL server provided or the one you have installed if you choose to externalize this service.
After restoring the backup, execute this script to update the connection settings stored in the database. Remember to replace:
- [MYSQL_HOST] with your MySQL server host.
- [MYSQL_PORT] with your MySQL server port.
UPDATE opt_cinc.INFRA_TENANT_METADATA SET connectionUrls = '[MYSQL_HOST]:[MYSQL_PORT]' WHERE tenantId <> '0';
Step 8: Complete the migration process
This last step forces Kiuwan On-Premises to update to the current version (the one tied to the used kiuwan-cluster distribution). Execute in your new Kiuwan host console:
echo "2.8.1904.8" > [VOLUMES_DIR]/data-shared/publicData/current.version cd [INSTALLER_DIR]/docker sudo ./update.sh sudo ./start-kiuwan.sh
Please double check to set the current.version file contents as specified in this step. Any other content will make the whole migration process fail.
Step 9: Check your data and discard the old installation
Once the Kiuwan On-Premises servers are up, you can access your new installation using the same username and password and all the previous data will be there.
If you miss any data, please make sure that:
- The database backup and restore process were completed successfully.
- You have correctly backed up and restored the repository data.
Once you have checked everything is fine, you can discard the old installation.